JavaTM Platform
Standard Ed. 6

java.security.cert
クラス X509CRLSelector

java.lang.Object
  上位を拡張 java.security.cert.X509CRLSelector
すべての実装されたインタフェース:
Cloneable, CRLSelector

public class X509CRLSelector
extends Object
implements CRLSelector

指定した基準すべてに一致する X509CRL を選択する CRLSelector です。証明書の取り消し状況をチェックするために CertStore から CRL を選択するときに、特に役立ちます。

最初に構築された X509CRLSelector には有効な基準が含まれていないため、各 get メソッドはデフォルト値 (null) を返します。したがって、match メソッドは、すべての X509CRL に対して true を返します。通常、X509CRLSelector は、setIssuerssetDateAndTime を呼び出していくつかの基準を有効にしたあと、CertStore.getCRLs や類似のメソッドに渡されます。

これから説明する X.509 CRL フィールドと機能拡張の定義については、RFC 2459 を参照してください。

並行アクセス

特に断らないかぎり、このクラスで定義されているメソッドはスレッドセーフではありません。単一のオブジェクトに並行アクセスする必要のある複数スレッドは、スレッド間で同期をとり、必要に応じてロックする必要があります。複数のスレッドがそれぞれ個別のオブジェクトを処理する場合、それらのスレッドは同期する必要はありません。

導入されたバージョン:
1.4
関連項目:
CRLSelector, X509CRL

コンストラクタの概要
X509CRLSelector()
          X509CRLSelector を作成します。
 
メソッドの概要
 void addIssuer(X500Principal issuer)
          名前を issurNames の基準値に追加します。
 void addIssuerName(byte[] name)
          名前を issurNames の基準値に追加します。
 void addIssuerName(String name)
          バグ: 代わりに addIssuer(X500Principal) または addIssuerName(byte[]) を使用してください。
 Object clone()
          このオブジェクトの複製を返します。
 X509Certificate getCertificateChecking()
          チェック対象の証明書を返します。
 Date getDateAndTime()
          dateAndTime 基準値を返します。
 Collection<Object> getIssuerNames()
          issurNames の基準値の複製を返します。
 Collection<X500Principal> getIssuers()
          issurNames の基準値を返します。
 BigInteger getMaxCRL()
          maxCRLNumber 基準値を返します。
 BigInteger getMinCRL()
          minCRLNumber 基準値を返します。
 boolean match(CRL crl)
          CRL が選択されるかどうかを判断します。
 void setCertificateChecking(X509Certificate cert)
          チェック対象の証明書を設定します。
 void setDateAndTime(Date dateAndTime)
          dateAndTime 基準値を設定します。
 void setIssuerNames(Collection<?> names)
          注: 代わりに setIssuers(Collection) を使用するか、このメソッドを使用する際にバイト配列形式の識別名のみを指定してください。
 void setIssuers(Collection<X500Principal> issuers)
          issurNames の基準値を設定します。
 void setMaxCRLNumber(BigInteger maxCRL)
          maxCRLNumber 基準値を設定します。
 void setMinCRLNumber(BigInteger minCRL)
          minCRLNumber 基準値を設定します。
 String toString()
          X509CRLSelector のプリント可能表現を返します。
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

X509CRLSelector

public X509CRLSelector()
X509CRLSelector を作成します。最初は基準が設定されていないため、どの X509CRL でも一致します。

メソッドの詳細

setIssuers

public void setIssuers(Collection<X500Principal> issuers)
issurNames の基準値を設定します。X509CRL での発行者の識別名は、指定した識別名の少なくとも 1 つ以上に一致する必要があります。null の場合は、任意の発行者識別名と一致することになります。 

このメソッドを使用すると、1 回のメソッド呼び出しで、呼び出し側が X509CRLs を含む発行者名の完全なセットを指定できます。指定した値で issuerNames 基準値の前の値が置き換えられます。

names パラメータ (null でない場合) は、X500PrincipalCollection です。

names パラメータには重複した識別名が含まれていることがありますが、それらは getIssuers メソッドから返された名前の Collection から削除できます。

以後の変更から保護するために、Collection にディープコピーが行われます。

パラメータ:
issuers - X500Principal の Collection、または null
導入されたバージョン:
1.5
関連項目:
getIssuers()

setIssuerNames

public void setIssuerNames(Collection<?> names)
                    throws IOException
注: 代わりに setIssuers(Collection) を使用するか、このメソッドを使用する際にバイト配列形式の識別名のみを指定してください。詳細は、addIssuerName(String) を参照してください。

issurNames の基準値を設定します。X509CRL での発行者の識別名は、指定した識別名の少なくとも 1 つ以上に一致する必要があります。null の場合は、任意の発行者識別名と一致することになります。 

