AWS CloudHSM KMU を使用してプライベートキーをインポートする
AWS CloudHSM key_mgmt_util の importPrivateKey コマンドを使用して、非対称プライベートキーをファイルからハードウェアセキュリティモジュール (HSM) にインポートします。HSM では、クリアテキストのキーを直接インポートすることはできません。このコマンドは、指定した AES ラップキーを使用してプライベートキーを暗号化し、HSM 内のキーをラップ解除します。AWS CloudHSM キーを証明書と関連付ける場合は、このトピックを参照してください。
注記
パスワードで保護された PEM キーは、対称キーまたはプライベートキーを使用してインポートすることはできません。
OBJ_ATTR_UNWRAP
と OBJ_ATTR_ENCRYPT
属性値 1
を含む AES ラップキーを指定する必要があります。キーの属性を確認するには、getAttribute コマンドを使用します。
注記
このコマンドでは、インポートしたキーをエクスポート不可として指定するオプションは使用できません。
key_mgmt_util コマンドを実行する前に、key_mgmt_util を起動し、Crypto User (CU) として HSM に ログインする 必要があります。
Syntax
importPrivateKey -h importPrivateKey -l
<label>
-f<key-file>
-w<wrapping-key-handle>
[-sess] [-id<key-id>
] [-m_value<0...8>
] [min_srv<minimum-number-of-servers>
] [-timeout<number-of-seconds>
] [-u<user-ids>
] [-wk<wrapping-key-file>
] [-attest]
例
この例では、importPrivateKey を使ってプライベートキーを HSM にインポートする方法を示します。
例 : プライベートキーをインポートする
このコマンドは、rsa2048.key
というラベルとハンドルが 524299
のラップキーを使って、rsa2048-imported
という名前のファイルからプライベートキーをインポートします。importPrivateKey コマンドは、成功すると、インポートされたキーのキーハンドルと成功メッセージを返します。
Command:
importPrivateKey -f rsa2048.key -l rsa2048-imported -w 524299
BER encoded key length is 1216 Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Private Key Unwrapped. Key Handle: 524301 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
パラメータ
このコマンドでは、以下のパラメータを使用します。
-h
-
コマンドのコマンドラインヘルプを表示します
必須: はい
-l
-
ユーザー定義のプライベートキーラベルを指定します。
必須: はい
-f
-
インポートするキーのファイル名を指定します。
必須: はい
-w
-
ラップキーのキーハンドルを指定します。このパラメータは必須です。キーハンドルを見つけるには、findKey コマンドを使用します。
キーをラップキーとして使用できるかどうかを確認するには、getAttribute を使用して
OBJ_ATTR_WRAP
属性 (262) の値を取得します。ラップキーを作成するには、genSymKey を使用して AES キー (タイプ 31) を作成します。-wk
パラメータを使用して外部のラップ解除キーを指定した場合、インポート時の (ラップ解除ではなく) ラップには-w
ラップキーが使われます。必須: はい
-sess
-
インポートされたキーをセッションキーに指定します。
デフォルト: インポートされたキーは、クラスター内で永続 (トークン) キーとして保持されます。
必須:いいえ
-id
-
インポートするキーの ID を指定します。
デフォルト: ID 値なし。
必須:いいえ
-m_value
-
インポートされたキーを使用した暗号化オペレーションを、何人のユーザーが承認しなければならないかを指定します。
0
~8
の値を入力します。このパラメータが有効なのは、コマンドの
-u
パラメータがm_value
の要件を満たすために十分な数のユーザーとキーを共有するときのみです。デフォルト: 0
必須:いいえ
-min_srv
-
-timeout
パラメータの値が期限切れになる前に、インポートされたキーが最小いくつの HSM で同期されるかを指定します。キーが割り当てられた時間内に指定された数のサーバーに同期されない場合は、作成されません。AWS CloudHSM は、どのキーもクラスターのすべての HSM に自動的に同期します。プロセスを高速化するため、
min_srv
の値をクラスターの HSM の数より少なく設定し、低いタイムアウト値を設定します。ただし、一部のリクエストでキーが生成されない場合があることに注意してください。デフォルト: 1
必須:いいえ
-timout
-
min-serv
パラメータが含まれている場合に、すべての HSM でキーが同期されるまで待機する秒数を指定します。数値が指定されていない場合、ポーリングが永遠に続きます。デフォルト: 無制限
必須:いいえ
-u
-
インポートされたプライベートキーを共有するユーザーのリストを指定します。このパラメータは、他の HSM Crypto User (CU) に対し、インポートされたキーを暗号化オペレーションに使用するアクセス許可を付与します。
HSM ユーザー ID のカンマ区切りリスト (例: -
-u 5,6
) を入力します。現在のユーザーの HSM ユーザー ID を含めないでください。HSM で CU の HSM ユーザー ID を検索するには、listUsers を使用します。デフォルト: 現在のユーザーのみがインポートされたキーを使用できます。
必須:いいえ
-wk
-
インポートするキーのラップ解除に使用するキーを指定します。プレーンテキストの AES キーが含まれているファイルのパスと名前を入力します。
このパラメータを含めた場合、importPrivateKey は、インポートするキーのラップに
-wk
ファイルのキーを使用します。また、ラップ解除には-w
パラメータで指定されたキーを使用します。デフォルト:
-w
パラメータで指定されたラップキーを使用して、ラップとラップ解除の両方を行う。必須:いいえ
-attest
-
ファームウェアレスポンスの証明チェックを実行し、クラスターを実行するファームウェアが侵害されていないことを確認します。
必須:いいえ