Add EVP_PKEY_CTX_new_provided()
authorRichard Levitte <levitte@openssl.org>
Tue, 15 Oct 2019 11:08:17 +0000 (13:08 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 16 Oct 2019 13:02:05 +0000 (15:02 +0200)
commita07c17ef57da20b7c6d075b303a6506f625dcd4e
tree096fdf0685af46399f046fa51d4fd5338a07537a
parent1af26e53bce7f075e27e2fa6a78764fa6620b8ab
Add EVP_PKEY_CTX_new_provided()

This works as much as possible EVP_PKEY_CTX_new_id(), except it takes
data that's relevant for providers, algorithm name and property query
string instead of NID and engine.

Additionally, if EVP_PKEY_CTX_new() or EVP_PKEY_CTX_new_id() was
called, the algorithm name in the EVP_PKEY context will be set to the
short name of the given NID (explicit or the one of the given
EVP_PKEY), thereby giving an easier transition from legacy methods to
provided methods.

The intent is that operations will use this information to fetch
provider methods implicitly as needed.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/10184)
CHANGES
crypto/evp/pmeth_lib.c
doc/man3/EVP_PKEY_CTX_new.pod
include/crypto/evp.h
include/openssl/evp.h
util/libcrypto.num