- java.lang.Object
 - 
- java.security.cert.CRL
 - 
- java.security.cert.X509CRL
 
 
 
- 
- すべての実装されたインタフェース:
 X509Extension
public abstract class X509CRL extends CRL implements X509Extension
X.509証明書の取消しリスト(CRL)の抽象クラスです。 CRLは、タイムスタンプの付いたリストで、取り消された証明書を示しています。 これは証明書発行局(CA)によって署名され、共用リポジトリで自由に利用できます。
取り消された各証明書は、CRLでは証明書のシリアル番号によって識別されます。 証明書使用システムが証明書を使用するとき(リモート・ユーザーのデジタル署名の検証のためなど)、システムは証明書の署名と有効期間を確認するだけでなく、新しいCRLを取得し、証明書のシリアル番号がそのCRLにないことも確認します。 「新しい」の意味はローカル・ポリシーによって異なりますが、通常はもっとも新しく発行されたCRLを意味します。 CAは新しいCRLを定期的に(毎時、毎日、毎週など)発行します。 取消しがあるたびにエントリがCRLに追加され、証明書の有効期限が切れるとエントリが削除されます。
X.509 v2 CRL形式は、ASN.1で次のように記述されます。
CertificateList ::= SEQUENCE { tbsCertList TBSCertList, signatureAlgorithm AlgorithmIdentifier, signature BIT STRING }詳細は、RFC 5280Internet X.509 Public Key Infrastructure Certificate and CRL Profileを参照してください。
tbsCertListのASN.1定義は次のとおりです。TBSCertList ::= SEQUENCE { version Version OPTIONAL, -- if present, must be v2 signature AlgorithmIdentifier, issuer Name, thisUpdate ChoiceOfTime, nextUpdate ChoiceOfTime OPTIONAL, revokedCertificates SEQUENCE OF SEQUENCE { userCertificate CertificateSerialNumber, revocationDate ChoiceOfTime, crlEntryExtensions Extensions OPTIONAL -- if present, must be v2 } OPTIONAL, crlExtensions [0] EXPLICIT Extensions OPTIONAL -- if present, must be v2 }CRLのインスタンスは、証明書ファクトリを使って生成されます。 次の例はX.509 CRLのインスタンスを生成する方法を示しています。
try (InputStream inStream = new FileInputStream("fileName-of-crl")) { CertificateFactory cf = CertificateFactory.getInstance("X.509"); X509CRL crl = (X509CRL)cf.generateCRL(inStream); }- 導入されたバージョン:
 - 1.2
 - 関連項目:
 CRL,CertificateFactory,X509Extension
 
- 
- 
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protectedX509CRL()X.509 CRLのコンストラクタです。 
- 
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 booleanequals(Object other)指定されたオブジェクトとこのCRLが等しいかどうかを判定します。abstract byte[]getEncoded()このCRLのASN.1 DERで符号化された形式を返します。abstract PrincipalgetIssuerDN()非推奨: getIssuerX500Principal()で置き換えられました。X500PrincipalgetIssuerX500Principal()CRLから発行者(発行者識別名)の値をX500Principalとして返します。abstract DategetNextUpdate()CRLからnextUpdateの日付を取得します。abstract X509CRLEntrygetRevokedCertificate(BigInteger serialNumber)指定された証明書のserialNumberを持つCRLエントリを取得します(ある場合)。X509CRLEntrygetRevokedCertificate(X509Certificate certificate)指定された証明書に対するCRLエントリを取得します(存在する場合)。abstract Set<? extends X509CRLEntry>getRevokedCertificates()すべてのエントリを取得します。abstract StringgetSigAlgName()署名アルゴリズム名を取得します。abstract StringgetSigAlgOID()CRLから署名アルゴリズムのOID文字列を取得します。abstract byte[]getSigAlgParams()このCRLの署名アルゴリズムから、DERで符号化された署名アルゴリズム・パラメータを取得します。abstract byte[]getSignature()signature値(生のシグネチャ・ビット)を取得します。abstract byte[]getTBSCertList()DERで符号化されたCRL情報tbsCertListをこのCRLから取得します。abstract DategetThisUpdate()CRLからthisUpdateの日付を取得します。abstract intgetVersion()CRLからversion(バージョン番号)値を取得します。inthashCode()符号化された形式からこのCRLのハッシュ・コード値を返します。abstract voidverify(PublicKey key)指定された公開鍵に対応する非公開鍵を使って、このCRLが署名されたことを検証します。abstract voidverify(PublicKey key, String sigProvider)指定された公開鍵に対応する非公開鍵を使って、このCRLが署名されたことを検証します。voidverify(PublicKey key, Provider sigProvider)指定された公開鍵に対応する非公開鍵を使って、このCRLが署名されたことを検証します。- 
インタフェース java.security.cert.X509Extensionで宣言されたメソッド
getCriticalExtensionOIDs, getExtensionValue, getNonCriticalExtensionOIDs, hasUnsupportedCriticalExtension 
 - 
 
 - 
 
