モジュール java.base
パッケージ java.security.cert

クラスX509CRLSelector

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

public class X509CRLSelector
extends Object
implements CRLSelector
指定した基準すべてに一致するX509CRLsを選択するCRLSelectorです。 このクラスは、証明書の取消し状況をチェックするためにCertStoreからCRLを選択するときに、特に役立ちます。

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

これから説明するX.509 CRLフィールドと機能拡張の定義については、RFC 5280「Internet X.509 Public Key Infrastructure Certificate and CRL Profile」を参照してください。

並行アクセス

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

導入されたバージョン:
1.4
関連項目:
CRLSelector, X509CRL
  • コンストラクタの詳細

    • X509CRLSelector

      public X509CRLSelector()
      X509CRLSelectorを作成します。 最初は条件が設定されていないため、どのX509CRLでも一致します。
  • メソッドの詳細

    • setIssuers

      public void setIssuers​(Collection<X500Principal> issuers)
      issuerNamesの基準値を設定します。 X509CRLにある発行者識別名は、指定された識別名の少なくとも1つと一致する必要があります。 nullの場合、発行者識別名は問われません。

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

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

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

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

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

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

      issuerNamesの基準値を設定します。 X509CRLにある発行者識別名は、指定された識別名の少なくとも1つと一致する必要があります。 nullの場合、発行者識別名は問われません。

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

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

      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)
      名前をissuerNamesの基準値に追加します。 X509CRLにある発行者識別名は、指定された識別名の少なくとも1つと一致する必要があります。

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

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

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

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

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

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

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

      このメソッドでは、呼出し側が名前をX509CRLsに含まれる発行者名のセットに追加できます。 指定した名前は、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()
      issuerNamesの基準値を返します。 X509CRLにある発行者識別名は、指定された識別名の少なくとも1つと一致する必要があります。 返された値がnullの場合は、発行者識別名は問われません。

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

      戻り値:
      名前の変更不可能なCollection。またはnull
      導入されたバージョン:
      1.5
      関連項目:
      setIssuers(java.util.Collection<javax.security.auth.x500.X500Principal>)
    • getIssuerNames

      public Collection<Object> getIssuerNames()
      issuerNamesの基準値の複製を返します。 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のプリント可能表現を返します。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このX509CRLSelectorの内容を表すString
    • match

      public boolean match​(CRL crl)
      CRLが選択されるかどうかを判断します。
      定義:
      match、インタフェース: CRLSelector
      パラメータ:
      crl - チェック対象のCRL
      戻り値:
      CRLが選択される場合はtrue、そうでない場合はfalse
    • clone

      public Object clone()
      このオブジェクトの複製を返します。
      定義:
      clone、インタフェース: CRLSelector
      オーバーライド:
      clone、クラス: Object
      戻り値:
      コピー
      関連項目:
      Cloneable