openssl/providers/implementations
Shane Lontis f552d90045 Add Serializers for EC
Provide EC serializers for text, pem and der.

EC parameters use ANS1 'CHOICE' - which means they are more embedded than other parameters used by
other KEY types (which normally have a SEQUENCE at the top level).
For this reason the ANS1_STRING type that was being passed around has been changed to a void so that the
code can still be shared with EC.

The EC serializer only supports named curves currently.

NOTE the serializer code assumes PKCS8 format - if the older encode methods are needed they will need to be
added in another PR. (Probably when deserialization is considered).

EVP_PKEY_key_fromdata_init was changed from using a keypair selection to all bits of a key. A side effect of this was
that the very restrictive checks in the ecx code needed to be relaxed as it was assuming all selection flags were non
optional. As this is not the case for any other key the code has been modified.

Fixed a bug in legacy_ctrl_str_to_params() - "ecdh_cofactor_mode" was being incorrectly converted to the wrong keyname.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/11107)
2020-03-04 07:48:45 +10:00
..
asymciphers Deprecate the low level RSA functions. 2020-02-20 18:58:40 +10:00
ciphers Don't compile AESNI code if we're not AESNI capable 2020-02-08 00:02:13 +00:00
digests Deprecate the low level MD5 functions. 2020-01-19 10:14:39 +10:00
exchange Deprecate the low level Diffie-Hellman functions. 2020-02-20 19:04:57 +10:00
include/prov Add Serializers for EC 2020-03-04 07:48:45 +10:00
kdfs scrypt: free the MD reference correctly. 2020-01-31 17:52:05 +10:00
keymgmt Add Serializers for EC 2020-03-04 07:48:45 +10:00
macs Deprecate the low level HMAC functions 2020-01-29 19:49:23 +10:00
serializers Add Serializers for EC 2020-03-04 07:48:45 +10:00
signature PROV: Avoid MDC2 in the RSA signature implementation in the FIPS module 2020-02-22 01:07:16 +01:00
build.info PROV SERIALIZER: add common functionality to serialize keys 2019-11-29 20:55:16 +01:00