diff options
Diffstat (limited to 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/crypto/des/rand_key.c')
-rw-r--r-- | roms/edk2/CryptoPkg/Library/OpensslLib/openssl/crypto/des/rand_key.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/crypto/des/rand_key.c b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/crypto/des/rand_key.c new file mode 100644 index 000000000..fe8aefec3 --- /dev/null +++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/crypto/des/rand_key.c @@ -0,0 +1,21 @@ +/* + * Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include <openssl/des.h> +#include <openssl/rand.h> + +int DES_random_key(DES_cblock *ret) +{ + do { + if (RAND_priv_bytes((unsigned char *)ret, sizeof(DES_cblock)) != 1) + return 0; + } while (DES_is_weak_key(ret)); + DES_set_odd_parity(ret); + return 1; +} |