- java.lang.Object
-
- java.security.KeyStoreSpi
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 KeyStoreSpi()
-
メソッドのサマリー
修飾子と型 メソッド 説明 abstract Enumeration<String>
engineAliases()
このキーストアのすべての別名を一覧表示します。abstract boolean
engineContainsAlias(String alias)
このキーストアに、指定された別名が存在するかどうかを判定します。abstract void
engineDeleteEntry(String alias)
このキーストアから、指定された別名によって識別されるエントリを削除します。boolean
engineEntryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass)
指定されたalias
のキーストアEntry
が、指定されたentryClass
のインスタンスまたはサブクラスであるかどうかを判定します。abstract Certificate
engineGetCertificate(String alias)
指定された別名に関連した証明書を返します。abstract String
engineGetCertificateAlias(Certificate cert)
指定された証明書と一致する証明書がある最初のキーストア・エントリの別名を返します。abstract Certificate[]
engineGetCertificateChain(String alias)
指定された別名に関連付けられた証明書チェーンを返します。abstract Date
engineGetCreationDate(String alias)
指定された別名によって識別されるエントリの作成日を返します。KeyStore.Entry
engineGetEntry(String alias, KeyStore.ProtectionParameter protParam)
指定された保護パラメータを使用して、指定された別名に対するKeyStore.Entry
を取得します。abstract Key
engineGetKey(String alias, char[] password)
指定されたパスワードを使って、指定された別名に関連した鍵を復元し、その鍵を返します。abstract boolean
engineIsCertificateEntry(String alias)
指定された別名で識別されるエントリが、setCertificateEntry
を呼び出して作成されたエントリ、あるいはTrustedCertificateEntry
を指定してsetEntry
を呼び出して作成されたエントリのいずれかである場合、trueを返します。abstract boolean
engineIsKeyEntry(String alias)
指定された別名で識別されるエントリが、setKeyEntry
を呼び出して作成されたエントリ、あるいはPrivateKeyEntry
またはSecretKeyEntry
を指定してsetEntry
を呼び出して作成されたエントリのいずれかである場合、trueを返します。abstract void
engineLoad(InputStream stream, char[] password)
指定された入力ストリームからキーストアをロードします。void
engineLoad(KeyStore.LoadStoreParameter param)
指定されたKeyStore.LoadStoreParameter
を使用してキーストアをロードします。boolean
engineProbe(InputStream stream)
指定された入力ストリームを調査し、この実装でサポートされているキーストアが含まれているかどうかを判定します。abstract void
engineSetCertificateEntry(String alias, Certificate cert)
指定された別名に、指定された証明書を割り当てます。void
engineSetEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam)
KeyStore.Entry
を指定された別名で保存します。abstract void
engineSetKeyEntry(String alias, byte[] key, Certificate[] chain)
指定された別名に、すでに保護されている指定の鍵を割り当てます。abstract void
engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain)
指定された別名に指定された鍵を割り当て、指定されたパスワードでその鍵を保護します。abstract int
engineSize()
このキーストアのエントリ数を取得します。abstract void
engineStore(OutputStream stream, char[] password)
指定された出力ストリームにこのキーストアを格納し、指定されたパスワードでその整合性を保護します。void
engineStore(KeyStore.LoadStoreParameter param)
指定されたKeyStore.LoadStoreParmeter
を使用してこのキーストアを格納します。
-
-
-
メソッドの詳細
-
engineGetKey
public abstract Key engineGetKey(String alias, char[] password) throws NoSuchAlgorithmException, UnrecoverableKeyException
指定されたパスワードを使って、指定された別名に関連した鍵を復元し、その鍵を返します。 この鍵は、setKeyEntry
を呼び出すか、あるいはPrivateKeyEntry
またはSecretKeyEntry
を指定してsetEntry
を呼び出すことでその別名に関連付けられている必要があります。- パラメータ:
alias
- 別名password
- 鍵を復元するためのパスワード- 戻り値:
- 要求される鍵。指定された別名が存在しないか、鍵関連エントリを識別しない場合はnull。
- 例外:
NoSuchAlgorithmException
- 鍵を復元するためのアルゴリズムが見つからない場合。UnrecoverableKeyException
- 指定されたパスワードが間違っている場合など、鍵を復元できない場合。
-
engineGetCertificateChain
public abstract Certificate[] engineGetCertificateChain(String alias)
指定された別名に関連付けられた証明書チェーンを返します。 この証明書チェーンは、setKeyEntry
を呼び出すか、あるいはPrivateKeyEntry
を指定してsetEntry
を呼び出すことで別名に関連付けられている必要があります。- パラメータ:
alias
- 別名- 戻り値:
- 証明書チェーン。順番は、ユーザー証明書が最初でルート証明書発行局が最後。指定された別名が存在しないか、証明書チェーンを含んでいない場合はnull
-
engineGetCertificate
public abstract Certificate engineGetCertificate(String alias)
指定された別名に関連した証明書を返します。指定された別名によって識別されるエントリが、
setCertificateEntry
を呼び出して作成されたエントリ、あるいはTrustedCertificateEntry
を指定してsetEntry
を呼び出して作成されたエントリのいずれかである場合、そのエントリ内に格納されている信頼できる証明書が返されます。指定された別名によって識別されるエントリが、
setKeyEntry
を呼び出して作成されたエントリ、PrivateKeyEntry
を指定してsetEntry
を呼び出して作成されたエントリのいずれかである場合、そのエントリ内の証明書チェーン(存在する場合)の最初の要素が返されます。- パラメータ:
alias
- 別名- 戻り値:
- 証明書。指定された別名が存在しないか、または証明書を含まない場合はnull。
-
engineGetCreationDate
public abstract Date engineGetCreationDate(String alias)
指定された別名によって識別されるエントリの作成日を返します。- パラメータ:
alias
- 別名- 戻り値:
- このエントリの作成日。指定された別名が存在しない場合はnull
-
engineSetKeyEntry
public abstract void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain) throws KeyStoreException
指定された別名に指定された鍵を割り当て、指定されたパスワードでその鍵を保護します。指定された鍵が
java.security.PrivateKey
タイプである場合、その鍵には対応する公開鍵を証明する証明書チェーンが含まれていなければいけません。指定された別名がすでに存在する場合は、それに関連したキーストア情報は、指定された鍵と証明書チェーンによってオーバーライドされます。
- パラメータ:
alias
- 別名key
- 別名に関連した鍵password
- 鍵を保護するためのパスワードchain
- 対応する公開鍵の証明書チェーン。指定された鍵がjava.security.PrivateKey
タイプである場合にだけ必要。- 例外:
KeyStoreException
- 指定された鍵を保護できない場合、またはこの処理がなんらかの原因で失敗した場合
-
engineSetKeyEntry
public abstract void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException
指定された別名に、すでに保護されている指定の鍵を割り当てます。保護された鍵が
java.security.PrivateKey
タイプである場合、その鍵には対応する公開鍵を証明する証明書チェーンが含まれていなければいけません。指定された別名がすでに存在する場合は、それに関連したキーストア情報は、指定された鍵と証明書チェーンによってオーバーライドされます。
- パラメータ:
alias
- 別名key
- 別名に関連した保護形式の鍵chain
- 保護された鍵がjava.security.PrivateKey
タイプである場合にだけ有効な、対応する公開鍵の証明書チェーン。- 例外:
KeyStoreException
- この操作が失敗した場合。
-
engineSetCertificateEntry
public abstract void engineSetCertificateEntry(String alias, Certificate cert) throws KeyStoreException
指定された別名に、指定された証明書を割り当てます。指定された別名によって識別されるエントリが、
setCertificateEntry
を呼び出して作成された既存エントリ、あるいはTrustedCertificateEntry
を指定してsetEntry
を呼び出して作成された既存エントリのいずれかである場合、その既存エントリ内に格納されている信頼できる証明書が、指定された証明書でオーバーライドされます。- パラメータ:
alias
- 別名cert
- 証明書- 例外:
KeyStoreException
- 指定された別名がすでに存在しており、そのエントリに信頼できる証明書が含まれていない場合、またはこの処理がなんらかの原因で失敗した場合。
-
engineDeleteEntry
public abstract void engineDeleteEntry(String alias) throws KeyStoreException
このキーストアから、指定された別名によって識別されるエントリを削除します。- パラメータ:
alias
- 別名- 例外:
KeyStoreException
- エントリを削除できない場合。
-
engineAliases
public abstract Enumeration<String> engineAliases()
このキーストアのすべての別名を一覧表示します。- 戻り値:
- 別名の列挙
-
engineContainsAlias
public abstract boolean engineContainsAlias(String alias)
このキーストアに、指定された別名が存在するかどうかを判定します。- パラメータ:
alias
- 別名- 戻り値:
- 別名が存在する場合はtrue、そうでない場合はfalse
-
engineSize
public abstract int engineSize()
このキーストアのエントリ数を取得します。- 戻り値:
- このキーストアのエントリ数
-
engineIsKeyEntry
public abstract boolean engineIsKeyEntry(String alias)
指定された別名で識別されるエントリが、setKeyEntry
を呼び出して作成されたエントリ、あるいはPrivateKeyEntry
またはSecretKeyEntry
を指定してsetEntry
を呼び出して作成されたエントリのいずれかである場合、trueを返します。- パラメータ:
alias
- 判定対象となるキーストア・エントリの別名- 戻り値:
- 指定された別名で識別されるエントリが鍵関連である場合はtrue、そうでない場合はfalse。
-
engineIsCertificateEntry
public abstract boolean engineIsCertificateEntry(String alias)
指定された別名で識別されるエントリが、setCertificateEntry
を呼び出して作成されたエントリ、あるいはTrustedCertificateEntry
を指定してsetEntry
を呼び出して作成されたエントリのいずれかである場合、trueを返します。- パラメータ:
alias
- 判定対象となるキーストア・エントリの別名- 戻り値:
- 指定された別名で識別されるエントリに信頼できる証明書エントリが含まれている場合はtrue、そうでない場合はfalse。
-
engineGetCertificateAlias
public abstract String engineGetCertificateAlias(Certificate cert)
指定された証明書と一致する証明書がある最初のキーストア・エントリの別名を返します。このメソッドは、指定された証明書を各キーストア・エントリと照合します。 処理対象のエントリが、
setCertificateEntry
を呼び出して作成されたエントリ、あるいはTrustedCertificateEntry
を指定してsetEntry
を呼び出して作成されたエントリである場合、指定された証明書はそのエントリの証明書と比較されます。処理対象のエントリが、
setKeyEntry
を呼び出して作成されたエントリ、あるいはPrivateKeyEntry
を指定してsetEntry
を呼び出して作成されたエントリである場合、指定された証明書はそのエントリの証明書チェーンの最初の要素と比較されます。- パラメータ:
cert
- 照合する証明書。- 戻り値:
- 一致する証明書を含む最初のエントリの別名。そのようなエントリがこのキーストアに存在しない場合はnull。
-
engineStore
public abstract void engineStore(OutputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException
指定された出力ストリームにこのキーストアを格納し、指定されたパスワードでその整合性を保護します。- パラメータ:
stream
- このキーストアを書き込む出力ストリーム。password
- キーストアの整合性を検査するためのパスワード- 例外:
IOException
- データに入出力の問題があった場合NoSuchAlgorithmException
- 適切なデータ整合性アルゴリズムが見つからなかった場合CertificateException
- キーストア・データに含まれるどの証明書も格納できなかった場合
-
engineStore
public void engineStore(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException
指定されたKeyStore.LoadStoreParmeter
を使用してこのキーストアを格納します。- パラメータ:
param
- キーストアの格納方法を指定したKeyStore.LoadStoreParmeter
。null
も指定可能- 例外:
IllegalArgumentException
- 指定されたKeyStore.LoadStoreParmeter
入力が認識されない場合IOException
- データに入出力の問題があった場合NoSuchAlgorithmException
- 適切なデータ整合性アルゴリズムが見つからなかった場合CertificateException
- キーストア・データに含まれるどの証明書も格納できなかった場合- 導入されたバージョン:
- 1.5
-
engineLoad
public abstract void engineLoad(InputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException
指定された入力ストリームからキーストアをロードします。パスワードを指定すると、キーストアがハードウェア・トークン・デバイス上に存在する場合などに、キーストアのロック解除やキーストア・データの整合性検査ができます。 整合性検査用のパスワードが指定されなかった場合、整合性検査は実行されません。
- パラメータ:
stream
- キーストアのロード元の入力ストリームまたはnull
password
- キーストアの整合性検査用パスワード、キーストアのロック解除用パスワード、またはnull
- 例外:
IOException
- キーストア・データで入出力または形式に関する問題が発生した場合、パスワードが必要であるのに指定されなかった場合、または指定されたパスワードが間違っている場合。 パスワードが正しくなかったためにエラーが発生した場合、IOException
のcause
はUnrecoverableKeyException
NoSuchAlgorithmException
- キーストアの整合性を検査するアルゴリズムが見つからなかった場合CertificateException
- キーストアのどの証明書もロードできなかった場合
-
engineLoad
public void engineLoad(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException
指定されたKeyStore.LoadStoreParameter
を使用してキーストアをロードします。このキーストアがすでにロードされている場合、このキーストアは再び初期化され、指定されたストリームからロードし直されます。
- 実装要件:
- デフォルトの実装では、
KeyStore.LoadStoreParameter
を調べてパスワードを抽出し、null
InputStream
とともにengineLoad(InputStream, char[])
に渡します。KeyStore.LoadStoreParameter
がnull
の場合、パスワード・パラメータもnull
になります。 それ以外の場合、KeyStore.LoadStoreParameter
のKeyStore.ProtectionParameter
は、KeyStore.PasswordProtection
またはPasswordCallback
をサポートするKeyStore.CallbackHandlerProtection
のいずれかでなければなりません。これにより、パスワード・パラメータを抽出できます。KeyStore.ProtectionParameter
がこれらのクラスのいずれでもない場合は、NoSuchAlgorithmException
がスローされます。 - パラメータ:
param
- キーストアのロード方法を指定したKeyStore.LoadStoreParameter
。null
も指定可能- 例外:
IllegalArgumentException
- 指定されたKeyStore.LoadStoreParameter
入力が認識されない場合IOException
- キーストア・データに入出力または形式の問題があった場合。ProtectionParameter
が正しくなかった(たとえばパスワードが正しくなかった)ためにエラーが発生した場合、IOException
のcause
はUnrecoverableKeyException
NoSuchAlgorithmException
- キーストアの整合性を検査するアルゴリズムが見つからなかった場合CertificateException
- キーストアのどの証明書もロードできなかった場合- 導入されたバージョン:
- 1.5
-
engineGetEntry
public KeyStore.Entry engineGetEntry(String alias, KeyStore.ProtectionParameter protParam) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableEntryException
指定された保護パラメータを使用して、指定された別名に対するKeyStore.Entry
を取得します。- パラメータ:
alias
- この別名に対するKeyStore.Entry
を取得するprotParam
-Entry
の保護に使用されるProtectionParameter
。null
も指定可能- 戻り値:
- 指定された別名に対する
KeyStore.Entry
。そのようなエントリが存在しない場合はnull
- 例外:
KeyStoreException
- 処理が失敗した場合NoSuchAlgorithmException
- エントリを復元するためのアルゴリズムが見つからない場合UnrecoverableEntryException
- 指定されたprotParam
が不十分または無効である場合UnrecoverableKeyException
- エントリがPrivateKeyEntry
またはSecretKeyEntry
で、指定されたprotParam
に鍵の復元に必要な情報が含まれていない場合(たとえばパスワードが誤っている場合)- 導入されたバージョン:
- 1.5
-
engineSetEntry
public void engineSetEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam) throws KeyStoreException
KeyStore.Entry
を指定された別名で保存します。 指定された保護パラメータは、Entry
を保護するために使用されます。指定された別名のエントリがすでに存在する場合、そのエントリはオーバーライドされます。
- パラメータ:
alias
- この別名でKeyStore.Entry
を保存entry
- 保存するEntry
protParam
-Entry
の保護に使用されるProtectionParameter
。null
も指定可能- 例外:
KeyStoreException
- この操作が失敗した場合- 導入されたバージョン:
- 1.5
-
engineEntryInstanceOf
public boolean engineEntryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass)
指定されたalias
のキーストアEntry
が、指定されたentryClass
のインスタンスまたはサブクラスであるかどうかを判定します。- パラメータ:
alias
- 別名entryClass
- エントリ・クラス- 戻り値:
- 指定された
alias
のキーストアEntry
が、指定されたentryClass
のインスタンスまたはサブクラスである場合はtrue、そうでない場合はfalse - 導入されたバージョン:
- 1.5
-
engineProbe
public boolean engineProbe(InputStream stream) throws IOException
指定された入力ストリームを調査し、この実装でサポートされているキーストアが含まれているかどうかを判定します。- 実装要件:
- このメソッドは、デフォルトでfalseを返します。 キーストアの実装では、このメソッドをオーバーライドしてデータ・ストリームを直接参照するか、他のコンテンツ検出メカニズムを使用する必要があります。
- パラメータ:
stream
- プローブされるキーストア・データ- 戻り値:
- キーストア・データがサポートされている場合はtrue、そうでない場合はfalse
- 例外:
IOException
- keystoreデータにI/Oの問題がある場合。NullPointerException
- ストリームがnull
の場合。- 導入されたバージョン:
- 9
-
-