このメソッドを使用すると、1 回のメソッド呼び出しで、呼び出し側が X509CRLs を含む発行者名の完全なセットを指定できます。指定した値で issuerNames 基準値の前の値が置き換えられます。

names パラメータが null ではない場合は、名前の Collection になります。それぞれの名前は String か、識別名を表すバイト配列 (それぞれが RFC 2253 または ASN.1 DER 符号化形式) です。この引数の値として null が指定された場合、issurNames のチェックは行われません。

names パラメータには重複した識別名が含まれることがありますが、それらは getIssuerNames メソッドから返された名前の Collection から削除できます。

名前がバイト配列で指定された場合、X.501 で定義されている DER 符号化された単一識別名が含まれる必要があります。この構造体の ASN.1 表記は次のようになります。  


 Name ::= CHOICE {
   RDNSequence }

 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName

 RelativeDistinguishedName ::=
   SET SIZE (1 .. MAX) OF AttributeTypeAndValue

 AttributeTypeAndValue ::= SEQUENCE {
   type     AttributeType,
   value    AttributeValue }

 AttributeType ::= OBJECT IDENTIFIER

 AttributeValue ::= ANY DEFINED BY AttributeType
 ....
 DirectoryString ::= CHOICE {
       teletexString           TeletexString (SIZE (1..MAX)),
       printableString         PrintableString (SIZE (1..MAX)),
       universalString         UniversalString (SIZE (1..MAX)),
       utf8String              UTF8String (SIZE (1.. MAX)),
       bmpString               BMPString (SIZE (1..MAX)) }
 

以後の変更から保護するために、Collection にディープコピーが行われます。

パラメータ:
names - 名前の Collection。または null
例外:
IOException - 構文解析エラーが発生した場合
関連項目:
getIssuerNames()

addIssuer

public void addIssuer(X500Principal issuer)
名前を issurNames の基準値に追加します。X509CRL での発行者の識別名は、指定した識別名の少なくとも 1 つ以上に一致する必要があります。

このメソッドでは、呼び出し側が名前を X509CRL に含まれる発行者名のセットに追加できます。指定した名前は、issuerNames 基準で先に存在する値に追加されます。指定した名前が重複する場合は無視されます。

パラメータ:
issuer - X500Principal としての発行者
導入されたバージョン:
1.5

addIssuerName

public void addIssuerName(String name)
                   throws IOException
バグ: 代わりに addIssuer(X500Principal) または addIssuerName(byte[]) を使用してください。このメソッドの実行結果を信用しないでください。 RFC 2253 文字列形式で記述された一部の識別名では、符号化情報の損失により、CRL の一致処理に失敗する可能性があるからです。

名前を issurNames の基準値に追加します。X509CRL での発行者の識別名は、指定した識別名の少なくとも 1 つ以上に一致する必要があります。

このメソッドでは、呼び出し側が名前を X509CRL に含まれる発行者名のセットに追加できます。指定した名前は、issuerNames 基準で先に存在する値に追加されます。指定した名前が重複する場合は無視されます。

パラメータ:
name - RFC 2253 形式の名前
例外:
IOException - 構文解析エラーが発生した場合

addIssuerName

public void addIssuerName(byte[] name)
                   throws IOException
名前を issurNames の基準値に追加します。X509CRL での発行者の識別名は、指定した識別名の少なくとも 1 つ以上に一致する必要があります。

このメソッドでは、呼び出し側が名前を X509CRL に含まれる発行者名のセットに追加できます。指定した名前は、issuerNames 基準で先に存在する値に追加されます。指定した名前が重複する場合は無視されます。名前がバイト配列で指定された場合、X.501 で定義されている DER 符号化された単一識別名が含まれる必要があります。この構造体の ASN.1 表記は次のようになります。

名前はバイト配列で指定されます。このバイト配列には、X.501 で定義されている DER 符号化された単一識別名が含まれる必要があります。この構造体の ASN.1 表記は setIssuerNames(Collection names) で説明しています。

以後の変更から保護するために、ここで提供されるバイト配列は複製されています。

パラメータ:
name - ASN.1 DER 符号化形式による名前を含むバイト配列
例外:
IOException - 構文解析エラーが発生した場合

setMinCRLNumber

public void setMinCRLNumber(BigInteger minCRL)
minCRLNumber 基準値を設定します。X509CRL では、CRL 数機能拡張がなければいけません。 CRL 数機能拡張の値は指定した値以上になります。null が指定された場合、minCRLNumber のチェックは行われません。

パラメータ:
minCRL - 許容される最小 CRL 数。または null

setMaxCRLNumber

public void setMaxCRLNumber(BigInteger maxCRL)
maxCRLNumber 基準値を設定します。X509CRL では、CRL 数機能拡張がなければいけません。 CRL 数機能拡張の値は指定した値以下になります。null が指定された場合、maxCRLNumber のチェックは行われません。

