|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
java.lang.Objectjava.security.cert.CRL
java.security.cert.X509CRL
public abstract class X509CRL
X. 509 증명서의 취소 리스트 (CRL)의 abstract 클래스입니다. CRL 는, 타임 스탬프가 붙은 리스트로, 삭제된 증명서를 나타내고 있습니다. CRL 는 증명서 발행국 (CA)에 의해 서명되어 공용 리포지터리(repository)로 자유롭게 이용할 수 있습니다.
삭제된 각 증명서는, 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 로 encode 된 형식을 돌려줍니다. |
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 로 encode 된 서명 알고리즘 파라미터를 가져옵니다. |
abstract byte[] |
getSignature ()
signature 치 (생의 시그니챠빗트)를 가져옵니다. |
abstract byte[] |
getTBSCertList ()
DER 로 encode 된 CRL 정보 tbsCertList 를 CRL 로부터 가져옵니다. |
abstract Date |
getThisUpdate ()
CRL 로부터 thisUpdate 의 일자를 가져옵니다. |
abstract int |
getVersion ()
CRL 로부터 version (버젼 번호) 치를 가져옵니다. |
int |
hashCode ()
encode 된 형식으로부터 이 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 의 인스턴스의 경우는, encode 된 형식이 꺼내져 이 CRL 의 encode 된 형식이라고 비교됩니다.
Object 내의 equals other - 이 CRL 와 동일한지 어떤지가 판정되는 객체
Object.hashCode() ,
Hashtable public int hashCode()
Object 내의 hashCode Object.equals(java.lang.Object) ,
Hashtable
public abstract byte[] getEncoded()
throws CRLException
CRLException - encode 에러가 발생했을 경우
public abstract void verify(PublicKey key)
throws CRLException ,
NoSuchAlgorithmException ,
InvalidKeyException ,
NoSuchProviderException ,
SignatureException
key - 검증에 사용하는 PublicKey
NoSuchAlgorithmException - 지원되어 있지 않은 서명 알고리즘의 경우
InvalidKeyException - 무효인 열쇠의 경우
NoSuchProviderException - 디폴트의 프로바이더가 없는 경우
SignatureException - 서명 에러의 경우
CRLException - encode 에러의 경우
public abstract void verify(PublicKey key,
String sigProvider)
throws CRLException ,
NoSuchAlgorithmException ,
InvalidKeyException ,
NoSuchProviderException ,
SignatureException
key - 검증에 사용하는 PublicKeysigProvider - 서명 프로바이더의 이름
NoSuchAlgorithmException - 지원되어 있지 않은 서명 알고리즘의 경우
InvalidKeyException - 무효인 열쇠의 경우
NoSuchProviderException - 무효인 프로바이더의 경우
SignatureException - 서명 에러의 경우
CRLException - encode 에러의 경우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 로서 돌려줍니다. 서브 클래스에서 이 메소드를 오버라이드(override) 하는 것을 추천합니다.
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 입력이 참조되는 증명서의 시리얼 번호
X509CRLEntry public X509CRLEntry getRevokedCertificate(X509Certificate certificate)
이 메소드를 사용하면(자), 간접 CRL (CRL 발행자 이외의 발행자에 의해 발행된 엔트리를 포함한 CRL) 내의 CRL 엔트리를 검색할 수 있습니다. 디폴트 구현은, CRL 발행자에 의해 발행된 증명서 엔트리만을 돌려줍니다. 간접 CRL 의 지원가 필요한 서브 클래스는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.
certificate - CRL 엔트리의 검색 대상이 되는 증명서
NullPointerException - 증명서가 null 의 경우public abstract Set <? extends X509CRLEntry > getRevokedCertificates()
X509CRLEntry
public abstract byte[] getTBSCertList()
throws CRLException
tbsCertList 를 CRL 로부터 가져옵니다. 이 정보는 서명을 개별적으로 검증하기 위해서 사용됩니다.
CRLException - encode 에러가 발생했을 경우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 Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.