- java.lang.Object
- 
- java.security.KeyStore
 
- 
 public class KeyStore extends Object このクラスは、暗号化の鍵と証明書の格納場所を表現したものです。KeyStoreは異なるタイプのエントリを管理します。 個々のエントリ・タイプはKeyStore.Entryインタフェースを実装します。 次の3つの基本KeyStore.Entry実装が提供されています。- KeyStore.PrivateKeyEntry
 このタイプのエントリには暗号化 PrivateKeyが格納されます。許可されないアクセスを防ぐために保護形式で格納できるようになっています。 また、対応する公開鍵の証明書チェーンもいっしょに格納されます。非公開鍵と証明書チェーンは、指定されたエンティティによって自身の認証のために使用されます。 この認証が利用されるのは、ソフトウェア配布組織がソフトウェアのリリースやライセンス供与の一貫としてJARファイルに署名する場合などです。 
- KeyStore.SecretKeyEntry
 このタイプのエントリには暗号化 SecretKeyが格納されます。許可されないアクセスを防ぐために保護形式で格納できるようになっています。
- KeyStore.TrustedCertificateEntry
 このタイプのエントリには別の組織に属する単一の公開鍵 Certificateが格納されます。 これは信頼できる証明書と呼ばれますが、それは、キーストアの所有者が、証明書内の公開鍵が実際に証明書のサブジェクト (所有者)によって識別されたアイデンティティに属することを信頼するためです。この種類のエントリは、ほかの組織の認証に使うことができます。 
 キーストア内の各エントリは、「別名」文字列によって識別されます。 非公開鍵とそれに関連付けられた証明書チェーンの場合は、これらの文字列は、エンティティ自体が認証するというように、方法別に区別されます。 たとえば、エンティティが異なる証明書発行局を使ったり、異なる公開鍵アルゴリズムを使ったりして、エンティティ自体を認証することも可能です。 別名の大文字と小文字が区別されるかどうかは、実装によって異なります。 問題の発生を防ぐため、KeyStore内では、大文字と小文字の区別が異なるだけの別名を使用しないようにしてください。 キーストアが持続性があるかどうか、および持続性がある場合に使われるメカニズムは、ここでは指定されません。 これにより、重要な(秘密または非公開)鍵を保護するためのさまざまな技術を使うことができます。 スマート・カードまたはその他の統合暗号化エンジン(SafeKeyper)を使うことも1つの方法です。また、ファイルなどのより単純なメカニズムをさまざまな形式で使うこともできます。 KeyStoreオブジェクトをリクエストする典型的な方法は、既存のキーストア・ファイルを指定すること、デフォルトの型に依存すること、および特定のキーストア型を提供することです。 - 既存のキーストア・ファイルを指定するには:
 // get keystore password char[] password = getPassword(); // probe the keystore file and load the keystore entries KeyStore ks = KeyStore.getInstance(new File("keyStoreName"), password);システムは、指定されたファイルを調べてキーストアの型を判断し、すでにロードされているエントリを持つキーストア実装を返します。 この手法を使用する場合、キーストアloadメソッドを呼び出す必要はありません。
- デフォルトのタイプを利用するには、次のようにします。
 KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());システムは、デフォルト・タイプのキーストア実装を返します。
- 特定のキーストア・タイプを指定するには、次のようにします。
 KeyStore ks = KeyStore.getInstance("JKS");システムは、環境内で利用可能な実装のうち、指定されたキーストア・タイプにもっとも適したものを返します。
 キーストアにアクセスするには、事前に loaded(インスタンシエーション中に既にロードされていない限り)でなければなりません。KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); // get user password and file input stream char[] password = getPassword(); try (FileInputStream fis = new FileInputStream("keyStoreName")) { ks.load(fis, password); }上記のloadメソッドを使って空のキーストアを作成するには、InputStream引数としてnullを渡します。キーストアのロードが完了すると、既存のエントリをキーストアから読み取ったり、新しいエントリをキーストアに書き込んだりできます。 KeyStore.ProtectionParameter protParam = new KeyStore.PasswordProtection(password); // get my private key KeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry) ks.getEntry("privateKeyAlias", protParam); PrivateKey myPrivateKey = pkEntry.getPrivateKey(); // save my secret key javax.crypto.SecretKey mySecretKey; KeyStore.SecretKeyEntry skEntry = new KeyStore.SecretKeyEntry(mySecretKey); ks.setEntry("secretKeyAlias", skEntry, protParam); // store away the keystore try (FileOutputStream fos = new FileOutputStream("newKeyStoreName")) { ks.store(fos, password); }なお、上記サンプル・コードで示したように、キーストアのロード、非公開鍵エントリの保護、秘密鍵エントリの保護、およびキーストアの格納には同じパスワードを使用できますが、異なるパスワードやその他の保護パラメータも使用できます。Javaプラットフォームの実装は、すべて次の標準の KeyStoreタイプをサポートする必要があります。- PKCS12
 - 導入されたバージョン:
- 1.2
- 関連項目:
- PrivateKey,- SecretKey,- Certificate
 
- KeyStore.PrivateKeyEntry
 
- 
- 
ネストされたクラスのサマリーネストされたクラス 修飾子と型 クラス 説明 static classKeyStore.Builderインスタンス化すべきKeyStoreオブジェクトを記述したクラスです。static classKeyStore.CallbackHandlerProtectionCallbackHandlerをカプセル化したProtectionParameterです。static interfaceKeyStore.EntryKeyStoreエントリの種類に対するマーカー・インタフェースです。static interfaceKeyStore.LoadStoreParameterstatic classKeyStore.PasswordProtectionProtectionParameterのパスワードベースの実装です。static classKeyStore.PrivateKeyEntry特定のPrivateKeyと対応する証明書チェーンが格納されたKeyStoreエントリです。static interfaceKeyStore.ProtectionParameterキーストアの保護パラメータに対するマーカー・インタフェースです。static classKeyStore.SecretKeyEntry特定のSecretKeyが格納されたKeyStoreエントリです。static classKeyStore.TrustedCertificateEntry信頼できるCertificateが格納されたKeyStoreエントリです。
 - 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 protectedKeyStore(KeyStoreSpi keyStoreSpi, Provider provider, String type)指定されたタイプのKeyStoreオブジェクトを作成し、そのオブジェクトで、指定されたプロバイダの実装であるSPIオブジェクトをカプセル化します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 Enumeration<String>aliases()このキーストアのすべての別名を一覧表示します。booleancontainsAlias(String alias)このキーストアに、指定された別名が存在するかどうかを判定します。voiddeleteEntry(String alias)このキーストアから、指定された別名によって識別されるエントリを削除します。booleanentryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass)指定されたaliasのキーストアEntryが、指定されたentryClassのインスタンスまたはサブクラスであるかどうかを判定します。CertificategetCertificate(String alias)指定された別名に関連した証明書を返します。StringgetCertificateAlias(Certificate cert)指定された証明書と一致する証明書がある最初のキーストア・エントリの別名を返します。Certificate[]getCertificateChain(String alias)指定された別名に関連付けられた証明書チェーンを返します。DategetCreationDate(String alias)指定された別名によって識別されるエントリの作成日を返します。static StringgetDefaultType()keystore.typeセキュリティ・プロパティに指定されているデフォルトのキーストア・タイプを返します。該当するプロパティが存在しない場合は文字列「jks」(「Java keystore」の略語)を返します。KeyStore.EntrygetEntry(String alias, KeyStore.ProtectionParameter protParam)指定された保護パラメータを使用して、指定された別名に対するキーストアEntryを取得します。static KeyStoregetInstance(File file, char[] password)適切なキーストア型のロードされたキーストア・オブジェクトを返します。static KeyStoregetInstance(File file, KeyStore.LoadStoreParameter param)適切なキーストア型のロードされたキーストア・オブジェクトを返します。static KeyStoregetInstance(String type)指定されたタイプのキーストア・オブジェクトを返します。static KeyStoregetInstance(String type, String provider)指定されたタイプのキーストア・オブジェクトを返します。static KeyStoregetInstance(String type, Provider provider)指定されたタイプのキーストア・オブジェクトを返します。KeygetKey(String alias, char[] password)指定されたパスワードを使って、指定された別名に関連した鍵を復元し、その鍵を返します。ProvidergetProvider()このキーストアのプロバイダを返します。StringgetType()このキーストア・タイプを返します。booleanisCertificateEntry(String alias)指定された別名で識別されるエントリが、setCertificateEntryを呼び出して作成されたエントリ、あるいはTrustedCertificateEntryを指定してsetEntryを呼び出して作成されたエントリのいずれかである場合、trueを返します。booleanisKeyEntry(String alias)指定された別名で識別されるエントリが、setKeyEntryを呼び出して作成されたエントリ、あるいはPrivateKeyEntryまたはSecretKeyEntryを指定してsetEntryを呼び出して作成されたエントリのいずれかである場合、trueを返します。voidload(InputStream stream, char[] password)指定された入力ストリームからこのキーストアをロードします。voidload(KeyStore.LoadStoreParameter param)指定されたLoadStoreParameterを使用してこのキーストアをロードします。voidsetCertificateEntry(String alias, Certificate cert)指定された別名に、指定された信頼できる証明書を割り当てます。voidsetEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam)キーストアEntryを指定された別名で保存します。voidsetKeyEntry(String alias, byte[] key, Certificate[] chain)指定された別名に、すでに保護されている指定の鍵を割り当てます。voidsetKeyEntry(String alias, Key key, char[] password, Certificate[] chain)指定された別名に指定された鍵を割り当て、指定されたパスワードでその鍵を保護します。intsize()このキーストアのエントリ数を取得します。voidstore(OutputStream stream, char[] password)指定された出力ストリームにこのキーストアを格納し、指定されたパスワードでその整合性を保護します。voidstore(KeyStore.LoadStoreParameter param)指定されたLoadStoreParameterを使用してこのキーストアを格納します。
 
