From 3b92e5189965b343603931d58992b8e92b212d49 Mon Sep 17 00:00:00 2001 From: Nathaniel McCallum Date: Mon, 20 Jun 2016 03:47:11 -0400 Subject: [PATCH] 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) --- crypto/hmac/hm_ameth.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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, -- 2.34.1