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 3280「Internet 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);
}
CRL, CertificateFactory, X509Extension| 修飾子 | コンストラクタ | 説明 |
|---|---|---|
protected |
X509CRL() |
X.509 CRLのコンストラクタです。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
boolean |
equals(Object other) |
指定されたオブジェクトとこのCRLが等しいかどうかを判定します。
|
abstract byte[] |
getEncoded() |
このCRLのASN.1 DERで符号化された形式を返します。
|
abstract Principal |
getIssuerDN() |
非推奨、 getIssuerX500Principal()で置き換えられました。
|
X500Principal |
getIssuerX500Principal() |
CRLから発行者(発行者識別名)の値を
X500Principalとして返します。 |
abstract Date |
getNextUpdate() |
CRLから
nextUpdateの日付を取得します。 |
abstract X509CRLEntry |
getRevokedCertificate(BigInteger serialNumber) |
指定された証明書のserialNumberを持つCRLエントリを取得します(ある場合)。
|
X509CRLEntry |
getRevokedCertificate(X509Certificate certificate) |
指定された証明書に対するCRLエントリを取得します(存在する場合)。
|
abstract Set<? extends X509CRLEntry> |
getRevokedCertificates() |
すべてのエントリを取得します。
|
abstract String |
getSigAlgName() |
署名アルゴリズム名を取得します。
|
abstract String |
getSigAlgOID() |
CRLから署名アルゴリズムのOID文字列を取得します。
|
abstract byte[] |
getSigAlgParams() |
このCRLの署名アルゴリズムから、DERで符号化された署名アルゴリズム・パラメータを取得します。
|
abstract byte[] |
getSignature() |
signature値(生のシグネチャ・ビット)を取得します。 |
abstract byte[] |
getTBSCertList() |
DERで符号化されたCRL情報
tbsCertListをこのCRLから取得します。 |
abstract Date |
getThisUpdate() |
CRLから
thisUpdateの日付を取得します。 |
abstract int |
getVersion() |
CRLから
version (バージョン番号)値を取得します。 |
int |
hashCode() |
符号化された形式からこのCRLのハッシュ・コード値を返します。
|
abstract void |
verify(PublicKey key) |
指定された公開キーに対応する非公開キーを使って、このCRLが署名されたことを検証します。
|
void |
verify(PublicKey key, Provider sigProvider) |
指定された公開キーに対応する非公開キーを使って、このCRLが署名されたことを検証します。
|
abstract void |
verify(PublicKey key, String sigProvider) |
指定された公開キーに対応する非公開キーを使って、このCRLが署名されたことを検証します。
|
getCriticalExtensionOIDs, getExtensionValue, getNonCriticalExtensionOIDs, hasUnsupportedCriticalExtensionpublic boolean equals(Object other)
otherオブジェクトがinstanceof X509CRLの場合、符号化された形式が取得され、このCRLの符号化された形式と比較されます。 equals、クラスObjectother - このCRLと等しいかどうかが判定されるオブジェクト。Object.hashCode(), HashMappublic int hashCode()
hashCode、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public abstract byte[] getEncoded()
throws CRLException
CRLException - 符号化エラーが発生した場合public abstract void verify(PublicKey key) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException
key - 検証の実行に使うPublicKey。NoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合。InvalidKeyException - 無効なキーの場合。NoSuchProviderException - デフォルトのプロバイダがない場合。SignatureException - 署名エラーの場合。CRLException - 符号化エラーの場合public abstract void verify(PublicKey key, String sigProvider) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException
key - 検証の実行に使うPublicKey。sigProvider - 署名プロバイダの名前。NoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合。InvalidKeyException - 無効なキーの場合。NoSuchProviderException - 無効なプロバイダの場合。SignatureException - 署名エラーの場合。CRLException - 符号化エラーの場合public void verify(PublicKey key, Provider sigProvider) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, SignatureException
abstractではなく、デフォルトの実装を提供します。 key - 検証の実行に使うPublicKey。sigProvider - 署名プロバイダ。NoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合。InvalidKeyException - 無効なキーの場合。SignatureException - 署名エラーの場合。CRLException - 符号化エラーの場合public abstract int getVersion()
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
public abstract Principal getIssuerDN()
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 ::= ANY
Nameには、国名などの属性とそれに対応する、USなどの値からなる階層的な名前を記述します。 AttributeValueコンポーネントの型は、AttributeTypeによって決まります。一般的には、directoryStringです。 directoryStringは、通常PrintableString、TeletexString、UniversalStringのいずれかです。 public X500Principal getIssuerX500Principal()
X500Principalとして返します。
サブクラスでこのメソッドをオーバーライドすることをお薦めします。
X500Principalpublic abstract Date getThisUpdate()
thisUpdateの日付を取得します。 ASN.1定義は次のとおりです。
thisUpdate ChoiceOfTime
ChoiceOfTime ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
thisUpdateの日付public abstract Date getNextUpdate()
nextUpdateの日付を取得します。nextUpdateの日付。日付がない場合はnullpublic abstract X509CRLEntry getRevokedCertificate(BigInteger serialNumber)
serialNumber - CRLエントリを検索する証明書のシリアル番号X509CRLEntrypublic X509CRLEntry getRevokedCertificate(X509Certificate certificate)
このメソッドを使用すると、間接CRL (CRL発行者以外の発行者によって発行されたエントリを含むCRL)内のCRLエントリを検索できます。 デフォルト実装は、CRL発行者によって発行された証明書エントリのみを返します。 間接CRLのサポートが必要なサブクラスは、このメソッドをオーバーライドする必要があります。
certificate - CRLエントリの検索対象となる証明書NullPointerException - 証明書がnullの場合public abstract Set<? extends X509CRLEntry> getRevokedCertificates()
X509CRLEntrypublic abstract byte[] getTBSCertList()
throws CRLException
tbsCertListをこのCRLから取得します。 この情報は署名を個別に検証するために使用されます。 CRLException - 符号化エラーが発生した場合public abstract byte[] getSignature()
signature値(生のシグネチャ・ビット)を取得します。 ASN.1定義は次のとおりです。
signature BIT STRING
public abstract String getSigAlgName()
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
アルゴリズム名はalgorithm OID文字列から判定されます。
public abstract String getSigAlgOID()
該当するASN.1定義については、getSigAlgNameを参照してください。
public abstract byte[] getSigAlgParams()
AlgorithmParametersを使用し、getSigAlgNameによって返される名前を使ってインスタンスを生成します。
該当するASN.1定義については、getSigAlgNameを参照してください。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。