DESERIALIZER: Add deserializers for the rest of our asymmetric key types
authorRichard Levitte <levitte@openssl.org>
Mon, 27 Jul 2020 16:40:05 +0000 (18:40 +0200)
committerPauli <paul.dale@oracle.com>
Sat, 1 Aug 2020 01:51:19 +0000 (11:51 +1000)
commit7c664b1f1b5f60bf896f5fdea5c08c401c541dfe
tree56b5f9705be72e3139bfadfcfed94eca5ae04ea2
parent3ff8159a8af6ab4e945318c56cd2fffcdd817cf8
DESERIALIZER: Add deserializers for the rest of our asymmetric key types

To be able to implement this, there was a need for the standard
EVP_PKEY_set1_, EVP_PKEY_get0_ and EVP_PKEY_get1_ functions for
ED25519, ED448, X25519 and X448, as well as the corresponding
EVP_PKEY_assign_ macros.  There was also a need to extend the list of
hard coded names that EVP_PKEY_is_a() recognise.

Along with this, OSSL_FUNC_keymgmt_load() are implemented for all
those key types.

The deserializers for these key types are all implemented generically,
in providers/implementations/serializers/deserializer_der2key.c.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12544)
18 files changed:
crypto/err/openssl.txt
crypto/evp/evp_err.c
crypto/evp/p_lib.c
doc/man3/EVP_PKEY_set1_RSA.pod
include/openssl/evp.h
include/openssl/evperr.h
providers/deserializers.inc
providers/implementations/include/prov/implementations.h
providers/implementations/keymgmt/dh_kmgmt.c
providers/implementations/keymgmt/dsa_kmgmt.c
providers/implementations/keymgmt/ec_kmgmt.c
providers/implementations/keymgmt/ecx_kmgmt.c
providers/implementations/serializers/build.info
providers/implementations/serializers/deserialize_der2key.c [new file with mode: 0644]
providers/implementations/serializers/deserialize_der2rsa.c [deleted file]
test/serdes_test.c
util/libcrypto.num
util/other.syms