- 
- 
メソッドの詳細
- 
equals
public boolean equals(Object other)
指定されたオブジェクトとこのCRLが等しいかどうかを判定します。otherオブジェクトがinstanceofX509CRLの場合、符号化された形式が取得され、このCRLの符号化された形式と比較されます。- オーバーライド:
 equals、クラス:Object- パラメータ:
 other- このCRLと等しいかどうかが判定されるオブジェクト。- 戻り値:
 - 2つのCRLの符号化された形式が一致した場合はtrue、そうでない場合はfalse
 - 関連項目:
 Object.hashCode()、HashMap
 
- 
hashCode
public int hashCode()
符号化された形式からこのCRLのハッシュ・コード値を返します。- オーバーライド:
 hashCode、クラス:Object- 戻り値:
 - ハッシュ・コード値
 - 関連項目:
 Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
 
- 
getEncoded
public abstract byte[] getEncoded() throws CRLExceptionこのCRLのASN.1 DERで符号化された形式を返します。- 戻り値:
 - この証明書の符号化された形式
 - 例外:
 CRLException- 符号化エラーが発生した場合
 
- 
verify
public abstract void verify(PublicKey key) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException
指定された公開鍵に対応する非公開鍵を使って、このCRLが署名されたことを検証します。- パラメータ:
 key- 検証の実行に使うPublicKey- 例外:
 NoSuchAlgorithmException- サポートされていない署名アルゴリズムの場合InvalidKeyException- 無効な鍵の場合NoSuchProviderException- デフォルトのプロバイダがない場合SignatureException- 署名エラーの場合CRLException- 符号化エラーの場合
 
- 
verify
public abstract void verify(PublicKey key, String sigProvider) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException
指定された公開鍵に対応する非公開鍵を使って、このCRLが署名されたことを検証します。 このメソッドは、指定されたプロバイダによって提供された署名検証エンジンを使用します。- パラメータ:
 key- 検証の実行に使うPublicKeysigProvider- 署名プロバイダの名前- 例外:
 NoSuchAlgorithmException- サポートされていない署名アルゴリズムの場合InvalidKeyException- 無効な鍵の場合NoSuchProviderException- 無効なプロバイダの場合SignatureException- 署名エラーの場合CRLException- 符号化エラーの場合
 
- 
verify
public void verify(PublicKey key, Provider sigProvider) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, SignatureException
指定された公開鍵に対応する非公開鍵を使って、このCRLが署名されたことを検証します。 このメソッドは、指定されたプロバイダによって提供された署名検証エンジンを使用します。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。 このメソッドは、Java Platform Standard Editionのバージョン1.8で追加されました。 既存のサービス・プロバイダとの下位互換性を維持するため、このメソッドはabstractではなく、デフォルトの実装を提供します。- パラメータ:
 key- 検証の実行に使うPublicKeysigProvider- 署名プロバイダ。- 例外:
 NoSuchAlgorithmException- サポートされていない署名アルゴリズムの場合InvalidKeyException- 無効な鍵の場合SignatureException- 署名エラーの場合CRLException- 符号化エラーの場合- 導入されたバージョン:
 - 1.8
 
 
- 
getVersion
public abstract int getVersion()
CRLからversion(バージョン番号)値を取得します。 ASN.1定義は次のとおりです。version Version OPTIONAL, -- if present, must be v2 Version ::= INTEGER { v1(0), v2(1), v3(2) } -- v3 does not apply to CRLs but appears for consistency -- with definition of Version for certs- 戻り値:
 - バージョン番号(1または2)
 
 
- 
getIssuerDN
public abstract Principal getIssuerDN()
非推奨: getIssuerX500Principal()で置き換えられました。 このメソッドは、issuerを実装固有のPrincipalオブジェクトとして返します。移植性のあるコードがこのようなオブジェクトに依存すべきではありません。CRLから
issuer(発行者識別名)値を取得します。 発行者名は、CRLの署名と発行を行ったエンティティを識別します。発行者名フィールドには、X.500識別名(DN)が格納されます。 ASN.1定義は次のとおりです。
issuer Name Name ::= CHOICE { RDNSequence } RDNSequence ::= SEQUENCE OF RelativeDistinguishedName RelativeDistinguishedName ::= SET OF AttributeValueAssertion AttributeValueAssertion ::= SEQUENCE { AttributeType, AttributeValue } AttributeType ::= OBJECT IDENTIFIER AttributeValue ::= ANYNameには、国名などの属性とそれに対応する、USなどの値からなる階層的な名前を記述します。AttributeValueコンポーネントの型は、AttributeTypeによって決まります。一般的には、directoryStringです。directoryStringは、通常PrintableString、TeletexString、UniversalStringのいずれかです。- 戻り値:
 - 名前が発行者識別名であるPrincipal
 
 
