diff --git a/src/crypto/crypto_openssl.c b/src/crypto/crypto_openssl.c index 24e4fb7a8..5cc32d165 100644 --- a/src/crypto/crypto_openssl.c +++ b/src/crypto/crypto_openssl.c @@ -698,9 +698,16 @@ int crypto_hash_finish(struct crypto_hash *ctx, u8 *mac, size_t *len) int pbkdf2_sha1(const char *passphrase, const u8 *ssid, size_t ssid_len, int iterations, u8 *buf, size_t buflen) { +#if OPENSSL_VERSION_NUMBER < 0x00908000 + if (PKCS5_PBKDF2_HMAC_SHA1(passphrase, os_strlen(passphrase), + (unsigned char *) ssid, + ssid_len, 4096, buflen, buf) != 1) + return -1; +#else /* openssl < 0.9.8 */ if (PKCS5_PBKDF2_HMAC_SHA1(passphrase, os_strlen(passphrase), ssid, ssid_len, 4096, buflen, buf) != 1) return -1; +#endif /* openssl < 0.9.8 */ return 0; }