Support for fixed DH ciphersuites.
[openssl.git] / ssl / s3_both.c
index be766aac6ab78993dda237c39883b413c9ee52bc..c58713ffb8e4f5bdc6dc18e8a60c157862cc01c5 100644 (file)
@@ -594,6 +594,18 @@ int ssl_cert_type(X509 *x, EVP_PKEY *pkey)
                {
                ret = SSL_PKEY_GOST01;
                }
+       else if (x && i == EVP_PKEY_DH)
+               {
+               /* For DH two cases: DH certificate signed with RSA and
+                * DH certificate signed with DSA.
+                */
+               i = X509_certificate_type(x, pk);
+               if (i & EVP_PKS_RSA)
+                       ret = SSL_PKEY_DH_RSA;
+               else if (i & EVP_PKS_DSA)
+                       ret = SSL_PKEY_DH_DSA;
+               }
+               
 err:
        if(!pkey) EVP_PKEY_free(pk);
        return(ret);