コンテンツにスキップ

AWS Cloud HSM


始める前に

次のことを確認してください:


1. 公開鍵と秘密鍵をHSMにインポートする

公開鍵をインポートする前に、CAから提供された証明書から公開鍵を抽出します。秘密鍵の内容をprivkey.pemに置き、次のコマンドを実行して(certificate.pemを実際の証明書に置き換えて)pubkey.pemを生成します。

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

以前に作成した暗号ユーザー(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
...
対称鍵が作成されました。鍵ハンドル: 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
...
秘密鍵がアンラップされました。鍵ハンドル: 658
Command: importPubKey -f pubkey.pem -l mykey -id 1
Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS
...
公開鍵ハンドル: 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を再起動し、正常に起動したことを確認します。

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