summaryrefslogtreecommitdiff
path: root/Cryptlib/OpenSSL/crypto/cmac
diff options
context:
space:
mode:
authorSteve Langasek <steve.langasek@canonical.com>2016-10-01 14:18:49 -0700
committerSteve Langasek <steve.langasek@canonical.com>2016-10-01 14:18:49 -0700
commitb65e78ec015a308c1798e602c94502327cc90cd9 (patch)
tree4185dc52bcba0af1f815b88e100cd68a626916ca /Cryptlib/OpenSSL/crypto/cmac
parent21ebe03556d7030055644f46efd3c165396a7a75 (diff)
parent86b44a70f0e22233427cef3e966869e59b5e9dd5 (diff)
downloadefi-boot-shim-b65e78ec015a308c1798e602c94502327cc90cd9.tar.gz
efi-boot-shim-b65e78ec015a308c1798e602c94502327cc90cd9.zip
Resync with Ubuntu, including patch to fix debian/copyright.
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/cmac')
-rw-r--r--Cryptlib/OpenSSL/crypto/cmac/cmac.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/Cryptlib/OpenSSL/crypto/cmac/cmac.c b/Cryptlib/OpenSSL/crypto/cmac/cmac.c
index 774e6dc9..2954b6eb 100644
--- a/Cryptlib/OpenSSL/crypto/cmac/cmac.c
+++ b/Cryptlib/OpenSSL/crypto/cmac/cmac.c
@@ -160,6 +160,14 @@ int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen,
EVPerr(EVP_F_CMAC_INIT, EVP_R_DISABLED_FOR_FIPS);
return 0;
}
+
+ /* Switch to FIPS cipher implementation if possible */
+ if (cipher != NULL) {
+ const EVP_CIPHER *fcipher;
+ fcipher = FIPS_get_cipherbynid(EVP_CIPHER_nid(cipher));
+ if (fcipher != NULL)
+ cipher = fcipher;
+ }
/*
* Other algorithm blocking will be done in FIPS_cmac_init, via
* FIPS_cipherinit().