EVP: Add a temporary SM2 hack to key generation
authorRichard Levitte <levitte@openssl.org>
Thu, 19 Mar 2020 13:02:51 +0000 (14:02 +0100)
committerRichard Levitte <levitte@openssl.org>
Wed, 15 Apr 2020 09:04:35 +0000 (11:04 +0200)
commit813d31717853252e777b810cb74fa5793fcbb154
treecb412b1184485682141c8812f2dcf99ee4ed3be8
parent10d756a70e2aeaff0c08e86014075a8623f3e0ab
EVP: Add a temporary SM2 hack to key generation

The reason to do this is many-fold.  We need EC key generation for
other work.  However, SM2 are currently closely related to EC keys
with legacy methods, but not with provider methods.

To avoid having to wait on provider support for SM2, we temporarly
do an extra check for what the legacy methods identify as SM2 keys
(either the EVP_PKEY_SM2 pkey id was used, or the SM2 curve), and
redirect to legacy code in one case, and in the other case, we
forcedly downgrade provider side EC keys with SM2 curves to legacy
SM2 keys, using available tools.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/11328)
crypto/evp/pmeth_gn.c