diff options
Diffstat (limited to 'src/lib/libcrypto/aes/aes_misc.c')
-rw-r--r-- | src/lib/libcrypto/aes/aes_misc.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/libcrypto/aes/aes_misc.c b/src/lib/libcrypto/aes/aes_misc.c index 4fead1b4c7..f083488ecb 100644 --- a/src/lib/libcrypto/aes/aes_misc.c +++ b/src/lib/libcrypto/aes/aes_misc.c | |||
@@ -50,6 +50,7 @@ | |||
50 | */ | 50 | */ |
51 | 51 | ||
52 | #include <openssl/opensslv.h> | 52 | #include <openssl/opensslv.h> |
53 | #include <openssl/crypto.h> | ||
53 | #include <openssl/aes.h> | 54 | #include <openssl/aes.h> |
54 | #include "aes_locl.h" | 55 | #include "aes_locl.h" |
55 | 56 | ||
@@ -62,3 +63,23 @@ const char *AES_options(void) { | |||
62 | return "aes(partial)"; | 63 | return "aes(partial)"; |
63 | #endif | 64 | #endif |
64 | } | 65 | } |
66 | |||
67 | /* FIPS wrapper functions to block low level AES calls in FIPS mode */ | ||
68 | |||
69 | int AES_set_encrypt_key(const unsigned char *userKey, const int bits, | ||
70 | AES_KEY *key) | ||
71 | { | ||
72 | #ifdef OPENSSL_FIPS | ||
73 | fips_cipher_abort(AES); | ||
74 | #endif | ||
75 | return private_AES_set_encrypt_key(userKey, bits, key); | ||
76 | } | ||
77 | |||
78 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits, | ||
79 | AES_KEY *key) | ||
80 | { | ||
81 | #ifdef OPENSSL_FIPS | ||
82 | fips_cipher_abort(AES); | ||
83 | #endif | ||
84 | return private_AES_set_decrypt_key(userKey, bits, key); | ||
85 | } | ||