如何修补GmSSL以使用-sms4-wrap-pad包装非对称密钥?
问题描述
默认情况下,GmSSL命令行工具中未启用包装密码算法-sms4-wrap-pad。您可以下载并安装最新版本的GmSSL,然后对其进行修补,以完成导入非对称密钥所需的信封包装。
解决方法
按照以下说明,在没有任何业务的机器,或创建临时机器,使用bash命令安装修补版本的GmSSL。

请使用没有任何业务的机器,或创建临时机器执行以下操作。
- 以root用户完成以下操作步骤,以确保您对使用此命令的目录和二进制文件拥有正确的权限。
sudo su -
- 下载的最新GmSSL版本。
下载地址:https://www.github.com/guanzhi/GmSSL/
- 复制并粘贴此数据块,然后在您的设备上选择输入。
sed -i "/BIO_get_cipher_ctx(benc, &ctx);/a\ EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPHER_CTX_FLAG_WRAP_ALLOW);" apps/enc.c
- 重新编译并安装GmSSL。
./config && make && make install
如果执行GmSSL命令报如下错误:
“gmssl: relocation error: gmssl: symbol PBEPARAM_it, version OPENSSL_xxxx not defined in file libcrypto.so.1.1 with link time reference”
则在当前Shell会话中,执行如下命令:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
如果您执行此命令时更改过当前路径,请先cd到编译结果的目录。
cd GmSSL-GmSSL-v2 再执行上面的export命令。