{
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);