Skip to content

Commit

Permalink
Add SM2 support for EVP_PKEY_Q_keygen
Browse files Browse the repository at this point in the history
There is no reason preventing this API to support SM2,
which gives us a simple method to do SM2 key gen.

CLA: trivial

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from #19736)
  • Loading branch information
FlyGoat authored and t8m committed Nov 24, 2022
1 parent cba0e2a commit 3f32d29
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
3 changes: 2 additions & 1 deletion crypto/evp/evp_lib.c
Expand Up @@ -1215,7 +1215,8 @@ EVP_PKEY *EVP_PKEY_Q_keygen(OSSL_LIB_CTX *libctx, const char *propq,
} else if (OPENSSL_strcasecmp(type, "ED25519") != 0
&& OPENSSL_strcasecmp(type, "X25519") != 0
&& OPENSSL_strcasecmp(type, "ED448") != 0
&& OPENSSL_strcasecmp(type, "X448") != 0) {
&& OPENSSL_strcasecmp(type, "X448") != 0
&& OPENSSL_strcasecmp(type, "SM2") != 0) {
ERR_raise(ERR_LIB_EVP, ERR_R_PASSED_INVALID_ARGUMENT);
goto end;
}
Expand Down
2 changes: 1 addition & 1 deletion doc/man3/EVP_PKEY_keygen.pod
Expand Up @@ -100,7 +100,7 @@ If I<type> is C<RSA>,
a B<size_t> parameter must be given to specify the size of the RSA key.
If I<type> is C<EC>,
a string parameter must be given to specify the name of the EC curve.
If I<type> is C<X25519>, C<X448>, C<ED25519>, or C<ED448>
If I<type> is C<X25519>, C<X448>, C<ED25519>, C<ED448>, or C<SM2>
no further parameter is needed.

=head1 RETURN VALUES
Expand Down

0 comments on commit 3f32d29

Please sign in to comment.