
# 如何修补GmSSL以使用-sms4-wrap-pad包装非对称密钥？
#### 问题描述
默认情况下，GmSSL命令行工具中未启用包装密码算法-sms4-wrap-pad。您可以下载并安装最新版本的GmSSL，然后对其进行修补，以完成导入非对称密钥所需的信封包装。
#### 解决方法
按照以下说明，在没有任何业务的机器，或创建临时机器，使用bash命令安装修补版本的GmSSL。
![](https://support.huaweicloud.com/dew_faq/public_sys-resources/notice_3.0-zh-cn.png)
请使用没有任何业务的机器，或创建临时机器执行以下操作。
1. 以**root** 用户完成以下操作步骤，以确保您对使用此命令的目录和二进制文件拥有正确的权限。
   
   **sudo su -**
   
   
2. 下载的最新GmSSL版本。 
   下载地址：https://www.github.com/guanzhi/GmSSL/
   1. 使用以下命令下载并解压缩二进制文件。
   
   2. 下载最新版本的GmSSL版本。 **curl -LO https://github.com/guanzhi/GmSSL/archive/GmSSL-v2.zip**
      **unzip** **GmSSL-GmSSL-v2.zip**
      **cd GmSSL-GmSSL-v2**
      
   
   
   
   
3. 复制并粘贴此数据块，然后在您的设备上选择输入。 
   **sed -i "/BIO_get_cipher_ctx(benc, \&ctx);/a\\ EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPHER_CTX_FLAG_WRAP_ALLOW);" apps/enc.c**
   
   
4. 重新编译并安装GmSSL。 
   **./config \&\& make \&\& make install**
   ![](https://support.huaweicloud.com/dew_faq/public_sys-resources/note_3.0-zh-cn.png)
   如果执行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命令。
   
   
 
