Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cfad318

Browse files
committed
Add tests
1 parent 5fbe706 commit cfad318

14 files changed

+313
-0
lines changed

tests/cert.phpt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
$rootcacert=
12+
"-----BEGIN CERTIFICATE-----\n".
13+
"MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG\n".
14+
"EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw\n".
15+
"MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO\n".
16+
"UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE\n".
17+
"MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT\n".
18+
"V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti\n".
19+
"W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ\n".
20+
"MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b\n".
21+
"53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI\n".
22+
"pDoiVhsLwg==\n".
23+
"-----END CERTIFICATE-----\n";
24+
25+
file_put_contents("rootca.pem", $rootcacert);
26+
27+
$cert = gmssl_cert_from_pem("rootca.pem");
28+
$serial = gmssl_cert_get_serial_number($cert);
29+
print(bin2hex($serial)."\n");
30+
31+
print(gmssl_cert_verify_by_ca_cert($cert, $cert, GMSSL_SM2_DEFAULT_ID));
32+
?>
33+
--EXPECT--
34+
69e2fec0170ac67b
35+
1

tests/consts.phpt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
print(GMSSL_SM3_DIGEST_SIZE."\n");
12+
print(GMSSL_SM3_HMAC_MIN_KEY_SIZE."\n");
13+
print(GMSSL_SM4_KEY_SIZE."\n");
14+
print(GMSSL_SM4_BLOCK_SIZE."\n");
15+
print(GMSSL_SM4_GCM_MIN_IV_SIZE."\n");
16+
print(GMSSL_SM4_GCM_MAX_IV_SIZE."\n");
17+
print(GMSSL_SM4_GCM_DEFAULT_IV_SIZE."\n");
18+
print(GMSSL_SM4_GCM_MAX_TAG_SIZE."\n");
19+
print(GMSSL_SM2_DEFAULT_ID."\n");
20+
print(GMSSL_SM2_MAX_PLAINTEXT_SIZE."\n");
21+
print(GMSSL_SM9_MAX_PLAINTEXT_SIZE."\n");
22+
print(GMSSL_ZUC_KEY_SIZE."\n");
23+
print(GMSSL_ZUC_IV_SIZE."\n");
24+
?>
25+
--EXPECT--
26+
32
27+
16
28+
16
29+
16
30+
1
31+
64
32+
12
33+
16
34+
1234567812345678
35+
255
36+
255
37+
16
38+
16

tests/rand_bytes.phpt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
var_dump(strlen(gmssl_rand_bytes(32)));
12+
?>
13+
--EXPECT--
14+
int(32)

tests/sm2.phpt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
$sm2_key = gmssl_sm2_key_generate();
12+
$pass = "123456";
13+
gmssl_sm2_private_key_info_encrypt_to_pem($sm2_key, $pass, "sm2.pem");
14+
$sign_key = gmssl_sm2_private_key_info_decrypt_from_pem($pass, "sm2.pem");
15+
gmssl_sm2_public_key_info_to_pem($sm2_key, "sm2pub.pem");
16+
$sm2_pub = gmssl_sm2_public_key_info_from_pem("sm2pub.pem");
17+
18+
$dgst = gmssl_rand_bytes(GMSSL_SM3_DIGEST_SIZE);
19+
$sig = gmssl_sm2_sign($sign_key, GMSSL_SM2_DEFAULT_ID, $dgst);
20+
print(gmssl_sm2_verify($sm2_pub, GMSSL_SM2_DEFAULT_ID, $dgst, $sig)."\n");
21+
22+
$msg = gmssl_rand_bytes(GMSSL_SM2_MAX_PLAINTEXT_SIZE);
23+
$ciphertext = gmssl_sm2_encrypt($sm2_pub, $msg);
24+
$plaintext = gmssl_sm2_decrypt($sm2_key, $ciphertext);
25+
print(strcmp($msg, $plaintext)."\n");
26+
27+
?>
28+
--EXPECT--
29+
1
30+
0

tests/sm3.phpt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
print(bin2hex(gmssl_sm3("abc")));
12+
?>
13+
--EXPECT--
14+
66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0

tests/sm3_hmac.phpt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
print(bin2hex(gmssl_sm3_hmac("1234567812345678", "abc")));
12+
?>
13+
--EXPECT--
14+
0a69401a75c5d471f5166465eec89e6a65198ae885c1fdc061556254d91c1080

tests/sm3_pbkdf2.phpt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
print(bin2hex(gmssl_sm3_pbkdf2("password", "salt", 65536, GMSSL_SM4_KEY_SIZE)));
12+
?>
13+
--EXPECT--
14+
244c631e1ae30ebf1c58d31a2988daf0

tests/sm4.phpt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
$key = gmssl_rand_bytes(GMSSL_SM4_KEY_SIZE);
12+
$msg = gmssl_rand_bytes(GMSSL_SM4_BLOCK_SIZE);
13+
$ciphertext = gmssl_sm4_encrypt($key, $msg);
14+
$plaintext = gmssl_sm4_decrypt($key, $ciphertext);
15+
print(strcmp($msg, $plaintext));
16+
?>
17+
--EXPECT--
18+
0

tests/sm4_cbc.phpt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
$key = gmssl_rand_bytes(GMSSL_SM4_KEY_SIZE);
12+
$iv = gmssl_rand_bytes(GMSSL_SM4_BLOCK_SIZE);
13+
$msg = gmssl_rand_bytes(GMSSL_SM4_BLOCK_SIZE);
14+
$ciphertext = gmssl_sm4_cbc_encrypt($key, $iv, $msg);
15+
$plaintext = gmssl_sm4_cbc_decrypt($key, $iv, $ciphertext);
16+
print(strcmp($msg, $plaintext));
17+
?>
18+
--EXPECT--
19+
0

tests/sm4_ctr.phpt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
--TEST--
2+
Check if gmssl is loaded
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('gmssl')) {
6+
echo 'skip';
7+
}
8+
?>
9+
--FILE--
10+
<?php
11+
$key = gmssl_rand_bytes(GMSSL_SM4_KEY_SIZE);
12+
$iv = gmssl_rand_bytes(GMSSL_SM4_BLOCK_SIZE);
13+
$msg = gmssl_rand_bytes(GMSSL_SM4_BLOCK_SIZE);
14+
$ciphertext = gmssl_sm4_ctr_encrypt($key, $iv, $msg);
15+
$plaintext = gmssl_sm4_ctr_encrypt($key, $iv, $ciphertext);
16+
print(strcmp($msg, $plaintext));
17+
?>
18+
--EXPECT--
19+
0

0 commit comments

Comments
 (0)