KMU を使用してプライベート AWS CloudHSM キーをエクスポートする
AWS CloudHSM key_mgmt_util の exportPrivateKey コマンドを使用して、ハードウェアセキュリティモジュール (HSM) からファイルに非対称プライベートキーをエクスポートします。HSM では、クリアテキストのキーを直接エクスポートすることはできません。このコマンドは、指定した AES ラップキーを使用してプライベートキーをラップし、ラップされたバイトを復号化して、クリアテキストのプライベートキーをファイルにコピーします。
exportPrivateKey コマンドはキーを HSM から削除したり、キー属性を変更したり、今後の暗号化操作でのキーの使用を禁止したりすることはありません。同じキーを複数回エクスポートできます。
OBJ_ATTR_EXTRACTABLE
属性値が 1
のプライベートキーのみエクスポートすることができます。OBJ_ATTR_WRAP
と OBJ_ATTR_DECRYPT
属性値 1
を持つ AES ラップキーを指定する必要があります。キーの属性を確認するには、getAttribute コマンドを使用します。
key_mgmt_util コマンドを実行する前に、key_mgmt_util を起動し、Crypto User (CU) として HSM に ログインする 必要があります。
Syntax
exportPrivateKey -h exportPrivateKey -k
<private-key-handle
-w<wrapping-key-handle>
-out<key-file>
[-m<wrapping-mechanism>
] [-wk<wrapping-key-file>
]
例
この例では、exportPrivateKey を使って HSM からプライベートキーをエクスポートする方法を示します。
例 : プライベートキーをエクスポートする
このコマンドは、ハンドルが 16
のラップキーを使い、ハンドルが 15
のプライベートキーを exportKey.pem
という PEM ファイルにエクスポートします。exportPrivateKey は、コマンドが成功すると成功メッセージを返します。
Command:
exportPrivateKey -k 15 -w 16 -out exportKey.pem
Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS PEM formatted private key is written to exportKey.pem
パラメータ
このコマンドでは、以下のパラメータを使用します。
-h
-
コマンドのコマンドラインヘルプを表示します
必須: はい
-k
-
エクスポートするプライベートキーのキーハンドルを指定します。
必須: はい
-w
-
ラップキーのキーハンドルを指定します。このパラメータは必須です。キーハンドルを見つけるには、findKey コマンドを使用します。
キーをラップキーとして使用できるかどうかを確認するには、getAttribute を使用して
OBJ_ATTR_WRAP
属性 (262) の値を取得します。ラップキーを作成するには、genSymKey を使用して AES キー (タイプ 31) を作成します。-wk
パラメータを使用して外部のラップ解除キーを指定した場合、エクスポート時の (ラップ解除ではなく) ラップに-w
ラップキーが使われます。必須: はい
-out
-
エクスポートしたプライベートキーの書き込み先とするファイルの名前を指定します。
必須: はい
-m
-
エクスポートするプライベートキーのラップ方法を指定します。唯一の有効な値は
4
です。これはNIST_AES_WRAP mechanism.
を指します。デフォルト: 4 (
NIST_AES_WRAP
)必須:いいえ
-wk
-
エクスポートするキーをラップ解除するためのキーを指定します。プレーンテキストの AES キーが含まれているファイルのパスと名前を入力します。
このパラメータを含めた場合、exportPrivateKey は、エクスポートするキーをラップする際に
-w
ファイルのキーを使用し、ラップ解除する際に-wk
パラメータで指定されたキーを使用します。デフォルト:
-w
パラメータで指定されたラップキーを使用して、ラップとラップ解除の両方を行う。必須:いいえ