- 
- 
- 
コンストラクタの詳細- 
KeyStoreprotected KeyStore(KeyStoreSpi keyStoreSpi, Provider provider, String type) 指定されたタイプのKeyStoreオブジェクトを作成し、そのオブジェクトで、指定されたプロバイダの実装であるSPIオブジェクトをカプセル化します。- パラメータ:
- keyStoreSpi- プロバイダの実装。
- provider- プロバイダ。
- type- キーストア・タイプ。
 
 
- 
 - 
メソッドの詳細- 
getInstancepublic static KeyStore getInstance(String type) throws KeyStoreException 指定されたタイプのキーストア・オブジェクトを返します。このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたタイプをサポートする最初のProviderのKeyStoreSpi実装をカプセル化する新しいKeyStoreオブジェクトが返されます。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- 実装上の注意:
- JDKリファレンス実装では、jdk.security.provider.preferredSecurityプロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
- パラメータ:
- type- キーストアのタイプ。 標準のキーストア型については、「Javaセキュリティ標準アルゴリズム名指定」のKeyStoreセクションを参照してください。
- 戻り値:
- 指定されたタイプのキーストア・オブジェクト
- 例外:
- KeyStoreException-- Providerが、指定された型の- KeyStoreSpi実装をサポートしていない場合
- NullPointerException-- typeが- nullである場合
- 関連項目:
- Provider
 
 - 
getInstancepublic static KeyStore getInstance(String type, String provider) throws KeyStoreException, NoSuchProviderException 指定されたタイプのキーストア・オブジェクトを返します。指定されたプロバイダのKeyStoreSpi実装をカプセル化する新しいKeyStoreオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- パラメータ:
- type- キーストアのタイプ。 標準のキーストア型については、「Javaセキュリティ標準アルゴリズム名指定」のKeyStoreセクションを参照してください。
- provider- プロバイダ名。
- 戻り値:
- 指定されたタイプのキーストア・オブジェクト
- 例外:
- IllegalArgumentException- プロバイダ名が- nullまたは空の場合
- KeyStoreException- 指定された型の- KeyStoreSpi実装が、指定されたプロバイダから利用可能でない場合
- NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
- NullPointerException-- typeが- nullである場合
- 関連項目:
- Provider
 
 - 
