Make evp_privatekey_from_binary() completely libcrypto internal

We also rename it to d2i_PrivateKey_legacy(), to match d2i_PrivateKey_decoder()

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14314)
This commit is contained in:
Richard Levitte 2021-03-18 13:13:47 +01:00
parent 55d9ccca8e
commit 695c96ba51
2 changed files with 5 additions and 9 deletions

View File

@ -69,9 +69,9 @@ err:
return NULL;
}
EVP_PKEY *evp_privatekey_from_binary(int keytype, EVP_PKEY **a,
const unsigned char **pp, long length,
OSSL_LIB_CTX *libctx, const char *propq)
static EVP_PKEY *
d2i_PrivateKey_legacy(int keytype, EVP_PKEY **a, const unsigned char **pp,
long length, OSSL_LIB_CTX *libctx, const char *propq)
{
EVP_PKEY *ret;
const unsigned char *p = *pp;
@ -144,7 +144,7 @@ EVP_PKEY *d2i_PrivateKey_ex(int keytype, EVP_PKEY **a, const unsigned char **pp,
ret = d2i_PrivateKey_decoder(keytype, a, pp, length, libctx, propq);
/* try the legacy path if the decoder failed */
if (ret == NULL)
ret = evp_privatekey_from_binary(keytype, a, pp, length, libctx, propq);
ret = d2i_PrivateKey_legacy(keytype, a, pp, length, libctx, propq);
return ret;
}
@ -203,7 +203,7 @@ static EVP_PKEY *d2i_AutoPrivateKey_legacy(EVP_PKEY **a,
keytype = EVP_PKEY_RSA;
}
sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free);
return evp_privatekey_from_binary(keytype, a, pp, length, libctx, propq);
return d2i_PrivateKey_legacy(keytype, a, pp, length, libctx, propq);
}
/*

View File

@ -868,10 +868,6 @@ int evp_set_default_properties_int(OSSL_LIB_CTX *libctx, const char *propq,
void evp_md_ctx_clear_digest(EVP_MD_CTX *ctx, int force);
EVP_PKEY *evp_privatekey_from_binary(int keytype, EVP_PKEY **a,
const unsigned char **pp, long length,
OSSL_LIB_CTX *libctx, const char *propq);
/* Three possible states: */
# define EVP_PKEY_STATE_UNKNOWN 0
# define EVP_PKEY_STATE_LEGACY 1