JCE専用KMSキーストア

専用KMS JCEプロバイダのキーストアについて学習します。

このトピックで説明するKeyStore Javaクラスは、キー・データの格納に使用され、これらをHSMクラスタに格納されているキー・データと関連付けます。また、証明書をメモリーに格納する機能も提供します。

専用KMS KeyStore

DedicatedKMSKeyStoreは、KeyStoreSpi Javaクラスを拡張します。次のようにDedicatedKmsKeyStoreオブジェクトを作成します。

`KeyStore ks = KeyStore.getInstance(DedicatedKmsProvider.DEDICATED_KMS_KEYSTORE_TYPE);`

このKeyStoreには、次の機能があります。

機能 説明
別名 ローカル・メモリーベース・ストアで見つかったすべての別名を返します。
containsAlias getKeyと同様に、この関数はまずローカル・メモリーベースのストアを検索し、次にHSMで指定した別名の一致を検索します。
deleteEntry 指定された別名をローカル・メモリーベースのストアから削除します。鍵は引き続きHSM上で動作します。HSMのキーを削除するには、DedicatedKmsKeyクラスの関数destroy、またはキー管理ユーティリティのdeleteKeyコマンドを使用します。
getCertificate 指定された別名の証明書を取得します。
getCertificateAlias 指定された証明書が、ローカル・メモリーベースのストアに格納されている証明書と一致するかどうかを確認します。
getCertificateChain 指定された別名の証明書のチェーンを取得します。
getCreationDate 指定されたキーがローカル・メモリーベースのストアに追加された日付を返します。
getKey 指定された別名に関連付けられたキーをキーストアから取得します。この関数は、最初にローカルメモリーベースのストアから鍵を取得しようとします。キーが見つからない場合、専用KMSはハードウェア・セキュリティ・モジュール(HSM)で、サポートされているキー・タイプを検索します。HSMでは一意キー・ラベルが強制されないため、複数のキーが見つかった場合は、ランダムな非公開キーが返されます。
isCertificateEntry 指定された別名が証明書エントリに関連付けられているかどうかを示します。
isKeyEntry 指定された別名がキー・エントリに関連付けられているかどうかを示します。getKeyと同様に、この関数はまずローカル・メモリーベースのストアを検索し、次にHSMで指定したキー・エントリの一致を検索します。
ロード 指定された入力ストリームからキーストアをロードします。
setCertificateEntry 指定された証明書を別名に割り当て、その証明書をローカルメモリーベースのストアに格納します。
setKeyEntry (キー・オブジェクトあり) 指定されたキーを別名に割り当て、そのキーをローカル・メモリーベースのストアおよびHSMに格納します。
setKeyEntry (byte[]キーあり) このAPIはサポートされていません。
サイズ ローカル・メモリーベース・ストアのエントリ数を取得します。
ストア キーストアを指定された出力ストリームに格納します。

専用KMS拡張KeyStore

DedicatedKmsExtendedKeystoreは、DedicatedKmsExtendedKeyStoreSpi Javaクラスを拡張します。次のようにDedicatedKmsExtendedKeyStoreオブジェクトを作成します。

`DedicatedKmsExtendedKeystore keyStore = DedicatedKmsExtendedKeystore.getInstance(DedicatedKmsProvider.DEDICATED_KMS_KEYSTORE_TYPE);`

このKeyStoreには、次の機能があります。

機能 説明
findKey 指定された別名、キー・タイプ(RSA、EC、AES、DES3など)およびキー・オブジェクト・タイプ(PUBLIC_KEYPRIVATE_KEYSECRET_KEYなど)に一致するランダム・キーをハードウェア・セキュリティ・モジュール(HSM)で検索します。
findKeys 指定された別名、キー・タイプ(exmaple、RSA、EC、AESまたはDES3の場合)およびキー・オブジェクト・タイプ(PUBLIC_KEYPRIVATE_KEYSECRET_KEYなど)に一致するハードウェア・セキュリティ・モジュール(HSM)内のすべてのキーを検索します。