getInstancepublic static KeyStore getInstance(String type, Provider provider) throws KeyStoreException 指定されたタイプのキーストア・オブジェクトを返します。指定されたProviderオブジェクトのKeyStoreSpi実装をカプセル化する新しいKeyStoreオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。 - パラメータ:
- type- キーストアのタイプ。 標準のキーストア型については、「Javaセキュリティ標準アルゴリズム名指定」のKeyStoreセクションを参照してください。
- provider- プロバイダ。
- 戻り値:
- 指定されたタイプのキーストア・オブジェクト
- 例外:
- IllegalArgumentException- 指定されたプロバイダが- nullの場合
- KeyStoreException- 指定された型の- KeyStoreSpi実装が、指定された- Providerオブジェクトから使用できない場合
- NullPointerException-- typeが- nullである場合
- 導入されたバージョン:
- 1.4
- 関連項目:
- Provider
 
 - 
getDefaultTypepublic static final String getDefaultType() keystore.typeセキュリティ・プロパティに指定されているデフォルトのキーストア・タイプを返します。該当するプロパティが存在しない場合は文字列「jks」(「Java keystore」の略語)を返します。デフォルトのキーストア・タイプを使用するのは、アプリケーションで getInstanceメソッドを呼び出すときに、ハードコードされたキーストア・タイプを使用しない場合、およびユーザーが独自のキーストア・タイプを指定しないときに、デフォルトのキーストア・タイプを提供する場合です。デフォルトのキーストア・タイプは、 keystore.typeセキュリティ・プロパティの値を目的のキーストア・タイプに設定することで変更できます。- 戻り値:
- keystore.typeセキュリティ・プロパティに指定されたデフォルトのキーストア・タイプ、該当するプロパティが存在しない場合は文字列「jks」。
- 関連項目:
- セキュリティ・プロパティ
 
 - 
getProviderpublic final Provider getProvider() このキーストアのプロバイダを返します。- 戻り値:
- このキーストアのプロバイダ。
 
 - 
getTypepublic final String getType() このキーストア・タイプを返します。- 戻り値:
- このキーストア・タイプ。
 
 - 
getKeypublic final Key getKey(String alias, char[] password) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException 指定されたパスワードを使って、指定された別名に関連した鍵を復元し、その鍵を返します。 この鍵は、setKeyEntryを呼び出すか、あるいはPrivateKeyEntryまたはSecretKeyEntryを指定してsetEntryを呼び出すことでその別名に関連付けられている必要があります。- パラメータ:
- alias- 別名
- password- 鍵を復元するためのパスワード
- 戻り値:
- 要求される鍵。指定された別名が存在しないか、鍵関連エントリを識別しない場合はnull。
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
- NoSuchAlgorithmException- 鍵を復元するためのアルゴリズムが見つからない場合。
- UnrecoverableKeyException- 指定されたパスワードが間違っている場合など、鍵を復元できない場合。
 
 - 
getCertificateChainpublic final Certificate[] getCertificateChain(String alias) throws KeyStoreException 指定された別名に関連付けられた証明書チェーンを返します。 この証明書チェーンは、setKeyEntryを呼び出すか、あるいはPrivateKeyEntryを指定してsetEntryを呼び出すことで別名に関連付けられている必要があります。- パラメータ:
- alias- 別名
- 戻り値:
- 証明書チェーン。順番は、ユーザー証明書が最初で、0個以上の証明書発行局が続きます。指定された別名が存在しないか、証明書チェーンを含んでいない場合はnull
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
getCertificatepublic final Certificate getCertificate(String alias) throws KeyStoreException 指定された別名に関連した証明書を返します。指定された別名によって識別されるエントリが、 setCertificateEntryを呼び出して作成されたエントリ、あるいはTrustedCertificateEntryを指定してsetEntryを呼び出して作成されたエントリのいずれかである場合、そのエントリ内に格納されている信頼できる証明書が返されます。指定された別名によって識別されるエントリが、 setKeyEntryを呼び出して作成されたエントリ、あるいはPrivateKeyEntryを指定してsetEntryを呼び出して作成されたエントリのいずれかである場合、そのエントリ内の証明書チェーンの最初の要素が返されます。- パラメータ:
- alias- 別名
- 戻り値:
- 証明書。指定された別名が存在しないか、または証明書を含まない場合はnull。
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
getCreationDatepublic final Date getCreationDate(String alias) throws KeyStoreException 指定された別名によって識別されるエントリの作成日を返します。- パラメータ:
- alias- 別名
- 戻り値:
- このエントリの作成日。指定された別名が存在しない場合はnull
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
setKeyEntrypublic final void setKeyEntry(String alias, Key key, char[] password, Certificate[] chain) throws KeyStoreException 指定された別名に指定された鍵を割り当て、指定されたパスワードでその鍵を保護します。指定された鍵が java.security.PrivateKeyタイプである場合、その鍵には対応する公開鍵を証明する証明書チェーンが含まれていなければいけません。指定された別名がすでに存在する場合は、それに関連したキーストア情報は、指定された鍵と証明書チェーンによってオーバーライドされます。 - パラメータ:
- alias- 別名
- key- 別名に関連した鍵
- password- 鍵を保護するためのパスワード
- chain- 対応する公開鍵の証明書チェーン。指定された鍵が- java.security.PrivateKeyタイプである場合にだけ必要。
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合、指定された鍵を保護できない場合、またはこの処理がなんらかの原因で失敗した場合
 
 - 
