JavaTM Platform
Standard Ed. 6

java.security
クラス KeyStoreSpi

java.lang.Object
  上位を拡張 java.security.KeyStoreSpi

public abstract class KeyStoreSpi
extends Object

このクラスは、KeyStore クラスの Service Provider Interface (SPI) を定義します。特定のキーストア型のキーストアの実装を提供する各暗号サービスプロバイダは、このクラスのすべての抽象メソッドを実装する必要があります。

導入されたバージョン:
1.2
関連項目:
KeyStore

コンストラクタの概要
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 を使用してキーストアをロードします。
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()
          このキーストアのエントリ数を取得します。
 void engineStore(KeyStore.LoadStoreParameter param)
          指定された KeyStore.LoadStoreParmeter を使用してキーストアを格納します。
abstract  void engineStore(OutputStream stream, char[] password)
          指定された出力ストリームにこのキーストアを格納し、指定されたパスワードでその整合性を保護します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

KeyStoreSpi

public KeyStoreSpi()
メソッドの詳細

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.LoadStoreParmeternull も指定可能
例外:
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原因UnrecoverableKeyException
NoSuchAlgorithmException - キーストアの整合性を検査するアルゴリズムが見つからなかった場合
CertificateException - キーストアのどの証明書もロードできなかった場合

engineLoad

public void engineLoad(KeyStore.LoadStoreParameter param)
                throws IOException,
                       NoSuchAlgorithmException,
                       CertificateException
指定された KeyStore.LoadStoreParameter を使用してキーストアをロードします。

このキーストアがすでにロードされている場合、このキーストアは再び初期化され、指定されたストリームからロードし直されます。

パラメータ:
param - キーストアのロード方法を指定した KeyStore.LoadStoreParameternull も指定可能
例外:
IllegalArgumentException - 指定された KeyStore.LoadStoreParmeter 入力が認識されない場合
IOException - キーストアデータに入出力または形式の問題があった場合。ProtectionParameter が正しくなかった (たとえばパスワードが正しくなかった) ためにエラーが発生した場合、IOException原因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 の保護に使用される ProtectionParameternull も指定可能
戻り値:
指定された別名に対する 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 の保護に使用される ProtectionParameternull も指定可能
例外:
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

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。