aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/openssl
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-09-24 14:37:50 +0000
committerlloyd <[email protected]>2009-09-24 14:37:50 +0000
commita20e93cae049a177801e87c9c741a0a02ae616e6 (patch)
tree283b31a06037d89bd05441fcd055c5f7440e04d0 /src/engine/openssl
parentfec26d84bd9e3dd35d68429d91723eb2f56b7ff6 (diff)
Enable OpenSSL AES (fixed, I think). And add support for OpenSSL's RC5
Diffstat (limited to 'src/engine/openssl')
-rw-r--r--src/engine/openssl/ossl_bc.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/engine/openssl/ossl_bc.cpp b/src/engine/openssl/ossl_bc.cpp
index dd6bb38db..9c85439ca 100644
--- a/src/engine/openssl/ossl_bc.cpp
+++ b/src/engine/openssl/ossl_bc.cpp
@@ -176,7 +176,7 @@ OpenSSL_Engine::find_block_cipher(const SCAN_Name& request,
if(request.algo_name() == NAME && request.arg_count() == 0) \
return new EVP_BlockCipher(EVP, NAME, MIN, MAX, MOD);
-#if 0 && !defined(OPENSSL_NO_AES)
+#if !defined(OPENSSL_NO_AES)
/*
Using OpenSSL's AES causes crashes inside EVP on x86-64 with OpenSSL 0.9.8g
cause is unknown
@@ -203,6 +203,12 @@ OpenSSL_Engine::find_block_cipher(const SCAN_Name& request,
HANDLE_EVP_CIPHER_KEYLEN("RC2", EVP_rc2_ecb(), 1, 32, 1);
#endif
+#if !defined(OPENSSL_NO_RC5)
+ if(request.algo_name() == "RC5")
+ if(request.arg_as_u32bit(0, 12) == 12)
+ return new EVP_BlockCipher(EVP_rc5_32_12_16_ecb(), "RC5(12)", 1, 32, 1);
+#endif
+
#if !defined(OPENSSL_NO_IDEA)
HANDLE_EVP_CIPHER("IDEA", EVP_idea_ecb());
#endif