|
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 v2Version ::= 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) 하는 것을 추천합니다.
X500Principal
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 입력이 참조되는 증명서의 시리얼 번호
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 도 참조해 주세요.