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_KEY 、PRIVATE_KEY 、SECRET_KEY など)に一致するランダム・キーをハードウェア・セキュリティ・モジュール(HSM)で検索します。 |
findKeys | 指定された別名、キー・タイプ(exmaple、RSA、EC、AESまたはDES3の場合)およびキー・オブジェクト・タイプ(PUBLIC_KEY 、PRIVATE_KEY 、SECRET_KEY など)に一致するハードウェア・セキュリティ・モジュール(HSM)内のすべてのキーを検索します。 |