diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/p5_pbev2.c')
| -rw-r--r-- | src/lib/libcrypto/asn1/p5_pbev2.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/lib/libcrypto/asn1/p5_pbev2.c b/src/lib/libcrypto/asn1/p5_pbev2.c index 8085aba453..0947965219 100644 --- a/src/lib/libcrypto/asn1/p5_pbev2.c +++ b/src/lib/libcrypto/asn1/p5_pbev2.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p5_pbev2.c,v 1.17 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbev2.c,v 1.18 2014/10/22 13:02:03 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 1999-2004. | 3 | * project 1999-2004. |
| 4 | */ | 4 | */ |
| @@ -57,11 +57,11 @@ | |||
| 57 | */ | 57 | */ |
| 58 | 58 | ||
| 59 | #include <stdio.h> | 59 | #include <stdio.h> |
| 60 | #include <stdlib.h> | ||
| 60 | #include <string.h> | 61 | #include <string.h> |
| 61 | 62 | ||
| 62 | #include <openssl/asn1t.h> | 63 | #include <openssl/asn1t.h> |
| 63 | #include <openssl/err.h> | 64 | #include <openssl/err.h> |
| 64 | #include <openssl/rand.h> | ||
| 65 | #include <openssl/x509.h> | 65 | #include <openssl/x509.h> |
| 66 | 66 | ||
| 67 | /* PKCS#5 v2.0 password based encryption structures */ | 67 | /* PKCS#5 v2.0 password based encryption structures */ |
| @@ -121,9 +121,8 @@ PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, unsigned char *salt, | |||
| 121 | if (EVP_CIPHER_iv_length(cipher)) { | 121 | if (EVP_CIPHER_iv_length(cipher)) { |
| 122 | if (aiv) | 122 | if (aiv) |
| 123 | memcpy(iv, aiv, EVP_CIPHER_iv_length(cipher)); | 123 | memcpy(iv, aiv, EVP_CIPHER_iv_length(cipher)); |
| 124 | else if (RAND_pseudo_bytes(iv, | 124 | else |
| 125 | EVP_CIPHER_iv_length(cipher)) < 0) | 125 | arc4random_buf(iv, EVP_CIPHER_iv_length(cipher)); |
| 126 | goto err; | ||
| 127 | } | 126 | } |
| 128 | 127 | ||
| 129 | EVP_CIPHER_CTX_init(&ctx); | 128 | EVP_CIPHER_CTX_init(&ctx); |
| @@ -227,8 +226,8 @@ PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid, | |||
| 227 | 226 | ||
| 228 | if (salt) | 227 | if (salt) |
| 229 | memcpy (osalt->data, salt, saltlen); | 228 | memcpy (osalt->data, salt, saltlen); |
| 230 | else if (RAND_pseudo_bytes (osalt->data, saltlen) < 0) | 229 | else |
| 231 | goto merr; | 230 | arc4random_buf(osalt->data, saltlen); |
| 232 | 231 | ||
| 233 | if (iter <= 0) | 232 | if (iter <= 0) |
| 234 | iter = PKCS5_DEFAULT_ITER; | 233 | iter = PKCS5_DEFAULT_ITER; |