パラメータ:
maxCRL - 許容される最大 CRL 数。または null

setDateAndTime

public void setDateAndTime(Date dateAndTime)
dateAndTime 基準値を設定します。指定した日付は、X509CRL のthisUpdate コンポーネントの値以降で、かつ nextUpdate コンポーネントの値以前でなければいけません。X509CRL に nextUpdate コンポーネントが含まれていない場合は、一致する日付はありません。null が指定された場合、dateAndTime のチェックは行われません。

以後の変更から保護するために、ここで提供される Date は複製されています。

パラメータ:
dateAndTime - 一致するかどうかを確認する Date。または null
関連項目:
getDateAndTime()

setCertificateChecking

public void setCertificateChecking(X509Certificate cert)
チェック対象の証明書を設定します。これは、条件ではありません。特定の証明書の取り消しをチェックする際に、CertStore が関連する CRL を検索するのに役立つオプション情報です。null が指定された場合、そのような追加情報は提供されません。

パラメータ:
cert - チェック対象の X509Certificate。または null
関連項目:
getCertificateChecking()

getIssuers

public Collection<X500Principal> getIssuers()
issurNames の基準値を返します。X509CRL での発行者の識別名は、指定した識別名の少なくとも 1 つ以上に一致する必要があります。返された値が null の場合は、任意の発行者識別名が一致すればよいことになります。 

戻り値が null でない場合、その戻り値は、X500Principal の変更不可能な Collection です。

戻り値:
変更不可能な名前の Collection または null
導入されたバージョン:
1.5
関連項目:
setIssuers(java.util.Collection)

getIssuerNames

public Collection<Object> getIssuerNames()
issurNames の基準値の複製を返します。X509CRL での発行者の識別名は、指定した識別名の少なくとも 1 つ以上に一致する必要があります。返された値が null の場合は、任意の発行者識別名が一致すればよいことになります。 

返された値が null ではない場合は、名前の Collection になります。それぞれの名前は String か、識別名を表すバイト配列 (それぞれが RFC 2253 または ASN.1 DER 符号化形式) です。返される Collection には、重複する名前が含まれていることがあります。

名前がバイト配列で指定された場合、X.501 で定義されている DER 符号化された単一識別名が含まれる必要があります。この構造体の ASN.1 表記は setIssuerNames(Collection names) で説明しています。

以後の変更から保護するために、Collection にディープコピーが行われます。

戻り値:
名前の Collection。または null
関連項目:
setIssuerNames(java.util.Collection)

getMinCRL

public BigInteger getMinCRL()
minCRLNumber 基準値を返します。X509CRL では、CRL 数機能拡張がなければいけません。 CRL 数機能拡張の値は指定した値以上になります。null が指定された場合、minCRLNumber のチェックは行われません。

戻り値:
許容される最小 CRL 数。または null

getMaxCRL

public BigInteger getMaxCRL()
maxCRLNumber 基準値を返します。X509CRL では、CRL 数機能拡張がなければいけません。 CRL 数機能拡張の値は指定した値以下になります。null が指定された場合、maxCRLNumber のチェックは行われません。

戻り値:
許容される最大 CRL 数。または null

getDateAndTime

public Date getDateAndTime()
dateAndTime 基準値を返します。指定した日付は、X509CRL のthisUpdate コンポーネントの値以降で、かつ nextUpdate コンポーネントの値以前でなければいけません。X509CRL に nextUpdate コンポーネントが含まれていない場合は、一致する日付はありません。null が指定された場合、dateAndTime のチェックは行われません。

以後の変更から保護するために、返される Date は複製されています。

戻り値:
一致するかどうかを確認する Date。または null
関連項目:
setDateAndTime(java.util.Date)

getCertificateChecking

public X509Certificate getCertificateChecking()
チェック対象の証明書を返します。これは、条件ではありません。特定の証明書の取り消しをチェックする際に、CertStore が関連する CRL を検索するのに役立つオプション情報です。返された値が null の場合、そのような追加情報は提供されません。

戻り値:
チェック対象の証明書。または null
関連項目:
setCertificateChecking(java.security.cert.X509Certificate)

toString

public String toString()
X509CRLSelector のプリント可能表現を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
X509CRLSelector の内容を表す String

match

public boolean match(CRL crl)
CRL が選択されるかどうかを判断します。

定義:
インタフェース CRLSelector 内の match
パラメータ:
crl - チェック対象の CRL
戻り値:
CRL が選択される場合は true、そうでない場合は false

clone

public Object clone()
このオブジェクトの複製を返します。

定義:
インタフェース CRLSelector 内の clone
オーバーライド:
クラス Object 内の clone
戻り値:
コピー
関連項目:
Cloneable

JavaTM Platform
Standard Ed. 6

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

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