| 
 | JavaTM 2 Platform Std. Ed. v1.4.0 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
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(発行者識別名) 値を取得します。 | 
|  X500Principal | getIssuerX500Principal()CRL から発行者 (発行者の識別名) の値を X500Principalとして返します。 | 
| 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 と等しいかどうかが判定されるオブジェクト
Object.hashCode(), 
Hashtablepublic int hashCode()
Object 内の hashCodeObject.equals(java.lang.Object), 
Hashtable
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 - 検証に使う 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 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 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()#getSigAlgName を参照してください。
public abstract byte[] getSigAlgParams()
AlgorithmParameters を使用し、getSigAlgName()#getSigAlgName によって返される名前を使ってインスタンスを生成します。
関連する ASN.1 定義については、getSigAlgName()#getSigAlgName を参照してください。
| 
 | JavaTM 2 Platform Std. Ed. v1.4.0 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
 Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
 Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A.  All Rights Reserved.