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

クラスPKIXRevocationChecker

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

public abstract class PKIXRevocationChecker
extends PKIXCertPathChecker
証明書の失効ステータスをPKIXアルゴリズムで確認するためのPKIXCertPathChecker

PKIXRevocationCheckerは、証明書の失効ステータスをOCSP (Online Certificate Status Protocol)またはCRL (証明書の取消しリスト)でチェックします。 OCSPは、RFC 2560に記述されている、証明書のステータスを判定するためのネットワーク・プロトコルです。 CRLは失効した証明書を識別するタイムスタンプ付きのリストであり、RFC 5280にはCRLを使用して証明書の失効ステータスを判定するためのアルゴリズムが記述されています。

PKIXRevocationCheckerは、OCSPとCRLを使用して証明書の失効ステータスをチェックできる必要があります。 デフォルトでは、OCSPが失効ステータスをチェックするための優先メカニズムになり、CRLは代替メカニズムになります。 ただし、この設定はPREFER_CRLSオプションを使用してCRLに切り替えることができます。 さらに、NO_FALLBACKオプションを使用して代替メカニズムを無効にすることもできます。

PKIXRevocationCheckerを取得するには、PKIX CertPathValidatorgetRevocationCheckerメソッドを呼び出します。 失効に固有の追加パラメータおよびオプションを設定できます(そのためには、インスタンスのsetOcspResponderメソッドを呼び出します)。 addCertPathCheckerまたはsetCertPathCheckersメソッドを使用してPKIXParametersオブジェクトにPKIXRevocationCheckerを追加し、そのPKIXParametersを検証対象のCertPathとともにPKIX CertPathValidatorvalidateメソッドに渡して検証します。 この方法で失効チェッカを適用すると、RevocationEnabledフラグの設定に関係なく、それを使用して失効がチェックされます。 同様に、PKIX CertPathBuilderで使用する場合は、PKIXRevocationCheckerPKIXBuilderParametersオブジェクトに追加できます。

PKIXParametersPKIXRevocationCheckerを追加した場合、PKIXRevocationCheckerはクローニングされるため、PKIXRevocationCheckerに対するその後の変更は無効になります。

設定されていない(またはnullに設定されている)パラメータは、それぞれのデフォルト値に設定されます。

並行アクセス

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

導入されたバージョン:
1.8
関連項目:
RFC 2560: X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP,
RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
  • コンストラクタの詳細

    • PKIXRevocationChecker

      protected PKIXRevocationChecker()
      デフォルトのコンストラクタです。
  • メソッドの詳細

    • setOcspResponder

      public void setOcspResponder​(URI uri)
      OCSPレスポンダの場所を特定するURIを設定します。 これは、RFC 5280に定義されている証明書のAuthority Information Access拡張機能で指定されたocsp.responderURLセキュリティ・プロパティとレスポンダをオーバーライドします。
      パラメータ:
      uri - レスポンダURI
    • getOcspResponder

      public URI getOcspResponder()
      OCSPレスポンダの場所を特定するURIを取得します。 これは、ocsp.responderURLセキュリティ・プロパティをオーバーライドします。 このパラメータまたはocsp.responderURLプロパティが設定されていない場合は、RFC 5280に定義されている証明書のAuthority Information Access拡張機能から場所が判定されます。
      戻り値:
      レスポンダURI。設定されていない場合はnull
    • setOcspResponderCert

      public void setOcspResponderCert​(X509Certificate cert)
      OCSPレスポンダの証明書を設定します。 これは、ocsp.responderCertSubjectNameocsp.responderCertIssuerNameおよびocsp.responderCertSerialNumberセキュリティ・プロパティをオーバーライドします。
      パラメータ:
      cert - レスポンダの証明書
    • getOcspResponderCert

      public X509Certificate getOcspResponderCert()
      OCSPレスポンダの証明書を取得します。 これは、ocsp.responderCertSubjectNameocsp.responderCertIssuerNameおよびocsp.responderCertSerialNumberセキュリティ・プロパティをオーバーライドします。 このパラメータまたは前述のプロパティが設定されていない場合は、RFC 2560で指定されているようにレスポンダの証明書が特定されます。
      戻り値:
      レスポンダの証明書。設定されていない場合はnull
    • setOcspExtensions

      public void setOcspExtensions​(List<Extension> extensions)
      オプションのOCSPリクエスト拡張機能を設定します。
      パラメータ:
      extensions - 拡張機能のリスト。 以後の変更から保護するために、リストは複製されます。
    • getOcspExtensions

      public List<Extension> getOcspExtensions()
      オプションのOCSPリクエスト拡張機能を取得します。
      戻り値:
      拡張機能の変更不可能なリスト。 拡張機能が指定されていない場合、このリストは空です。
    • setOcspResponses

      public void setOcspResponses​(Map<X509Certificate,​byte[]> responses)
      OCSP応答を設定します。 これらの応答は、OCSPの使用時に、指定された証明書の失効ステータスを判定するために使用されます。
      パラメータ:
      responses - OCSP応答のマップ。 個々のキーは、DERでエンコードされたその証明書に対応するOCSP応答にマッピングされるX509Certificateです。 その後の変更から保護するため、マップのディープ・コピーが実行されます。
    • getOcspResponses

      public Map<X509Certificate,​byte[]> getOcspResponses()
      OCSP応答を取得します。 これらの応答は、OCSPの使用時に、指定された証明書の失効ステータスを判定するために使用されます。
      戻り値:
      OCSP応答のマップ。 個々のキーは、DERでエンコードされたその証明書に対応するOCSP応答にマッピングされるX509Certificateです。 その後の変更から保護するため、マップのディープ・コピーが返されます。 応答が指定されていない場合は、空のマップを返します。
    • setOptions

      public void setOptions​(Set<PKIXRevocationChecker.Option> options)
      失効オプションを設定します。
      パラメータ:
      options - 失効オプションのセット。 このセットは、その後の変更から保護するためにコピーされます。
    • getOptions

      public Set<PKIXRevocationChecker.Option> getOptions()
      失効オプションを取得します。
      戻り値:
      失効オプションの変更不可能なセット。 オプションが指定されていない場合、このセットは空です。
    • getSoftFailExceptions

      public abstract List<CertPathValidatorException> getSoftFailExceptions()
      SOFT_FAILオプションが設定されているときに失効チェッカが無視する例外を含むリストを返します。 このリストは、initが呼び出されるたびにクリアされます。 このリストは、各エントリのgetIndexメソッドによって返される証明書インデックスに従って昇順に並べられます。

      PKIXRevocationCheckerの実装は、無視された例外をこのリストに追加します。

      戻り値:
      無視された例外を含む変更不可能なリスト。 無視された例外がない場合、このリストは空です。
    • clone

      public PKIXRevocationChecker clone()
      次のクラスからコピーされた説明: PKIXCertPathChecker
      このオブジェクトの複製を返します。 Object.clone()メソッドを呼び出します。 状態を維持するすべてのサブクラスではこのメソッドをサポートしなければならず、必要に応じてオーバーライドします。
      オーバーライド:
      clone、クラス: PKIXCertPathChecker
      戻り値:
      このPKIXCertPathCheckerのコピー
      関連項目:
      Cloneable