如何修补GmSSL以使用-sms4-wrap-pad包装非对称密钥?
问题描述
默认情况下,GmSSL命令行工具中未启用包装密码算法-sms4-wrap-pad。您可以下载并安装最新版本的GmSSL,然后对其进行修补,以完成导入非对称密钥所需的信封包装。
解决方法
按照以下说明,在没有任何业务的机器,或创建临时机器,使用bash命令安装修补版本的GmSSL。
请使用没有任何业务的机器,或创建临时机器执行以下操作。
- 以root用户完成以下操作步骤,以确保您对使用此命令的目录和二进制文件拥有正确的权限。
sudo su -
- 记住从下载页面(https://www.github.com/guanzhi/GmSSL/)下载的最新GmSSL版本。
- 使用以下命令下载并解压缩二进制文件。
- 下载最新版本的GmSSL版本。
curl -LO https://github.com/guanzhi/GmSSL/archive/master.zip
unzip master.zip
cd GmSSL-master
- 复制并粘贴此数据块,然后在您的设备上选择输入。
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
执行如下命令:
ldd /usr/local/bin/gmssl
mv libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
mv libssl.so.1.1 /usr/lib64/libssl.so.1.1