From: Dr. Stephen Henson Date: Wed, 12 Apr 2006 17:01:19 +0000 (+0000) Subject: Compare parameters when comparing public keys. X-Git-Tag: OpenSSL_0_9_8k^2~1401 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=0cb8499b73ec37cf1bcbd0d394375534b5e553a4 Compare parameters when comparing public keys. --- diff --git a/crypto/dsa/dsa_ameth.c b/crypto/dsa/dsa_ameth.c index 73fba10602..ce5e657463 100644 --- a/crypto/dsa/dsa_ameth.c +++ b/crypto/dsa/dsa_ameth.c @@ -167,14 +167,6 @@ static int dsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) return 0; } -static int dsa_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) - { - if (BN_cmp(b->pkey.dsa->pub_key,a->pkey.dsa->pub_key) != 0) - return 0; - else - return 1; - } - /* In PKCS#8 DSA: you just get a private key integer and parameters in the * AlgorithmIdentifier the pubkey must be recalculated. */ @@ -389,6 +381,16 @@ static int dsa_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b) return 1; } +static int dsa_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) + { + if (dsa_cmp_parameters(a, b) == 0) + return 0; + if (BN_cmp(b->pkey.dsa->pub_key,a->pkey.dsa->pub_key) != 0) + return 0; + else + return 1; + } + static void int_dsa_free(EVP_PKEY *pkey) { DSA_free(pkey->pkey.dsa);