Add a test for pkeyutl encrypt/decrypt using SM2
Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21272)
This commit is contained in:
parent
849450746f
commit
810f7dc1c7
4
test/certs/sm2-pub.key
Normal file
4
test/certs/sm2-pub.key
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEMKnjZFqe34rtSmZ7g5ALnKTPKYhM
|
||||||
|
xEy9cpq3Kzgb7/JoTTZHm9tGrG1oBUCNszq0jPff7Fxp/azNv7rDPzJXGg==
|
||||||
|
-----END PUBLIC KEY-----
|
@ -13,15 +13,16 @@ use File::Spec;
|
|||||||
use File::Basename;
|
use File::Basename;
|
||||||
use OpenSSL::Test qw/:DEFAULT srctop_file ok_nofips/;
|
use OpenSSL::Test qw/:DEFAULT srctop_file ok_nofips/;
|
||||||
use OpenSSL::Test::Utils;
|
use OpenSSL::Test::Utils;
|
||||||
|
use File::Compare qw/compare_text/;
|
||||||
|
|
||||||
setup("test_pkeyutl");
|
setup("test_pkeyutl");
|
||||||
|
|
||||||
plan tests => 12;
|
plan tests => 14;
|
||||||
|
|
||||||
# For the tests below we use the cert itself as the TBS file
|
# For the tests below we use the cert itself as the TBS file
|
||||||
|
|
||||||
SKIP: {
|
SKIP: {
|
||||||
skip "Skipping tests that require EC, SM2 or SM3", 2
|
skip "Skipping tests that require EC, SM2 or SM3", 4
|
||||||
if disabled("ec") || disabled("sm2") || disabled("sm3");
|
if disabled("ec") || disabled("sm2") || disabled("sm3");
|
||||||
|
|
||||||
# SM2
|
# SM2
|
||||||
@ -38,6 +39,18 @@ SKIP: {
|
|||||||
'-sigfile', 'sm2.sig', '-rawin',
|
'-sigfile', 'sm2.sig', '-rawin',
|
||||||
'-digest', 'sm3', '-pkeyopt', 'distid:someid']))),
|
'-digest', 'sm3', '-pkeyopt', 'distid:someid']))),
|
||||||
"Verify an SM2 signature against a piece of data");
|
"Verify an SM2 signature against a piece of data");
|
||||||
|
ok_nofips(run(app(([ 'openssl', 'pkeyutl', '-encrypt',
|
||||||
|
'-in', srctop_file('test', 'data2.bin'),
|
||||||
|
'-inkey', srctop_file('test', 'certs', 'sm2-pub.key'),
|
||||||
|
'-pubin', '-out', 'sm2.enc']))),
|
||||||
|
"Encrypt a piece of data using SM2");
|
||||||
|
ok_nofips(run(app(([ 'openssl', 'pkeyutl', '-decrypt',
|
||||||
|
'-in', 'sm2.enc',
|
||||||
|
'-inkey', srctop_file('test', 'certs', 'sm2.key'),
|
||||||
|
'-out', 'sm2.dat'])))
|
||||||
|
&& compare_text('sm2.dat',
|
||||||
|
srctop_file('test', 'data2.bin')) == 0,
|
||||||
|
"Decrypt a piece of data using SM2");
|
||||||
}
|
}
|
||||||
|
|
||||||
SKIP: {
|
SKIP: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user