diff options
Diffstat (limited to 'deps/openssl/openssl/crypto/x509/x509type.c')
-rw-r--r-- | deps/openssl/openssl/crypto/x509/x509type.c | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/deps/openssl/openssl/crypto/x509/x509type.c b/deps/openssl/openssl/crypto/x509/x509type.c index 9702ec5310..3385ad3f67 100644 --- a/deps/openssl/openssl/crypto/x509/x509type.c +++ b/deps/openssl/openssl/crypto/x509/x509type.c @@ -100,26 +100,20 @@ int X509_certificate_type(X509 *x, EVP_PKEY *pkey) break; } - i=OBJ_obj2nid(x->sig_alg->algorithm); - if (i && OBJ_find_sigid_algs(i, NULL, &i)) + i=X509_get_signature_type(x); + switch (i) { - - switch (i) - { - case NID_rsaEncryption: - case NID_rsa: - ret|=EVP_PKS_RSA; - break; - case NID_dsa: - case NID_dsa_2: - ret|=EVP_PKS_DSA; - break; - case NID_X9_62_id_ecPublicKey: - ret|=EVP_PKS_EC; - break; - default: - break; - } + case EVP_PKEY_RSA: + ret|=EVP_PKS_RSA; + break; + case EVP_PKEY_DSA: + ret|=EVP_PKS_DSA; + break; + case EVP_PKEY_EC: + ret|=EVP_PKS_EC; + break; + default: + break; } if (EVP_PKEY_size(pk) <= 1024/8)/* /8 because it's 1024 bits we look |