开源之夏-19

Tongsuo自带集成测试框架。

/util/libcrypto.num里边已有

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
TSAPI_SDF_OpenDevice                    5964	3_0_3	EXIST::FUNCTION:
TSAPI_SDF_CloseDevice 5965 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_OpenSession 5966 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_CloseSession 5967 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_ImportKeyWithKEK 5968 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_Encrypt 5969 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_Decrypt 5970 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_CalculateMAC 5971 3_0_3 EXIST::FUNCTION:
OSSL_enable_syslog 5972 3_0_3 EXIST::FUNCTION:
OSSL_disable_syslog 5973 3_0_3 EXIST::FUNCTION:
OSSL_syslog 5974 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_GetPrivateKeyAccessRight 5975 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_ReleasePrivateKeyAccessRight 5976 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_ImportKeyWithISK_ECC 5977 3_0_3 EXIST::FUNCTION:
TSAPI_GenerateSM2KeyWithIndex 5978 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SDF_GenerateKey 5979 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_DestroyKey 5980 3_0_3 EXIST::FUNCTION:
TSAPI_DelSm2KeyWithIndex 5981 3_0_3 EXIST::FUNCTION:SM2
TSAPI_UpdateSm2KeyWithIndex 5982 3_0_3 EXIST::FUNCTION:SM2
TSAPI_ExportSM2PubKeyWithIndex 5983 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SDF_ExportSignPublicKey_ECC 5984 3_0_3 EXIST::FUNCTION:
TSAPI_ImportSM2KeyWithEvlp 5985 3_0_3 EXIST::FUNCTION:SM2
TSAPI_ExportSM2KeyWithEvlp 5986 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SM2Encrypt 5987 3_0_3 EXIST::FUNCTION:SM2
TSAPI_EVP_PKEY_new_from_ECCrefKey 5988 3_0_3 EXIST::FUNCTION:SM2
TSAPI_EVP_PKEY_get_ECCrefPublicKey 5989 3_0_3 EXIST::FUNCTION:SM2
TSAPI_EVP_PKEY_get_ECCrefPrivateKey 5990 3_0_3 EXIST::FUNCTION:SM2
TSAPI_ExportSM2KeyWithIndex 5991 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SDF_ExportEncPublicKey_ECC 5992 3_0_3 EXIST::FUNCTION:
TSAPI_ImportSM2Key 5993 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SM3 5994 3_0_3 EXIST::FUNCTION:SM3
TSAPI_SM2Ciphertext_to_ECCCipher 5995 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SM4Encrypt 5996 3_0_3 EXIST::FUNCTION:SM4
TSAPI_SM4Decrypt 5997 3_0_3 EXIST::FUNCTION:SM4
TSAPI_Version 5998 3_0_3 EXIST::FUNCTION:
TSAPI_RandBytes 5999 3_0_3 EXIST::FUNCTION:
OSSL_PROVIDER_reset 6000 3_0_3 EXIST::FUNCTION:
OSSL_PROVIDER_status 6001 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_InternalEncrypt_ECC 6002 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_InternalDecrypt_ECC 6003 3_0_3 EXIST::FUNCTION:
TSAPI_SDF_InternalSign_ECC 6004 3_0_3 EXIST::FUNCTION:
EVP_PKEY_CTX_new_from_name_provided 6005 3_0_3 EXIST::FUNCTION:
EVP_PKEY_CTX_new_from_pkey_provided 6006 3_0_3 EXIST::FUNCTION:
TSAPI_GetEntropy 6007 3_0_3 EXIST::FUNCTION:
TSAPI_FreeEntropy 6008 3_0_3 EXIST::FUNCTION:
TSAPI_ECCCipher_to_SM2Ciphertext 6009 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SM2EncryptWithISK 6010 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SM2DecryptWithISK 6011 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SM2Keygen 6012 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SM2Sign 6013 3_0_3 EXIST::FUNCTION:SM2,SM3
TSAPI_SM2Verify 6014 3_0_3 EXIST::FUNCTION:SM2,SM3
TSAPI_SM2Decrypt 6015 3_0_3 EXIST::FUNCTION:SM2
TSAPI_SDF_GenerateRandom 6016 3_0_3 EXIST::FUNCTION:

/test/sm4_internal_test.c
这类文件会使用不同算法对列表中的接口进行自动测试。

这个文件是 Tongsuo/OpenSSL 的单元测试文件,专门用于测试 SM4 算法模块的正确性。它的测试用例会被自动化测试框架(如 test/recipes/ 里的脚本,或 make test)调用。

添加测试时“添加给谁”?

  • 你写的测试函数(如 test_sm4_ecb)会通过 ADD_TEST(test_sm4_ecb); 注册到测试框架。
  • 测试框架会自动收集所有注册的测试函数,并在执行 make testninja test 时批量运行。

如何为 SDF 模块添加类似测试?

  1. 在 test 目录下新建或编辑一个测试文件,比如 sdf_internal_test.c
  2. 仿照本文件,写好你的 SDF 测试函数,比如 test_sdf_encrypttest_sdf_sign 等。
  3. setup_tests 里用 ADD_TEST 注册你的测试函数。
  4. 确保你的测试文件被包含进构建系统(如 test/build.info)。
  5. 编译后,运行 make testninja test,你的 SDF 测试就会被自动执行。

简要流程:

  • 写测试函数 → 注册到 setup_tests → 构建 → make test 自动运行

开源之夏-19
https://43.242.201.154/2025/08/23/开源之夏-19/
Author
Dong
Posted on
August 23, 2025
Licensed under