- 
getIssuerX500Principal
public X500Principal getIssuerX500Principal()
CRLから発行者(発行者識別名)の値をX500Principalとして返します。サブクラスでこのメソッドをオーバーライドすることをお薦めします。
- 戻り値:
 - 発行者識別名を表す
X500Principal - 導入されたバージョン:
 - 1.4
 
 
- 
getThisUpdate
public abstract Date getThisUpdate()
CRLからthisUpdateの日付を取得します。 ASN.1定義は次のとおりです。thisUpdate ChoiceOfTime ChoiceOfTime ::= CHOICE { utcTime UTCTime, generalTime GeneralizedTime }- 戻り値:
 - CRLからの
thisUpdateの日付 
 
- 
getNextUpdate
public abstract Date getNextUpdate()
CRLからnextUpdateの日付を取得します。- 戻り値:
 - CRLからの
nextUpdateの日付。日付がない場合はnull 
 
- 
getRevokedCertificate
public abstract X509CRLEntry getRevokedCertificate(BigInteger serialNumber)
指定された証明書のserialNumberを持つCRLエントリを取得します(ある場合)。- パラメータ:
 serialNumber- CRLエントリを検索する証明書のシリアル番号- 戻り値:
 - 指定されたシリアル番号を持つエントリ。このCRLにそのエントリがない場合はnull
 - 関連項目:
 X509CRLEntry
 
- 
getRevokedCertificate
public X509CRLEntry getRevokedCertificate(X509Certificate certificate)
指定された証明書に対するCRLエントリを取得します(存在する場合)。このメソッドを使用すると、間接CRL (CRL発行者以外の発行者によって発行されたエントリを含むCRL)内のCRLエントリを検索できます。 デフォルト実装は、CRL発行者によって発行された証明書エントリのみを返します。 間接CRLのサポートが必要なサブクラスは、このメソッドをオーバーライドする必要があります。
- パラメータ:
 certificate- CRLエントリの検索対象となる証明書- 戻り値:
 - 指定された証明書に対するエントリ。そのようなエントリがこのCRL内に存在しない場合はnull
 - 例外:
 NullPointerException- 証明書がnullの場合- 導入されたバージョン:
 - 1.5
 
 
- 
getRevokedCertificates
public abstract Set<? extends X509CRLEntry> getRevokedCertificates()
すべてのエントリを取得します。 X509CRLEntryオブジェクトのSetが返されます。- 戻り値:
 - すべてのエントリ。エントリがない場合はnull
 - 関連項目:
 X509CRLEntry
 
- 
getTBSCertList
public abstract byte[] getTBSCertList() throws CRLExceptionDERで符号化されたCRL情報tbsCertListをこのCRLから取得します。 この情報は署名を個別に検証するために使用されます。- 戻り値:
 - DERで符号化されたCRL情報
 - 例外:
 CRLException- 符号化エラーが発生した場合
 
- 
getSignature
public abstract byte[] getSignature()
signature値(生のシグネチャ・ビット)を取得します。 ASN.1定義は次のとおりです。signature BIT STRING
- 戻り値:
 - シグネチャ
 
 
- 
getSigAlgName
public abstract String getSigAlgName()
署名アルゴリズム名を取得します。 たとえば、文字列「SHA256withRSA」などです。 ASN.1定義は次のとおりです。signatureAlgorithm AlgorithmIdentifier AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL } -- contains a value of the type -- registered for use with the -- algorithm object identifier valueアルゴリズム名は
algorithmOID文字列から判定されます。- 戻り値:
 - 署名アルゴリズム名
 
 
- 
getSigAlgOID
public abstract String getSigAlgOID()
CRLから署名アルゴリズムのOID文字列を取得します。 OIDはピリオドで区切られた負にならない整数のセットで表されます。 たとえば、文字列「1.2.840.10040.4.3」では、RFC 3279「Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and CRL Profile」で定義されている、DSA署名アルゴリズムを持つSHA-1が識別されます。該当するASN.1定義については、
getSigAlgNameを参照してください。- 戻り値:
 - 署名アルゴリズムのOID文字列
 
 
- 
getSigAlgParams
public abstract byte[] getSigAlgParams()
このCRLの署名アルゴリズムから、DERで符号化された署名アルゴリズム・パラメータを取得します。 ほとんどの場合、署名アルゴリズム・パラメータはnullで、通常は公開鍵とともに提供されます。 個々のパラメータ値へのアクセスが必要な場合は、AlgorithmParametersを使用し、getSigAlgNameによって返される名前を使ってインスタンスを生成します。該当するASN.1定義については、
getSigAlgNameを参照してください。- 戻り値:
 - DERで符号化された署名アルゴリズム・パラメータ。パラメータが存在しない場合はnull
 
 
 - 
 
 -