|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--java.security.cert.CRL
|
+--java.security.cert.X509CRL
X.509 証明書の取り消しリスト (CRL) の抽象クラスです。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 }
詳細は、http://www.ietf.org/rfc/rfc2459.txt にある RFC 2459 の「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 のインスタンスを生成する方法を示しています。
InputStream inStream = new FileInputStream("fileName-of-crl");
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509CRL crl = (X509CRL)cf.generateCRL(inStream);
inStream.close();
CRL,
CertificateFactory,
X509Extension| コンストラクタの概要 | |
protected |
X509CRL()
X.509 CRL のコンストラクタです。 |
| メソッドの概要 | |
boolean |
equals(Object other)
指定されたオブジェクトとこの CRL が等しいかどうかを判定します。 |
abstract byte[] |
getEncoded()
この CRL の ASN.1 DER で符号化された形式を返します。 |
abstract Principal |
getIssuerDN()
CRL から issuer (発行者識別名) 値を取得します。 |
abstract Date |
getNextUpdate()
CRL から nextUpdate の日付を取得します。 |
abstract X509CRLEntry |
getRevokedCertificate(BigInteger serialNumber)
指定された証明書の serialNumber を持つ CRL エントリを取得します (ある場合)。 |
abstract Set |
getRevokedCertificates()
すべてのエントリを取得します。 |
abstract String |
getSigAlgName()
署名アルゴリズム名を取得します。 |
abstract String |
getSigAlgOID()
CRL から署名アルゴリズムの OID 文字列を取得します。 |
abstract byte[] |
getSigAlgParams()
署名アルゴリズムから 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 が署名されたことを検証します。 |
abstract void |
verify(PublicKey key,
String sigProvider)
この CRL が、指定された公開鍵に対応する非公開鍵を使って署名されたことを検証します。 |
| クラス java.security.cert.CRL から継承したメソッド |
getType, isRevoked, toString |
| クラス java.lang.Object から継承したメソッド |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| インタフェース java.security.cert.X509Extension から継承したメソッド |
getCriticalExtensionOIDs, getExtensionValue, getNonCriticalExtensionOIDs, hasUnsupportedCriticalExtension |
| コンストラクタの詳細 |
protected X509CRL()
| メソッドの詳細 |
public boolean equals(Object other)
other オブジェクトが X509CRL のインスタンスの場合は、符号化された形式が取り出され、この CRL の符号化された形式と比較されます。Object 内の equalsother - この CRL と等しいかどうかが判定されるオブジェクトpublic int hashCode()
Object 内の hashCode
public abstract byte[] getEncoded()
throws CRLException
CRLException - 符号化エラーが発生した場合
public abstract void verify(PublicKey key)
throws CRLException,
NoSuchAlgorithmException,
InvalidKeyException,
NoSuchProviderException,
SignatureException
key - 検証に使う PublicKeyNoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合InvalidKeyException - 無効な鍵の場合NoSuchProviderException - デフォルトのプロバイダがない場合SignatureException - 署名エラーの場合CRLException - 符号化エラーの場合
public abstract void verify(PublicKey key,
String sigProvider)
throws CRLException,
NoSuchAlgorithmException,
InvalidKeyException,
NoSuchProviderException,
SignatureException
key - 検証に使う PublicKeysigProvider - 署名プロバイダの名前NoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合InvalidKeyException - 無効な鍵の場合NoSuchProviderException - 無効なプロバイダの場合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 (発行者識別名) 値を取得します。発行者名は、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 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 abstract Set getRevokedCertificates()
X509CRLEntry
public abstract byte[] getTBSCertList()
throws CRLException
tbsCertList を CRL から取得します。この情報は署名を個別に検証するために使用されます。CRLException - 符号化エラーが発生した場合public abstract byte[] getSignature()
signature 値 (生のシグニチャービット) を取得します。ASN.1 定義は次のとおりです。
signature BIT STRING
public abstract String getSigAlgName()
signatureAlgorithm AlgorithmIdentifierAlgorithmIdentifier ::= 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 を参照してください。
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.