Make EVP_CIPHER_is_a() work with legacy cipher implementations too

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10008)
This commit is contained in:
Richard Levitte 2019-09-25 09:15:42 +02:00
parent 6ef81d388d
commit 776cb8358e

View File

@ -504,6 +504,13 @@ int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx)
int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name)
{
#ifndef FIPS_MODE
if (cipher->prov == NULL) {
int nid = EVP_CIPHER_nid(cipher);
return nid == OBJ_sn2nid(name) || nid == OBJ_ln2nid(name);
}
#endif
return evp_is_a(cipher->prov, cipher->name_id, name);
}