setKeyEntrypublic final void setKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException 指定された別名に、すでに保護されている指定の鍵を割り当てます。保護された鍵が java.security.PrivateKeyタイプである場合、その鍵には対応する公開鍵を証明する証明書チェーンが含まれていなければいけません。 基本となるキーストアの実装のタイプがjksの場合、keyはPKCS#8標準の定義に従ってEncryptedPrivateKeyInfoとして符号化されている必要があります。指定された別名がすでに存在する場合は、それに関連したキーストア情報は、指定された鍵と証明書チェーンによってオーバーライドされます。 - パラメータ:
- alias- 別名
- key- 別名に関連した保護形式の鍵
- chain- 保護された鍵が- java.security.PrivateKeyタイプである場合にだけ有効な、対応する公開鍵の証明書チェーン。
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合、またはこの処理がなんらかの原因で失敗した場合。
 
 - 
setCertificateEntrypublic final void setCertificateEntry(String alias, Certificate cert) throws KeyStoreException 指定された別名に、指定された信頼できる証明書を割り当てます。指定された別名によって識別されるエントリが、 setCertificateEntryを呼び出して作成された既存エントリ、あるいはTrustedCertificateEntryを指定してsetEntryを呼び出して作成された既存エントリのいずれかである場合、その既存エントリ内に格納されている信頼できる証明書が、指定された証明書でオーバーライドされます。- パラメータ:
- alias- 別名
- cert- 証明書
- 例外:
- KeyStoreException- キーストアが初期化されていない場合、指定された別名がすでに存在していてもそれによって識別されるエントリが信頼できる証明書を含んでいない場合、またはこの処理がなんらかの原因で失敗した場合。
 
 - 
deleteEntrypublic final void deleteEntry(String alias) throws KeyStoreException このキーストアから、指定された別名によって識別されるエントリを削除します。- パラメータ:
- alias- 別名
- 例外:
- KeyStoreException- キーストアが初期化されていない場合、またはエントリを削除できない場合。
 
 - 
