数据加密服务 DEW
数据加密服务 DEW
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
密钥管理类
- 什么是密钥管理?
- 什么是用户主密钥?
- 什么是默认密钥?
- 自定义密钥与默认密钥有什么区别?
- 什么是数据加密密钥?
- 为什么不能立即删除用户主密钥?
- 哪些云服务使用KMS加密数据?
- 华为云服务如何使用KMS加密数据?
- 信封加密方式有什么优势?
- 在KMS中创建的自定义密钥的个数是否有限制?
- 是否可以从KMS中导出用户主密钥?
- 如果自定义密钥被彻底删除,用户数据是否还可以解密?
- 如何使用在线工具加解密数据?
- 是否可以更新KMS管理的密钥?
- 在什么场景下推荐使用导入的密钥?
- 密钥材料被意外删除时如何处理?
- 默认密钥如何生成?
- 没有权限操作KMS,该如何处理?
- 如何修补OpenSSL以使用-id-aes256-wrap-pad包装非对称密钥?
- 如何修补GmSSL以使用-sms4-wrap-pad包装非对称密钥?
- KMS支持的密钥算法类型
- 请求KMS异常,错误码401,应该如何处理?
- 进行SM2签名时,如何计算SM3摘要?
- 调用encrypt-data接口,返回的密文和明文有什么关系?
- KMS如何保护创建的密钥?
- 如何使用非对称密钥对公钥对签名结果进行验签?
- 外部导入的密钥支持轮转吗?
- 密钥管理服务支持离线加解密数据吗?
- 为什么SM2算法签名结果不是64字节?
- 如何将原始EC私钥转换成PKCS8格式的私钥对象?
- 如何将原始SM2私钥转换成PKCS8格式的私钥对象?
- 凭据管理类
-
密钥对管理类
- 密钥对的配额是多少?
- 如何创建密钥对?
- 什么是私有密钥对和账号密钥对?
- 导入通过PuTTYgen工具创建的密钥对失败如何处理?
- 使用IE9浏览器无法导入密钥对如何处理?
- 如何使用私钥登录Linux弹性云服务器?
- 如何通过私钥获取Windows弹性云服务器的登录密码?
- 绑定密钥对失败如何处理?
- 替换密钥对失败如何处理?
- 重置密钥对失败如何处理?
- 解绑密钥对失败如何处理?
- 替换密钥对后,服务器需要重启吗?
- 关闭弹性云服务器的密码登录方式后如何重新开启?
- 解绑密钥对后用户无法登录ECS时如何处理?
- 私钥不慎遗失怎么办?
- 如何转换私钥文件格式?
- 密钥对在创建主机成功之后可以更改吗?
- 密钥对是否支持多用户共享?
- 如何获取密钥对的私钥或公钥文件?
- 账号密钥首次创建、首次升级时系统报错如何处理?
- 私有密钥对升级账号密钥对后,会占用账号密钥对配额吗?
- 用户联邦身份登录时,私有密钥对升级账号密钥对之后,为什么私有密钥对会不可见?
- 专属加密类
- 计费类
- 通用类
-
密钥管理类
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
如何修补OpenSSL以使用-id-aes256-wrap-pad包装非对称密钥?
问题描述
默认情况下,OpenSSL命令行工具中未启用包装密码算法-id-aes256-wrap-pad。您可以下载并安装最新版本的OpenSSL,然后对其进行修补,以完成导入非对称密钥所需的信封包装。
解决方法
按照以下说明,使用bash命令创建已有OpenSSL的本地副本,而无需删除或更改OpenSSL的客户端默认安装。
- 以root用户完成以下操作步骤,以确保您对使用此命令的目录和二进制文件拥有正确的权限。
sudo su -
- 运行此命令并记下OpenSSL版本。
openssl version
- 在/root/build目录中下载最新的OpenSSL二进制文件。运行以下命令以设置目录。
mkdir $HOME/build
mkdir -p $HOME/local/ssl
cd $HOME/build
- 记住从下载页面(https://www.openssl.org/source/)下载的最新OpenSSL版本。
- 使用以下命令下载并解压缩二进制文件。
- 将openssl-1.1.1d.tar.gz替换为步骤4中的最新OpenSSL版本。
curl -O https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -zxf openssl-1.1.1d.tar.gz
- 安装修补程序,使gcc工具进行修补,然后编译已下载的二进制文件。
yum install patch make gcc -y
说明:
如果您使用的版本与OpenSSL-1.1.1d不同,您可能需要更改目录。您可能需要为更新的OpenSSL的版本更新这些命令,否则此修补程序可能无法正常工作。
- 复制并粘贴此数据块,然后在您的设备上选择输入。
sed -i "/BIO_get_cipher_ctx(benc, &ctx);/a\ EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPHER_CTX_FLAG_WRAP_ALLOW);" $HOME/build/openssl-1.1.1d/apps/enc.c
- 运行此命令来编译OpenSSL enc.c文件。
cd $HOME/build/openssl-1.1.1d/
./config --prefix=$HOME/local --openssldir=$HOME/local/ssl
make -j$(grep -c ^processor /proc/cpuinfo)
make install
- 成功安装最新版本的OpenSSL后,此版本的OpenSSL已与$HOME/local/ssl/lib/目录中的二进制文件动态链接,您的shell无法直接运行它。设置环境变量LD_LIBRARY_PATH,以确保有相关的库可用于OpenSSL。
- 由于您需要多次运行修复版本的OpenSSL,请创建一个名为openssl.sh的脚本,以在运行二进制文件之前加载$HOME/local/ssl/lib/路径。
cd $HOME/local/bin/
echo -e '#!/bin/bash \nenv LD_LIBRARY_PATH=$HOME/local/lib/ $HOME/local/bin/openssl "$@"' > ./openssl.sh
- 使用以下命令在脚本上设置执行位。
chmod 755 ./openssl.sh
- 要启动修复版本的OpenSSL,请执行此命令。
$HOME/local/bin/openssl.sh
父主题: 密钥管理类