From 03919683f9bade36ef1b58e64638ac3ccbbf371a Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sun, 7 May 2006 17:09:39 +0000 Subject: Add support for default public key digest type ctrl. --- crypto/asn1/a_sign.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'crypto/asn1/a_sign.c') diff --git a/crypto/asn1/a_sign.c b/crypto/asn1/a_sign.c index c98dc7c332..ff63bfc7be 100644 --- a/crypto/asn1/a_sign.c +++ b/crypto/asn1/a_sign.c @@ -222,6 +222,19 @@ int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, int inl=0,outl=0,outll=0; int signid, paramtype; + if (type == NULL) + { + int def_nid; + if (EVP_PKEY_get_default_digest_nid(pkey, &def_nid) > 0) + type = EVP_get_digestbynid(def_nid); + } + + if (type == NULL) + { + ASN1err(ASN1_F_ASN1_ITEM_SIGN, ASN1_R_NO_DEFAULT_DIGEST); + return 0; + } + if (type->flags & EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) { if (!pkey->ameth || -- cgit v1.2.3