aliasespublic final Enumeration<String> aliases() throws KeyStoreException このキーストアのすべての別名を一覧表示します。- 戻り値:
- 別名の列挙
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
containsAliaspublic final boolean containsAlias(String alias) throws KeyStoreException このキーストアに、指定された別名が存在するかどうかを判定します。- パラメータ:
- alias- 別名
- 戻り値:
- 別名が存在する場合はtrue、そうでない場合はfalse
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
sizepublic final int size() throws KeyStoreExceptionこのキーストアのエントリ数を取得します。- 戻り値:
- このキーストアのエントリ数
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
isKeyEntrypublic final boolean isKeyEntry(String alias) throws KeyStoreException 指定された別名で識別されるエントリが、setKeyEntryを呼び出して作成されたエントリ、あるいはPrivateKeyEntryまたはSecretKeyEntryを指定してsetEntryを呼び出して作成されたエントリのいずれかである場合、trueを返します。- パラメータ:
- alias- 判定対象となるキーストア・エントリの別名
- 戻り値:
- 指定された別名で識別されるエントリが鍵関連エントリである場合はtrue、そうでない場合はfalse。
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
isCertificateEntrypublic final boolean isCertificateEntry(String alias) throws KeyStoreException 指定された別名で識別されるエントリが、setCertificateEntryを呼び出して作成されたエントリ、あるいはTrustedCertificateEntryを指定してsetEntryを呼び出して作成されたエントリのいずれかである場合、trueを返します。- パラメータ:
- alias- 判定対象となるキーストア・エントリの別名
- 戻り値:
- 指定された別名で識別されるエントリに信頼できる証明書エントリが含まれている場合はtrue、そうでない場合はfalse。
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
getCertificateAliaspublic final String getCertificateAlias(Certificate cert) throws KeyStoreException 指定された証明書と一致する証明書がある最初のキーストア・エントリの別名を返します。このメソッドは、指定された証明書を各キーストア・エントリと照合します。 処理対象のエントリが、 setCertificateEntryを呼び出して作成されたエントリ、あるいはTrustedCertificateEntryを指定してsetEntryを呼び出して作成されたエントリである場合、指定された証明書はそのエントリの証明書と比較されます。処理対象のエントリが、 setKeyEntryを呼び出して作成されたエントリ、あるいはPrivateKeyEntryを指定してsetEntryを呼び出して作成されたエントリである場合、指定された証明書はそのエントリの証明書チェーンの最初の要素と比較されます。- パラメータ:
- cert- 照合する証明書。
- 戻り値:
- 一致する証明書を含む最初のエントリの別名。そのようなエントリがこのキーストアに存在しない場合はnull。
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
 
 - 
storepublic final void store(OutputStream stream, char[] password) throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException 指定された出力ストリームにこのキーストアを格納し、指定されたパスワードでその整合性を保護します。- パラメータ:
- stream- このキーストアを書き込む出力ストリーム。
- password- キーストアの整合性を検査するためのパスワード
- 例外:
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
- IOException- データに入出力の問題があった場合
- NoSuchAlgorithmException- 適切なデータ整合性アルゴリズムが見つからなかった場合
- CertificateException- キーストア・データに含まれるどの証明書も格納できなかった場合
 
 - 
storepublic final void store(KeyStore.LoadStoreParameter param) throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException 指定されたLoadStoreParameterを使用してこのキーストアを格納します。- パラメータ:
- param- キーストアの格納方法を指定した- LoadStoreParameter。- nullも指定可能
- 例外:
- IllegalArgumentException- 指定された- LoadStoreParameter入力が認識されない場合
- KeyStoreException- キーストアが初期化(ロード)されていない場合
- IOException- データに入出力の問題があった場合
- NoSuchAlgorithmException- 適切なデータ整合性アルゴリズムが見つからなかった場合
- CertificateException- キーストア・データに含まれるどの証明書も格納できなかった場合
- 導入されたバージョン:
- 1.5
 
 - 
