Tongsuo icon indicating copy to clipboard operation
Tongsuo copied to clipboard

请问怎么把include/crypto文件夹下面声明的函数加入到导出函数列表?

Open victortanjh opened this issue 3 years ago • 5 comments

目前,在include/crypto文件夹下面的evp.h中定义的结构:sm2_pkey_meth都没有在导出列表中: 00000000004e20e0 d sm2_pkey_meth

导致在上层app引用sm2_pkey_meth的时候,发生错误。

请问如何把上述结构和相关的成员函数加入到导出列表? 感谢

victortanjh avatar Aug 19 '21 01:08 victortanjh

这些都是内部符号,不需要导出,一般来讲上层app不应该直接使用这些结构体

InfoHunter avatar Aug 19 '21 01:08 InfoHunter

你是啥场景需要直接引用这些结构体?

InfoHunter avatar Aug 19 '21 02:08 InfoHunter

好的,感谢。主要是做基于SM2+SM3的签名和验签。因为签名之前,有一个id的hash计算过程,开始没有找到直接的实现接口。 刚刚又看了一遍帮助文档,发现了BabaSSL中封装了EVP_PKEY_CTX_set1_id,应该是这个吧?

victortanjh avatar Aug 19 '21 02:08 victortanjh

是的,就是这个函数,具体的调用流程可以参考:https://babassl.github.io/manpages/man7/SM2.html

InfoHunter avatar Aug 19 '21 02:08 InfoHunter

EVP_PKEY_meth_new(EVP_PKEY_SM2, flags); 然后调用下述类似函数,可以获取到成员函数的: EVP_PKEY_meth_get_sign EVP_PKEY_meth_get_***

zhsnew avatar Aug 19 '21 02:08 zhsnew