From: Nathaniel McCallum Date: Mon, 20 Jun 2016 07:47:11 +0000 (-0400) Subject: Teach EVP_PKEY_HMAC keys how to EVP_PKEY_cmp() X-Git-Tag: OpenSSL_1_1_0-pre6~348 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3b92e5189965b343603931d58992b8e92b212d49;p=openssl Teach EVP_PKEY_HMAC keys how to EVP_PKEY_cmp() Fixes openssl/openssl#1236 Reviewed-by: Kurt Roeckx Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/1237) --- diff --git a/crypto/hmac/hm_ameth.c b/crypto/hmac/hm_ameth.c index 714068dc68..78ae0ea63a 100644 --- a/crypto/hmac/hm_ameth.c +++ b/crypto/hmac/hm_ameth.c @@ -46,6 +46,11 @@ static int hmac_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) } } +static int hmac_pkey_public_cmp(const EVP_PKEY *a, const EVP_PKEY *b) +{ + return ASN1_OCTET_STRING_cmp(EVP_PKEY_get0(a), EVP_PKEY_get0(b)); +} + #ifdef HMAC_TEST_PRIVATE_KEY_FORMAT /* * A bogus private key format for test purposes. This is simply the HMAC key @@ -101,7 +106,7 @@ const EVP_PKEY_ASN1_METHOD hmac_asn1_meth = { "HMAC", "OpenSSL HMAC method", - 0, 0, 0, 0, + 0, 0, hmac_pkey_public_cmp, 0, 0, 0, 0,