loadpublic final void load(InputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException 指定された入力ストリームからこのキーストアをロードします。パスワードを指定すると、キーストアがハードウェア・トークン・デバイス上に存在する場合などに、キーストアのロック解除やキーストア・データの整合性検査ができます。 整合性検査用のパスワードが指定されなかった場合、整合性検査は実行されません。 空のキーストアを作成する場合、あるいはキーストアをストリームから初期化できない場合は、 stream引数としてnullを渡します。このキーストアがすでにロードされている場合、このキーストアは再び初期化され、指定されたストリームからロードし直されます。 - パラメータ:
- stream- キーストアのロード元の入力ストリームまたは- null
- password- キーストアの整合性検査用パスワード、キーストアのロック解除用パスワード、または- null
- 例外:
- IOException- キーストア・データで入出力または形式に関する問題が発生した場合、パスワードが必要であるのに指定されなかった場合、または指定されたパスワードが間違っている場合。 パスワードが正しくなかったためにエラーが発生した場合、- IOExceptionの- causeは- UnrecoverableKeyException
- NoSuchAlgorithmException- キーストアの整合性を検査するアルゴリズムが見つからなかった場合
- CertificateException- キーストアのどの証明書もロードできなかった場合
 
 - 
loadpublic final void load(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException 指定されたLoadStoreParameterを使用してこのキーストアをロードします。このキーストアがすでにロードされている場合、このキーストアは再び初期化され、指定されたストリームからロードし直されます。 - パラメータ:
- param- キーストアのロード方法を指定した- LoadStoreParameter。- nullも指定可能
- 例外:
- IllegalArgumentException- 指定された- LoadStoreParameter入力が認識されない場合
- IOException- キーストア・データに入出力または形式の問題があった場合。- ProtectionParameterが正しくなかった(たとえばパスワードが正しくなかった)ためにエラーが発生した場合、- IOExceptionの- causeは- UnrecoverableKeyException
- NoSuchAlgorithmException- キーストアの整合性を検査するアルゴリズムが見つからなかった場合
- CertificateException- キーストアのどの証明書もロードできなかった場合
- 導入されたバージョン:
- 1.5
 
 - 
getEntrypublic final KeyStore.Entry getEntry(String alias, KeyStore.ProtectionParameter protParam) throws NoSuchAlgorithmException, UnrecoverableEntryException, KeyStoreException 指定された保護パラメータを使用して、指定された別名に対するキーストアEntryを取得します。- パラメータ:
- alias- この別名に対するキーストア- Entryを取得
- protParam-- Entryの保護に使用される- ProtectionParameter。- nullも指定可能
- 戻り値:
- 指定された別名に対するキーストアEntry。そのようなエントリが存在しない場合はnull
- 例外:
- NullPointerException-- aliasが- nullである場合
- NoSuchAlgorithmException- エントリを復元するためのアルゴリズムが見つからない場合
- UnrecoverableEntryException- 指定された- protParamが不十分または無効である場合
- UnrecoverableKeyException- エントリが- PrivateKeyEntryまたは- SecretKeyEntryで、指定された- protParamに鍵の復元に必要な情報が含まれていない場合(たとえばパスワードが誤っている場合)
- KeyStoreException- キーストアが初期化(ロード)されていない場合。
- 導入されたバージョン:
- 1.5
- 関連項目:
- setEntry(String, KeyStore.Entry, KeyStore.ProtectionParameter)
 
 - 
setEntrypublic final void setEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam) throws KeyStoreException キーストアEntryを指定された別名で保存します。 保護パラメータは、Entryを保護するために使用されます。指定された別名のエントリがすでに存在する場合、そのエントリはオーバーライドされます。 - パラメータ:
- alias- この別名でキーストア- Entryを保存
- entry- 保存する- Entry
- protParam-- Entryの保護に使用される- ProtectionParameter。- nullも指定可能
- 例外:
- NullPointerException-- aliasまたは- entryが- nullの場合
- KeyStoreException- キーストアが初期化(ロード)されていない場合、またはこの処理がなんらかの原因で失敗した場合
- 導入されたバージョン:
- 1.5
- 関連項目:
- getEntry(String, KeyStore.ProtectionParameter)
 
 - 
entryInstanceOfpublic final boolean entryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass) throws KeyStoreException 指定されたaliasのキーストアEntryが、指定されたentryClassのインスタンスまたはサブクラスであるかどうかを判定します。- パラメータ:
- alias- 別名
- entryClass- エントリ・クラス
- 戻り値:
- 指定されたaliasのキーストアEntryが、指定されたentryClassのインスタンスまたはサブクラスである場合はtrue、そうでない場合はfalse
- 例外:
- NullPointerException-- aliasまたは- entryClassが- nullの場合
- KeyStoreException- キーストアが初期化(ロード)されていない場合
- 導入されたバージョン:
- 1.5
 
 - 
