- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- API参考
- SDK参考
-
常见问题
-
密钥管理类
- 什么是密钥管理?
- 什么是用户主密钥?
- 什么是默认密钥?
- 自定义密钥与默认密钥有什么区别?
- 什么是数据加密密钥?
- 为什么不能立即删除用户主密钥?
- 哪些云服务使用KMS加密数据?
- 华为云服务如何使用KMS加密数据?
- 信封加密方式有什么优势?
- 在KMS中创建的自定义密钥的个数是否有限制?
- 是否可以从KMS中导出用户主密钥?
- 如果自定义密钥被彻底删除,用户数据是否还可以解密?
- 如何使用在线工具加解密数据?
- 是否可以更新KMS管理的密钥?
- 在什么场景下推荐使用导入的密钥?
- 密钥材料被意外删除时如何处理?
- 默认密钥如何生成?
- 没有权限操作KMS,该如何处理?
- 如何修补OpenSSL以使用-id-aes256-wrap-pad包装非对称密钥?
- KMS支持的密钥算法类型
- 请求KMS异常,错误码401,应该如何处理?
- 调用encrypt-data接口,返回的密文和明文有什么关系?
- KMS如何保护创建的密钥?
- 如何使用非对称密钥对公钥对签名结果进行验签?
- 外部导入的密钥支持轮转吗?
- 密钥管理服务支持离线加解密数据吗?
- 如何将原始EC私钥转换成PKCS8格式的私钥对象?
- 凭据管理类
-
密钥对管理类
- 如何创建密钥对?
- 什么是私有密钥对和账号密钥对?
- 导入通过PuTTYgen工具创建的密钥对失败如何处理?
- 使用IE9浏览器无法导入密钥对如何处理?
- 如何使用私钥登录Linux弹性云服务器?
- 如何通过私钥获取Windows弹性云服务器的登录密码?
- 绑定密钥对失败如何处理?
- 替换密钥对失败如何处理?
- 重置密钥对失败如何处理?
- 解绑密钥对失败如何处理?
- 替换密钥对后,服务器需要重启吗?
- 关闭弹性云服务器的密码登录方式后如何重新开启?
- 解绑密钥对后用户无法登录ECS时如何处理?
- 私钥不慎遗失怎么办?
- 如何转换私钥文件格式?
- 密钥对在创建主机成功之后可以更改吗?
- 密钥对是否支持多用户共享?
- 如何获取密钥对的私钥或公钥文件?
- 账号密钥首次创建、首次升级时系统报错如何处理?
- 私有密钥对升级账号密钥对后,会占用账号密钥对配额吗?
- 用户联邦身份登录时,私有密钥对升级账号密钥对之后,为什么私有密钥对会不可见?
- 专属加密类
- 计费类
- 通用类
-
密钥管理类
- 视频帮助
-
更多文档
- 用户指南(阿布扎比区域)
-
用户指南(吉隆坡区域)
- 产品介绍
- 用户指南
-
常见问题
-
密钥管理类
- 什么是密钥管理?
- 什么是用户主密钥?
- 什么是默认密钥?
- 自定义密钥与默认密钥有什么区别?
- 什么是数据加密密钥?
- 为什么不能立即删除用户主密钥?
- 哪些云服务使用KMS加密数据?
- 云服务如何使用KMS加密数据?
- 信封加密方式有什么优势?
- 在KMS中创建的自定义密钥的个数是否有限制?
- 是否可以从KMS中导出用户主密钥?
- 如果自定义密钥被彻底删除,用户数据是否还可以解密?
- 如何使用在线工具加解密数据?
- 是否可以更新KMS管理的密钥?
- 在什么场景下推荐使用导入的密钥?
- 可以导入哪些类型的密钥?
- 密钥材料被意外删除时如何处理?
- 默认密钥如何生成?
- 没有权限操作KMS,该如何处理?
- 如何修补OpenSSL以使用-id-aes256-wrap-pad包装非对称密钥?
- KMS支持的密钥算法类型
- 请求KMS异常,错误码401,应该如何处理?
- 调用encrypt-data接口,返回的密文和明文有什么关系?
- KMS如何保护创建的密钥?
- 凭据管理类
-
密钥管理类
- 修订记录
- API参考(阿布扎比区域)
- API参考(吉隆坡区域)
- 通用参考
链接复制成功!
导入密钥材料
操作场景
当用户希望使用自己的密钥材料,而不是KMS生成的密钥材料时,可通过密钥管理服务界面将自己的密钥材料导入到KMS,由KMS统一管理。
该任务指导用户通过密钥管理服务界面导入密钥材料。
- 导入的密钥与通过密钥管理服务创建的用户主密钥一样支持启用、禁用、计划删除和取消删除等操作。
- 用户仅能导入256位对称密钥。
前提条件
- 已获取管理控制台的登录帐号与密码。
- 已准备好待导入的密钥材料。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域或项目。
- 选择“安全 > 密钥管理服务”,进入密钥管理服务界面。
- 单击页面右上角的“导入密钥”,弹出“导入密钥”对话框。
- 在弹出的对话框中填写密钥的“别名”、“企业项目”与“描述”。
图1 创建空密钥
- (可选)用户可根据自己的需要为用户主密钥添加标签,输入“标签键”和“标签值”。
说明:
- 当用户在创建密钥时,没有为该用户主密钥添加标签。若用户需要为该用户主密钥添加标签,可单击该用户主密钥的别名,进入密钥详情页面,为该用户主密钥添加标签。
- 同一个用户主密钥下,一个标签键只能对应一个标签值;不同的用户主密钥下可以使用相同的标签键。
- 用户最多可以给单个用户主密钥添加20个标签。
- 当同时添加多个标签,需要删除其中一个待添加的标签时,可单击该标签所在行的“删除”,删除标签。
- 单击“安全性与持久性”阅读并了解导入密钥的安全性和持久性。
- 勾选“我已经了解导入密钥的安全性和持久性”,创建密钥材料为空的用户主密钥。
- 单击“下一步”,进入“获取包装密钥和导入令牌”页面。根据表1选择密钥包装算法。
图2 获取包装密钥和导入令牌
表1 密钥包装算法说明 密钥包装算法
说明
设置
RSAES_OAEP_SHA_256
具有“SHA-256”哈希函数的OAEP的RSA加密算法。
请用户根据自己的HSM功能选择加密算法。
- 如果您的HSM支持“RSAES_OAEP_SHA_256”加密算法,推荐使用“RSAES_OAEP_SHA_256”加密密钥材料。
- 如果您的HSM不支持“OAEP”选项,用户可以使用“RSAES_PKCS1_V1_5”加密密钥材料。
须知:“RSAES_OAEP_SHA_1”加密算法已经不再安全,请谨慎选择。
RSAES_PKCS1_V1_5
PKCS#1 v1.5版本的RSA加密算法。
RSAES_OAEP_SHA_1
具有“SHA-1”哈希函数的OAEP的RSA加密算法。
- 单击“下载”,下载的文件包含包装密钥、导入令牌和说明文件,如图3所示。
- wrappingKey_密钥ID_下载时间:即包装密钥,用于加密密钥材料的包装密钥。
- importToken_密钥ID_下载时间:即导入令牌,KMS导入密钥材料时需要使用。
- README_密钥ID_下载时间:即说明文件,记录包装密钥序列号、密钥包装算法、包装密钥文件名称、令牌文件名称以及包装密钥和令牌的过期时间。
须知:
包装密钥和导入令牌将在24小时后失效,失效后将不能使用。如果包装密钥和导入令牌失效,请重新下载包装密钥和导入令牌。
同时,用户也可以通过调用API接口的方式获取包装密钥和导入令牌。- 调用“get-parameters-for-import”接口,获取包装密钥和导入令牌。
如下以获取密钥ID为“43f1ffd7-18fb-4568-9575-602e009b7ee8”,加密算法为“RSAES_PKCS1_V1_5”的包装密钥和导入令牌为例。
“public_key”:调用API接口返回的base64编码的包装密钥内容。
“import_token”:调用API接口返回的base64编码的导入令牌内容。
- 请求样例
{ "key_id": "43f1ffd7-18fb-4568-9575-602e009b7ee8", "wrapping_algorithm":"RSAES_PKCS1_V1_5" }
- 响应样例
{ "key_id": "43f1ffd7-18fb-4568-9575-602e009b7ee8", "public_key":"public key base64 encoded data", "import_token":"import token base64 encoded data", "expiration_time":1501578672 }
- 请求样例
- 保存包装密钥,包装密钥需要按照以下步骤转换格式。使用转换格式后的包装密钥进行加密的密钥材料才能成功导入管理控制台。
- 复制包装密钥“public_key”的内容,粘贴到“.txt”文件中,并保存为“PublicKey.b64”。
- 使用OpenSSL,执行以下命令,对“PublicKey.b64”文件内容进行base64转码,生成二进制数据,并将转码后的文件保存为“PublicKey.bin”。
openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.bin
- 保存导入令牌,复制导入令牌“import_token”的内容,粘贴到“.txt”文件中,并保存为“ImportToken.b64”。
- 使用下载的“包装密钥”对待导入的密钥材料进行加密。
- 方法一:使用下载的包装密钥在自己的HSM中加密密钥材料,详细信息请参考您的HSM操作指南。
- 方法二:采用OpenSSL加密密钥材料。
说明:
若用户需要使用openssl pkeyutl命令,OpenSSL需要是1.0.2及以上版本。
如下以使用下载的包装密钥,加密生成的密钥材料(256位对称密钥)为例说明,操作步骤如下所示:- 执行以下命令,生成密钥材料(256位对称密钥),并将生成的密钥材料以“PlaintextKeyMaterial.bin”命名保存。
openssl rand -out PlaintextKeyMaterial.bin 32
- 使用下载的包装密钥加密密钥材料,并将加密后的密钥材料按“EncryptedKeyMaterial.bin”命名保存。
以下命令中的PublicKey.bin参数请以10下载的包装密钥名称wrappingKey_密钥ID_下载时间进行替换。
表2 使用下载的包装密钥加密生成的密钥材料 包装密钥算法
加密生成的密钥材料
RSAES_OAEP_SHA_256
openssl pkeyutl
-in PlaintextKeyMaterial.bin
-inkey PublicKey.bin
-out EncryptedKeyMaterial.bin
-keyform der
-pubin -encrypt
-pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256
RSAES_PKCS1_V1_5
openssl rsautl -encrypt
-in PlaintextKeyMaterial.bin
-pkcs
-inkey PublicKey.bin
-keyform der
-pubin
-out EncryptedKeyMaterial.bin
RSAES_OAEP_SHA_1
openssl pkeyutl
-in PlaintextKeyMaterial.bin
-inkey PublicKey.bin
-out EncryptedKeyMaterial.bin
-keyform der
-pubin -encrypt
-pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha1
- 执行以下命令,生成密钥材料(256位对称密钥),并将生成的密钥材料以“PlaintextKeyMaterial.bin”命名保存。
- 单击“下一步”,进入“导入密钥材料”页面。根据表3配置参数。
图4 导入密钥材料
- 单击“下一步”,进入“导入密钥令牌”页面。根据表4设置参数。
图5 导入密钥令牌
- 单击“确定”,完成导入密钥。
须知:
密钥ID、导入的密钥材料和导入的令牌需要全部匹配,密钥材料才能导入成功,否则会导入失败。
用户可在密钥列表中查看到导入的密钥信息,导入密钥的默认状态为“启用”。