翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
キーストレージプロバイダー (KSP) を AWS CloudHSM クライアント SDK 3 からクライアント SDK 5 に移行する
このトピックでは、キーストレージプロバイダー (KSP) を AWS CloudHSM クライアント SDK 3 からクライアント SDK 5 に移行する方法について説明します。移行の利点については、「」を参照してくださいAWS CloudHSM クライアント SDK 5 の利点。
では AWS CloudHSM、 AWS CloudHSM クライアントソフトウェア開発キット (SDK) を使用して暗号化オペレーションを実行します。クライアント SDK 5 は、新機能とプラットフォームサポートの更新を受け取るプライマリ SDK です。
すべてのプロバイダーの移行手順については、「」を参照してくださいAWS CloudHSM クライアント SDK 3 からクライアント SDK 5 への移行。
クライアント SDK 5 への移行
-
Windows Server インスタンスにクライアント SDK 5 キーストレージプロバイダー (KSP) をインストールします。手順については、「AWS CloudHSM クライアント SDK 5 のキーストレージプロバイダー (KSP) をインストールする」を参照してください。
-
新しい設定ファイル形式とコマンドラインブートストラップツールを使用して、クライアント SDK 5 キーストレージプロバイダー (KSP) を設定します。手順については、「クライアント SDK をブートストラップする」を参照してください。
-
AWS CloudHSM クライアント SDK 5 のキーストレージプロバイダー (KSP) には、SDK3 で生成されたキーリファレンスファイルをサポートする SDK3 互換モードが含まれています。詳細については、「のキーストレージプロバイダー (KSP) の SDK3 互換性モード AWS CloudHSM」を参照してください。
注記
クライアント SDK3 でクライアント SDK 3 が生成したキーリファレンスファイルを使用する場合は、SDK3 互換モードを有効にする必要があります。
新しい Windows Server インスタンスへの移行
-
「新しい Windows Server インスタンスでクライアント SDK 5 に移行する」のすべてのステップを完了します。
-
既存のキーリファレンスファイルを確認する
元の Windows Server インスタンスで、 でキーリファレンスファイルを確認します
C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition
。-
キーリファレンスファイルが存在する場合は、
C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP
を含む のすべてのコンテンツを新しい Windows Server インスタンスのGlobalPartition
同じディレクトリパスにコピーします。ディレクトリが存在しない場合は作成します。 -
キーリファレンスファイルが存在しない場合は、新しい Windows Server インスタンス
cloudhsm-cli key generate-file --encoding ksp-key-reference
で を使用して作成します。手順については、「KSP キーリファレンスの生成 (Windows)」を参照してください。
-
-
ルート証明書の検証
信頼できるルート認証機関でルート証明書を確認します。
PS C:\Users\Administrator\Desktop> certutil -store Root Root "Trusted Root Certification Authorities" ================ Certificate 0 ================ Serial Number:
certificate-serial-number
Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Issuer: CN=MYRootCA Signature matches Public Key Root Certificate: Subject matches Issuer Cert Hash(sha1):cert-hash
No key provider information Cannot find the certificate and private key for decryption. CertUtil: -store command completed successfully.注記
次のステップで使用する証明書のシリアル番号を書き留めます。
-
ルート証明書をエクスポートする
ルート証明書をファイルにエクスポートします。
certutil -store Root
certificate-serial-number
root-certificate-name
.cer -
HSM バックエンド証明書を検証する
個人用証明書ストアで HSM バックエンド証明書を確認します。
PS C:\Users\Administrator\Desktop> certutil -store My my "Personal" ================ Certificate 0 ================ Serial Number:
certificate-serial-number
Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US Non-root Certificate Cert Hash(sha1):cert-hash
Key Container =key-container-name
Provider = Cavium Key Storage Provider Private key is NOT exportable Encryption test passed CertUtil: -store command completed successfully.注記
次のステップで使用する証明書のシリアル番号を書き留めます。
-
HSM バックエンド証明書をエクスポートする
HSM バックエンド証明書をファイルにエクスポートします。
certutil -store My
certificate-serial-number
signed-certificate-name
.cer -
ルート証明書をインポートする
新しい Windows インスタンスの場合:
-
ルート CA ファイルを新しい Windows インスタンスにコピーする
-
証明書をインポートします。
certutil -addstore Root
root-certificate-name
.cer
-
-
ルート証明書のインストールを確認する
ルート証明書が正しくインストールされていることを確認します。
PS C:\Users\Administrator\Desktop> certutil -store Root Root "Trusted Root Certification Authorities" ================ Certificate 0 ================ Serial Number:
certificate-serial-number
Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Issuer: CN=MYRootCA Signature matches Public Key Root Certificate: Subject matches Issuer Cert Hash(sha1):cert-hash
No key provider information Cannot find the certificate and private key for decryption. CertUtil: -store command completed successfully. -
HSM バックエンド証明書をインポートする
新しい Windows インスタンスの場合:
-
HSM バックエンド証明書を新しい Windows インスタンスにコピーする
-
証明書をインポートします。
certutil -addstore My
signed-certificate-name
.cer
-
-
HSM バックエンド証明書のインストールを検証する
HSM バックエンド証明書が正しくインストールされていることを確認します。
PS C:\Users\Administrator\Desktop> certutil -store My my "Personal" ================ Certificate 0 ================ Serial Number:
certificate-serial-number
Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US Non-root Certificate Cert Hash(sha1):cert-hash
No key provider information Cannot find the certificate and private key for decryption. CertUtil: -store command completed successfully.注記
後続のステップで使用する証明書のシリアル番号を書き留めます。
-
キーリファレンスファイルを作成する (オプション)
新しいキーリファレンスファイルを作成する必要がある場合にのみ、このステップを完了します。それ以外の場合は、次のステップに進みます。
注記
この機能は SDK バージョン 5.16.0 以降でのみ使用できます。
-
OpenSSL
をインストールし、モジュラスを抽出します。 openssl x509 -in
signed-certificate-name
.cer -modulus -noout注記
OpenSSL コマンドは、モジュラスを の形式で出力します
Modulus=
。次のコマンドで使用するmodulus-value
modulus-value
を書き留めます。 -
CloudHSM CLI を使用してキーリファレンスファイルを作成します。「」を参照してくださいKSP キーリファレンスの生成 (Windows)。
& "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" key generate-file --encoding ksp-key-reference --filter attr.class=private-key attr.modulus=0x
modulus-value
注記
CloudHSM CLI コマンド引数の
モジュラス値
には、16 進数形式を示す0x
ためにプレフィックスを付ける必要があります。キーリファレンスファイルは で作成されます
C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition
。
-
-
修復設定を作成する
以下の内容で
repair.txt
という名前のファイルを作成します。[Properties] 11 = "" ; Add friendly name property 2 = "{text}" ; Add Key Provider Information property _continue_="Container=
key-container-name
&" _continue_="Provider=Cavium Key Storage Provider&" _continue_="Flags=0&" _continue_="KeySpec=2"注記
key-container-name
を のキーリファレンスファイル名に置き換えますC:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition
。 -
証明書ストアを修復する
修復コマンドを実行します。
certutil -repairstore My
certificate-serial-number
repair.txt注記
証明書のシリアル番号は、HSM バックエンド証明書のインストールを確認する前のステップから取得されます。
-
証明書の関連付けを検証する
証明書が正しく関連付けられていることを確認します。
PS C:\Users\Administrator\Desktop> certutil -store My my "Personal" ================ Certificate 0 ================ Serial Number:
certificate-serial-number
Issuer: CN=MYRootCA NotBefore: 2/5/2020 1:38 PM NotAfter: 2/5/2021 1:48 PM Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US Non-root Certificate Cert Hash(sha1):cert-hash
Key Container =key-container-name
Provider = Cavium Key Storage Provider Private key is NOT exportable ERROR: Could not verify certificate public key against private key CertUtil: -store command completed successfully.出力に以下が表示されていることを確認します。
-
正しいキーコンテナ名
-
Cavium キーストレージプロバイダー
-
ERROR: Could not verify certificate public key against private key
は既知の問題です。「」を参照してください。 問題: 証明書ストアの検証が失敗する
-
-
アプリケーションをテストする
移行を完了する前に:
-
開発環境でアプリケーションをテストする
-
コードを更新して重大な変更を解決する
-
アプリケーション固有のガイダンスについては、「」を参照してください。 AWS CloudHSMとサードパーティアプリケーションの統合
-
移行を検証する
移行ステップが完了したら、以下を確認します。
-
証明書が正しい証明書ストアに正しくインストールされている
-
キーリファレンスファイルが正しい場所に存在する
-
アプリケーションは、移行された証明書を使用して暗号化オペレーションを実行できます。
トラブルシューティング
移行中に問題が発生した場合は、以下を確認します。
-
すべての証明書がソースシステムから適切にエクスポートされている
-
証明書のシリアル番号がシステム間で一致
-
repair.txt ファイル内のキーコンテナ名がキーリファレンスファイルと一致する
-
SDK3 でSDK3-generated 互換モードが有効になります