mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 13:03:39 +08:00
apps: Fix the mismatch of SM2 keys keymgmt
The SM2 key has a separate keymgmt, which is independent of the EC. The key generated by the subcommand ecparam is wrong. Using 'openssl ec -in sm2.key -noout -text' will also encounter some errors. When using the ecparam subcommand to generate the SM2 key, use the correct keymgmt to solve this problem. Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15454)
This commit is contained in:
parent
0e7e3b9b9d
commit
022411112d
@ -228,7 +228,11 @@ int ecparam_main(int argc, char **argv)
|
||||
OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT,
|
||||
point_format, 0);
|
||||
*p = OSSL_PARAM_construct_end();
|
||||
gctx_params = EVP_PKEY_CTX_new_from_name(NULL, "ec", NULL);
|
||||
|
||||
if (strcasecmp(curve_name, "SM2") == 0)
|
||||
gctx_params = EVP_PKEY_CTX_new_from_name(NULL, "sm2", NULL);
|
||||
else
|
||||
gctx_params = EVP_PKEY_CTX_new_from_name(NULL, "ec", NULL);
|
||||
if (gctx_params == NULL
|
||||
|| EVP_PKEY_keygen_init(gctx_params) <= 0
|
||||
|| EVP_PKEY_CTX_set_params(gctx_params, params) <= 0
|
||||
|
Loading…
Reference in New Issue
Block a user