getInstancepublic static final KeyStore getInstance(File file, char[] password) throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException 適切なキーストア型のロードされたキーストア・オブジェクトを返します。 最初に、指定されたファイルをプロービングすることによってキーストアの型が決定されます。 次に、キーストア・オブジェクトは、そのファイルからのデータを使用してインスタンス化され、ロードされます。パスワードを指定すると、キーストアがハードウェア・トークン・デバイス上に存在する場合などに、キーストアのロック解除やキーストア・データの整合性検査ができます。 整合性検査用のパスワードが指定されなかった場合、整合性検査は実行されません。 このメソッドは、登録されたセキュリティprovidersのリストを、最も優先されるプロバイダから順に検索します。 プロバイダがサポートする各 KeyStoreSpi実装に対して、engineProbeメソッドを呼び出して、指定されたキーストアがサポートされているかどうかを判断します。 指定されたファイルをサポートする最初のプロバイダからKeyStoreSpi実装をカプセル化する新しいKeyStoreオブジェクトが返されます。登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- パラメータ:
- file- キーストア・ファイル
- password-- nullのようなキーストアのパスワード
- 戻り値:
- キーストア・データがロードされたキーストア・オブジェクト
- 例外:
- KeyStoreException- 指定されたキーストア・ファイルのKeyStoreSpi実装をプロバイダがサポートしていない場合。
- IOException- キーストア・データで入出力または形式に関する問題が発生した場合、パスワードが必要であるのに指定されなかった場合、または指定されたパスワードが間違っている場合。 パスワードが正しくなかったためにエラーが発生した場合、- IOExceptionの- causeは- UnrecoverableKeyException
- NoSuchAlgorithmException- キーストアの整合性を検査するアルゴリズムが見つからなかった場合
- CertificateException- キーストアのどの証明書もロードできなかった場合
- IllegalArgumentException- ファイルが存在しないか、通常のファイルを参照していない場合。
- NullPointerException- fileが- nullの場合
- SecurityException- セキュリティ・マネージャが存在し、- SecurityManager.checkRead(java.io.FileDescriptor)メソッドが指定されたファイルへの読み取りアクセスを拒否した場合。
- 導入されたバージョン:
- 9
- 関連項目:
- Provider
 
 - 
getInstancepublic static final KeyStore getInstance(File file, KeyStore.LoadStoreParameter param) throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException 適切なキーストア型のロードされたキーストア・オブジェクトを返します。 最初に、指定されたファイルをプロービングすることによってキーストアの型が決定されます。 次に、キーストア・オブジェクトは、そのファイルからのデータを使用してインスタンス化され、ロードされます。 keystoreデータのロックを解除する方法や完全性チェックを行う方法を指定するLoadStoreParameterを提供することができます。このメソッドは、登録されたセキュリティprovidersのリストを、最も優先されるプロバイダから順に検索します。 プロバイダがサポートする各 KeyStoreSpi実装に対して、engineProbeメソッドを呼び出して、指定されたキーストアがサポートされているかどうかを判断します。 指定されたファイルをサポートする最初のプロバイダからKeyStoreSpi実装をカプセル化する新しいKeyStoreオブジェクトが返されます。登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- パラメータ:
- file- キーストア・ファイル
- param- キーストアのロード方法を指定した- LoadStoreParameter。- nullも指定可能
- 戻り値:
- キーストア・データがロードされたキーストア・オブジェクト
- 例外:
- KeyStoreException- 指定されたキーストア・ファイルのKeyStoreSpi実装をプロバイダがサポートしていない場合。
- IOException- キーストア・データに入出力または形式の問題があった場合。- ProtectionParameterが正しくなかった(たとえばパスワードが正しくなかった)ためにエラーが発生した場合、- IOExceptionの- causeは- UnrecoverableKeyException
- NoSuchAlgorithmException- キーストアの整合性を検査するアルゴリズムが見つからなかった場合
- CertificateException- キーストアのどの証明書もロードできなかった場合
- IllegalArgumentException- ファイルが存在しないか、通常のファイルを参照していない場合、またはparamが認識されていない場合。
- NullPointerException- fileが- nullの場合
- SecurityException- セキュリティ・マネージャが存在し、- SecurityManager.checkRead(java.io.FileDescriptor)メソッドが指定されたファイルへの読み取りアクセスを拒否した場合。
- 導入されたバージョン:
- 9
- 関連項目:
- Provider
 
 
- 
 
-