跳转到内容
搜索文档

AWS cloud HSM

最后更新 查看 MarkdownAgent 设置

开始之前

请确保您已:


1. 将公钥和私钥导入 HSM

导入公钥之前,请从 CA 提供的证书中提取公钥。将私钥内容放入 privkey.pem,然后运行以下命令(将 certificate.pem 替换为您的实际证书)以填充 pubkey.pm

keyserver$ openssl x509 -pubkey -noout -in certificate.pem > pubkey.pem

使用先前创建的 crypto user (CU) 账户登录 CloudHSM,并生成将用于导入私钥的密钥加密密钥。

keyserver$ /opt/cloudhsm/bin/key_mgmt_util
Command: loginHSM -u CU -s patrick -p donahue
Command: genSymKey -t 31 -s 16 -sess -l import-wrapping-key
...
Symmetric Key Created.  Key Handle: 658
...

引用上面返回的密钥句柄,导入私钥和公钥,然后退出 HSM:

Command: importPrivateKey -f privkey.pem -l mykey -id 1 -w 658
...
Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS
Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS
Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS
...
Private Key Unwrapped.  Key Handle: 658


Command: importPubKey -f pubkey.pem -l mykey -id 1
Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS
...
Public Key Handle: 941


Command: logoutHSM
Command: exit

2. 修改 gokeyless 配置文件并重启服务

密钥就绪后,需要修改密钥服务器在启动时将读取的配置文件。将 object=mykeypin-value=username:password 值更改为与您提供的密钥标签和创建的 CU 用户匹配。

打开 /etc/keyless/gokeyless.yaml,在紧接其后的位置:

private_key_stores:
  - dir: /etc/keyless/keys

添加:

- uri: pkcs11:token=cavium;object=mykey?module-path=/opt/cloudhsm/lib/libcloudhsm_pkcs11_standard.so&pin-value=patrick:donahue&max-sessions=1

保存配置文件后,重启 gokeyless 并验证其是否成功启动。

sudo systemctl restart gokeyless.service
sudo systemctl status gokeyless.service -l

这篇文档对您有帮助吗?