Return an error if no recipient type matches.
[openssl.git] / crypto / asn1 / x_algor.c
index 33533aba862bb8ae4e569c6af432bc78813d8a31..274e456c738296480a58b4f46288001add228234 100644 (file)
@@ -1,5 +1,5 @@
 /* x_algor.c */
-/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2000.
  */
 /* ====================================================================
@@ -128,3 +128,17 @@ void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval,
                }
        }
 
+/* Set up an X509_ALGOR DigestAlgorithmIdentifier from an EVP_MD */
+
+void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md)
+       {
+       int param_type;
+
+       if (md->flags & EVP_MD_FLAG_DIGALGID_ABSENT)
+               param_type = V_ASN1_UNDEF;
+       else
+               param_type = V_ASN1_NULL;
+
+       X509_ALGOR_set0(alg, OBJ_nid2obj(EVP_MD_type(md)), param_type, NULL);
+
+       }