文档首页/ 数据加密服务 DEW/ 常见问题/ 密钥管理类/ 如何修补GmSSL以使用-sms4-wrap-pad包装非对称密钥?
更新时间:2024-12-06 GMT+08:00
分享

如何修补GmSSL以使用-sms4-wrap-pad包装非对称密钥?

问题描述

默认情况下,GmSSL命令行工具中未启用包装密码算法-sms4-wrap-pad。您可以下载并安装最新版本的GmSSL,然后对其进行修补,以完成导入非对称密钥所需的信封包装。

解决方法

按照以下说明,在没有任何业务的机器,或创建临时机器,使用bash命令安装修补版本的GmSSL。

请使用没有任何业务的机器,或创建临时机器执行以下操作。

  1. root用户完成以下操作步骤,以确保您对使用此命令的目录和二进制文件拥有正确的权限。

    sudo su -

  2. 记住从下载页面(https://www.github.com/guanzhi/GmSSL/)下载的最新GmSSL版本。
  3. 使用以下命令下载并解压缩二进制文件。
  4. 下载最新版本的GmSSL版本。

    curl -LO https://github.com/guanzhi/GmSSL/archive/master.zip

    unzip master.zip

    cd GmSSL-master

  5. 复制并粘贴此数据块,然后在您的设备上选择输入。

    sed -i "/BIO_get_cipher_ctx(benc, &ctx);/a\ EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPHER_CTX_FLAG_WRAP_ALLOW);" apps/enc.c

  6. 重新编译并安装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

相关文档