diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/crypto/pbkdf-gcrypt.c | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/crypto/pbkdf-gcrypt.c')
-rw-r--r-- | qemu/crypto/pbkdf-gcrypt.c | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/qemu/crypto/pbkdf-gcrypt.c b/qemu/crypto/pbkdf-gcrypt.c deleted file mode 100644 index 997b311d8..000000000 --- a/qemu/crypto/pbkdf-gcrypt.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * QEMU Crypto PBKDF support (Password-Based Key Derivation Function) - * - * Copyright (c) 2015-2016 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see <http://www.gnu.org/licenses/>. - * - */ - -#include "qemu/osdep.h" -#include "qapi/error.h" -#include "crypto/pbkdf.h" -#include "gcrypt.h" - -bool qcrypto_pbkdf2_supports(QCryptoHashAlgorithm hash) -{ - switch (hash) { - case QCRYPTO_HASH_ALG_MD5: - case QCRYPTO_HASH_ALG_SHA1: - case QCRYPTO_HASH_ALG_SHA256: - return true; - default: - return false; - } -} - -int qcrypto_pbkdf2(QCryptoHashAlgorithm hash, - const uint8_t *key, size_t nkey, - const uint8_t *salt, size_t nsalt, - unsigned int iterations, - uint8_t *out, size_t nout, - Error **errp) -{ - static const int hash_map[QCRYPTO_HASH_ALG__MAX] = { - [QCRYPTO_HASH_ALG_MD5] = GCRY_MD_MD5, - [QCRYPTO_HASH_ALG_SHA1] = GCRY_MD_SHA1, - [QCRYPTO_HASH_ALG_SHA256] = GCRY_MD_SHA256, - }; - int ret; - - if (hash >= G_N_ELEMENTS(hash_map) || - hash_map[hash] == GCRY_MD_NONE) { - error_setg(errp, "Unexpected hash algorithm %d", hash); - return -1; - } - - ret = gcry_kdf_derive(key, nkey, GCRY_KDF_PBKDF2, - hash_map[hash], - salt, nsalt, iterations, - nout, out); - if (ret != 0) { - error_setg(errp, "Cannot derive password: %s", - gcry_strerror(ret)); - return -1; - } - - return 0; -} |