JavaTM Platform
Standard Ed. 6

java.security.cert
클래스 X509Certificate

java.lang.Object 
  상위를 확장 java.security.cert.Certificate 
      상위를 확장 java.security.cert.X509Certificate
모든 구현된 인터페이스:
Serializable , X509Extension


public abstract class X509Certificate
extends Certificate
implements X509Extension

X. 509 증명서의 abstract 클래스입니다. 이 클래스는, X. 509 증명서의 모든 속성에 액세스하기 위한 표준적인 방법을 제공합니다.  

기본적인 X. 509 v3 형식은, 1996 년 6 월에 ISO/IEC 및 ANSI X9 에 의해 책정되어 이하와 같이 ASN. 1 으로 기술됩니다.

 Certificate  ::=  SEQUENCE  {
     tbsCertificate       TBSCertificate,
     signatureAlgorithm   AlgorithmIdentifier,
     signature            BIT STRING  }
 

이러한 증명서는, 인터넷의 시큐리티 시스템으로 인증등의 기능을 지원하기 위해서 넓게 사용되고 있습니다. 대표적인 어플리케이션에는, Privacy Enhanced Mail (PEM), Transport Layer Security (SSL), 신뢰할 수 있는 소프트웨어 배포를 위한 코드 서명, 및 Secure Electronic Transactions (SET)등이 있습니다.  

이러한 증명서는, 「증명서 발행국 (CA)」에 의해 관리 및 보증되고 있습니다. CA 는, 데이터를 X. 509 표준 형식으로 하고 나서, 그 데이터에 디지털 서명 하는 것으로써 증명서를 작성하는 서비스입니다. CA 는 신뢰할 수 있는 제삼자로서 기능해, 직접은 안면이 없는 주체끼리를 소개합니다. CA 증명서는, 그 CA 자신으로, 또는 「루트」CA 등의 다른 CA 에 의해 서명되고 있습니다.  

자세한 것은,http://www.ietf.org/rfc/rfc2459.txt 에 있는 RFC 2459 의 「Internet X. 509 Public Key Infrastructure Certificate and CRL Profile」를 참조해 주세요.  

tbsCertificate 의 ASN. 1 정의는 다음과 같습니다.

 TBSCertificate  ::=  SEQUENCE  {
     version         [0]  EXPLICIT Version DEFAULT v1,
     serialNumber         CertificateSerialNumber,
     signature            AlgorithmIdentifier,
     issuer               Name,
     validity             Validity,
     subject              Name,
     subjectPublicKeyInfo SubjectPublicKeyInfo,
     issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
                          -- If present, version must be v2 or v3
     subjectUniqueID [2]  IMPLICIT UniqueIdentifier OPTIONAL,
                          -- If present, version must be v2 or v3
     extensions      [3]  EXPLICIT Extensions OPTIONAL
                          -- If present, version must be v3
     }
 

증명서의 인스턴스는, 증명서 팩토리를 사용해 생성됩니다. 이하의 예는 X. 509 증명서의 인스턴스를 생성하는 방법을 나타내고 있습니다.

 
 InputStream inStream = new FileInputStream("fileName-of-cert");
 CertificateFactory cf = CertificateFactory.getInstance("X. 509");
 X509Certificate cert = (X509Certificate) cf.generateCertificate(inStream);
 inStream.close();
 

관련 항목:
Certificate , CertificateFactory , X509Extension , 직렬화 된 형식

상자의 클래스의 개요
 
클래스 java.security.cert. Certificate 로부터 상속된 상자의 클래스/인터페이스
Certificate.CertificateRep
 
생성자 의 개요
protected X509Certificate ()
          X. 509 증명서의 생성자 입니다.
 
메소드의 개요
abstract  void checkValidity ()
          증명서가 현재 유효한지 어떤지를 판정합니다.
abstract  void checkValidity (Date  date)
          지정된 일자가, 증명서의 유효기간내일지 어떨지를 판정합니다.
abstract  int getBasicConstraints ()
          위기인 BasicConstraints 확장 기능 (OID = 2.5. 29.19)로부터 증명서의 제약의 패스의 길이를 가져옵니다.
 List <String > getExtendedKeyUsage ()
          확장열쇠 사용법의 확장 기능 (OID = 2.5. 29.37)에 있는 ExtKeyUsageSyntax 필드의 객체 식별자를 나타내는 변경 불가능한 String 의 리스트를 가져옵니다.
 Collection <List <? >> getIssuerAlternativeNames ()
          IssuerAltName 확장 기능 (OID = 2.5. 29.18)으로부터, 발행자의 대체명의 불변인 컬렉션을 가져옵니다.
abstract  Principal getIssuerDN ()
          비추천 getIssuerX500Principal() 로 옮겨놓을 수 있었습니다.
abstract  boolean[] getIssuerUniqueID ()
          증명서로부터 issuerUniqueID 치를 가져옵니다.
 X500Principal getIssuerX500Principal ()
          증명서로부터 발행자 (발행자의 식별명)의 값을 X500Principal 로서 돌려줍니다.
abstract  boolean[] getKeyUsage ()
          KeyUsage 확장 기능 (OID = 2.5. 29.15)의 비트를 나타내는 boolean 배열을 가져옵니다.
abstract  Date getNotAfter ()
          증명서의 유효기간으로부터 notAfter 의 일자를 가져옵니다.
abstract  Date getNotBefore ()
          증명서의 유효기간으로부터 notBefore 의 일자를 가져옵니다.
abstract  BigInteger getSerialNumber ()
          증명서로부터 serialNumber 치를 가져옵니다.
abstract  String getSigAlgName ()
          증명서의 서명 알고리즘명을 가져옵니다.
abstract  String getSigAlgOID ()
          증명서로부터 서명 알고리즘의 OID 캐릭터 라인을 가져옵니다.
abstract  byte[] getSigAlgParams ()
          이 증명서의 서명 알고리즘으로부터, DER 로 encode 된 서명 알고리즘 파라미터를 가져옵니다.
abstract  byte[] getSignature ()
          증명서로부터 signature 치 (생의 시그니챠빗트)를 가져옵니다.
 Collection <List <? >> getSubjectAlternativeNames ()
          SubjectAltName 확장 기능 (OID = 2.5. 29.17)으로부터, 피인증자의 대체명의 불변인 컬렉션을 가져옵니다.
abstract  Principal getSubjectDN ()
          비추천 getSubjectX500Principal() 로 옮겨놓을 수 있었습니다.
abstract  boolean[] getSubjectUniqueID ()
          증명서로부터 subjectUniqueID 치를 가져옵니다.
 X500Principal getSubjectX500Principal ()
          증명서로부터 피인증자 (피인증자의 식별명)의 값을 X500Principal 로서 돌려줍니다.
abstract  byte[] getTBSCertificate ()
          유효기간의 종료일 이 증명서로부터 DER 로 encode 된 인증 정보 tbsCertificate 를 가져옵니다.
abstract  int getVersion ()
          증명서로부터 version (버젼 번호) 치를 가져옵니다.
 
클래스 java.security.cert. Certificate 로부터 상속된 메소드
equals , getEncoded , getPublicKey , getType , hashCode , toString , verify , verify , writeReplace
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 
인터페이스 java.security.cert. X509Extension 로부터 상속된 메소드
getCriticalExtensionOIDs , getExtensionValue , getNonCriticalExtensionOIDs , hasUnsupportedCriticalExtension
 

생성자 의 상세

X509Certificate

protected X509Certificate()
X. 509 증명서의 생성자 입니다.

메소드의 상세

checkValidity

public abstract void checkValidity()
                            throws CertificateExpiredException ,
                                   CertificateNotYetValidException 
증명서가 현재 유효한지 어떤지를 판정합니다. 현재의 일시가, 증명서로 지정된 유효기간내일지 어떨지를 조사합니다.  

유효기간은, 증명서가 유효한 최초의 일시와 마지막 일시의 2 개의 일시치로부터 완성됩니다. 이것은 ASN. 1 으로 다음과 같이 정의됩니다.

 validity             Validity

Validity ::= SEQUENCE { notBefore CertificateValidityDate, notAfter CertificateValidityDate }

CertificateValidityDate ::= CHOICE { utcTime UTCTime, generalTime GeneralizedTime }

예외:
CertificateExpiredException - 증명서의 유효기간이 끊어져 있는 경우
CertificateNotYetValidException - 증명서가 아직 유효하게 되지 않은 경우

checkValidity

public abstract void checkValidity(Date  date)
                            throws CertificateExpiredException ,
                                   CertificateNotYetValidException 
지정된 일자가, 증명서의 유효기간내일지 어떨지를 판정합니다. 즉, 지정된 일시에 증명서가 유효한지 어떤지를 조사합니다.

파라미터:
date - 지정된 일시에 이 증명서가 유효한지 어떤지를 조사하는 Date
예외:
CertificateExpiredException - 지정된 date 에 증명서가 기한 마감이 되어 있는 경우
CertificateNotYetValidException - 지정된 date 에 증명서가 아직 유효하게 되지 않은 경우
관련 항목:
checkValidity()

getVersion

public abstract int getVersion()
증명서로부터 version (버젼 번호) 치를 가져옵니다. ASN. 1 정의는 다음과 같습니다.
 version         [0]  EXPLICIT Version DEFAULT v1

Version ::= INTEGER { v1(0), v2(1), v3(2) }

반환값:
버젼 번호 (1, 2, 또는 3)

getSerialNumber

public abstract BigInteger  getSerialNumber()
증명서로부터 serialNumber 치를 가져옵니다. 시리얼 번호는, 증명서 발행국에 의해 각 증명서에 할당할 수 있는 정수치입니다. 시리얼 번호는, 지정된 CA 에 의해 발행된 각 증명서에 대해서 일의가 아니면 안됩니다. 즉, 발행자명과 시리얼 번호에 의해 일의의 증명서가 식별됩니다. ASN. 1 정의는 다음과 같습니다.
 serialNumber     CertificateSerialNumber

CertificateSerialNumber ::= INTEGER

반환값:
시리얼 번호

getIssuerDN

public abstract Principal  getIssuerDN()
비추천 getIssuerX500Principal() 로 옮겨놓을 수 있었습니다. 이 메소드는,issuer 를 구현 고유의 Principal 객체로서 돌려줍니다. 이식성이 있는 코드가 이러한 객체에 의존해야 하지는 않습니다.

증명서로부터 issuer (발행자 식별명) 치를 가져옵니다. 발행자명은 증명서의 서명과 발행을 행한 엔티티를 식별합니다.

발행자명 필드에는, 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 의 어떤 것인가입니다.

반환값:
이름이 발행자 식별명인 Principal

getIssuerX500Principal

public X500Principal  getIssuerX500Principal()
증명서로부터 발행자 (발행자의 식별명)의 값을 X500Principal 로서 돌려줍니다.  

서브 클래스에서 이 메소드를 오버라이드(override) 하는 것을 추천합니다.

반환값:
발행자의 식별명을 나타내는 X500Principal
도입된 버젼:
1.4

getSubjectDN

public abstract Principal  getSubjectDN()
비추천 getSubjectX500Principal() 로 옮겨놓을 수 있었습니다. 이 메소드는,subject 를 구현 고유의 Principal 객체로서 돌려줍니다. 이식성이 있는 코드가 이러한 객체에 의존해야 하지는 않습니다.

증명서로부터 subject (피인증자 식별명) 치를 가져옵니다. subject 의 값이 빈 상태(empty)의 경우, 반환되는 Principal 객체의 getName() 메소드는 빈 상태(empty)의 캐릭터 라인 ("")을 돌려줍니다.

ASN. 1 정의는 다음과 같습니다.

 subject    Name
 

Name 및 그 외의 관련하는 정의에 대해서는 getIssuerDN 를 참조해 주세요.

반환값:
이름이 피인증자 식별명인 Principal

getSubjectX500Principal

public X500Principal  getSubjectX500Principal()
증명서로부터 피인증자 (피인증자의 식별명)의 값을 X500Principal 로서 돌려줍니다. 피인증자의 값이 빈 상태(empty)의 경우, 반환되는 X500Principal 객체의 getName() 메소드는 빈 상태(empty)의 캐릭터 라인 ("")을 돌려줍니다.  

서브 클래스에서 이 메소드를 오버라이드(override) 하는 것을 추천합니다.

반환값:
피인증자의 식별명을 나타내는 X500Principal
도입된 버젼:
1.4

getNotBefore

public abstract Date  getNotBefore()
증명서의 유효기간으로부터 notBefore 의 일자를 가져옵니다. 해당하는 ASN. 1 정의는 다음과 같습니다.
 validity             Validity

Validity ::= SEQUENCE { notBefore CertificateValidityDate, notAfter CertificateValidityDate }

CertificateValidityDate ::= CHOICE { utcTime UTCTime, generalTime GeneralizedTime }

반환값:
유효기간의 개시일
관련 항목:
checkValidity()

getNotAfter

public abstract Date  getNotAfter()
증명서의 유효기간으로부터 notAfter 의 일자를 가져옵니다. 관련하는 ASN. 1 정의에 대해서는,getNotBefore 를 참조해 주세요.

반환값:
유효기간의 종료일
관련 항목:
checkValidity()

getTBSCertificate

public abstract byte[] getTBSCertificate()
                                  throws CertificateEncodingException 
유효기간의 종료일 이 증명서로부터 DER 로 encode 된 인증 정보 tbsCertificate 를 가져옵니다. 이 정보는 서명을 개별적으로 검증하기 위해서 사용됩니다.

반환값:
DER 로 encode 된 인증 정보
예외:
CertificateEncodingException - encode 에러가 발생했을 경우

getSignature

public abstract byte[] getSignature()
증명서로부터 signature 치 (생의 시그니챠빗트)를 가져옵니다. ASN. 1 정의는 다음과 같습니다.
 signature     BIT STRING  
 

반환값:
시그니챠

getSigAlgName

public abstract String  getSigAlgName()
증명서의 서명 알고리즘명을 가져옵니다. 예를 들어, 캐릭터 라인 「SHA-1/DSA」 등입니다. ASN. 1 정의는 다음과 같습니다.
 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 캐릭터 라인으로부터 판정됩니다.

반환값:
서명 알고리즘명

getSigAlgOID

public abstract String  getSigAlgOID()
증명서로부터 서명 알고리즘의 OID 캐릭터 라인을 가져옵니다. OID 는 피리어드로 단락지어진 부가 되지 않는 정수세트로 나타내집니다. 예를 들어, 캐릭터 라인 「1.2. 840.10040. 4.3」에서는, DSA 서명 알고리즘을 가지는 SHA-1 가 식별됩니다 (RFC 2459 를 참조).

관련하는 ASN. 1 정의에 대해서는,getSigAlgName 를 참조해 주세요.

반환값:
서명 알고리즘의 OID 캐릭터 라인

getSigAlgParams

public abstract byte[] getSigAlgParams()
이 증명서의 서명 알고리즘으로부터, DER 로 encode 된 서명 알고리즘 파라미터를 가져옵니다. 대부분의 경우, 서명 알고리즘 파라미터는 null 로, 일반적으로은 증명서의 공개키와 함께 제공됩니다. 개개의 파라미터치에의 액세스가 필요한 경우는,AlgorithmParameters 를 사용해,getSigAlgName 에 의해 반환되는 이름을 사용해 인스턴스를 생성합니다.

관련하는 ASN. 1 정의에 대해서는,getSigAlgName 를 참조해 주세요.

반환값:
DER 로 encode 된 서명 알고리즘 파라미터. 파라미터가 존재하지 않는 경우는 null

getIssuerUniqueID

public abstract boolean[] getIssuerUniqueID()
증명서로부터 issuerUniqueID 치를 가져옵니다. 발행자 고유의 식별자는, 발행자명이 반복해 재사용될 가능성에 대처하기 위해서, 증명서에 정의되고 있습니다. RFC 2459 에서는, 이름을 재사용하지 않는 것, 및 준거하는 증명서가 일의의 식별자를 사용하지 않는 것을 추천 하고 있습니다. 그 프로파일에 준거하는 어플리케이션은, 일의의 식별자를 해석 및 비교할 수 있는 것이 필요합니다.

ASN. 1 정의는 다음과 같습니다.

 issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL

UniqueIdentifier ::= BIT STRING

반환값:
발행자의 일의의 식별자. 증명서에 정의되어 있지 않은 경우는 null

getSubjectUniqueID

public abstract boolean[] getSubjectUniqueID()
증명서로부터 subjectUniqueID 치를 가져옵니다.

ASN. 1 정의는 다음과 같습니다.

 subjectUniqueID  [2]  IMPLICIT UniqueIdentifier OPTIONAL

UniqueIdentifier ::= BIT STRING

반환값:
피인증자의 일의의 식별자. 증명서에 정의되어 있지 않은 경우는 null

getKeyUsage

public abstract boolean[] getKeyUsage()
KeyUsage 확장 기능 (OID = 2.5. 29.15)의 비트를 나타내는 boolean 배열을 가져옵니다. 열쇠 사용 목적의 확장 기능은, 증명서로 설정되어 있는 열쇠의 사용 목적 (암호용, 서명용, 증명서 서명용등)을 정의합니다. ASN. 1 정의는 다음과 같습니다.
 KeyUsage ::= BIT STRING {
     digitalSignature        (0),
     nonRepudiation          (1),
     keyEncipherment         (2),
     dataEncipherment        (3),
     keyAgreement            (4),
     keyCertSign             (5),
     cRLSign                 (6),
     encipherOnly            (7),
     decipherOnly            (8) }
 
RFC 2459 에서는, 이것을 사용하는 경우는 위기인 확장으로서 마킹 하는 것을 추천 하고 있습니다.

반환값:
불리언 값 배열로서 나타내진 이 증명서의 KeyUsage 확장 기능. 이 배열에서의 KeyUsage 치의 순서는 상기의 ASN. 1 정의와 같다. 배열에는 위에서 정의한 각 KeyUsage 의 값이 포함된다. 증명서안에 encode 된 KeyUsage 리스트가 상기의 리스트보다 긴 경우에서도 절약할 수 있을 것은 없다. 이 증명서에 KeyUsage 확장 기능이 없는 경우는 null 를 돌려준다

getExtendedKeyUsage

public List <String > getExtendedKeyUsage()
                                 throws CertificateParsingException 
확장열쇠 사용법의 확장 기능 (OID = 2.5. 29.37)에 있는 ExtKeyUsageSyntax 필드의 객체 식별자를 나타내는 변경 불가능한 String 의 리스트를 가져옵니다. 이것은, 열쇠 사용법의 확장 기능 필드에 나타나고 있는 기본적인 목적에 가세해, 혹은 그 기본적인 목적 대신에, 공개키가 사용되는 목적 (복수가능)을 나타냅니다. ASN. 1 정의는 다음과 같습니다.
 ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId

KeyPurposeId ::= OBJECT IDENTIFIER

열쇠의 목적은, 요구에 맞추어 조직으로 정의합니다. 열쇠의 목적을 특정하는 객체 식별자는, IANA 또는 ITU-T 의 Rec. X. 660, 혹은 ISO/IEC/ITU 9834-1 에 따라 할당할 수 없으면 안됩니다.  

이 메소드는, Java 2 Platform Standard Edition 의 버젼 1.4 로 추가되었습니다. 기존의 서비스 프로바이더와의 하위 호환성을 유지하기 위해서,abstract 에는 하지 못하고, 디폴트의 구현을 제공합니다. 서브 클래스는 올바른 구현으로 이 메소드를 오버라이드(override) 하지 않으면 안됩니다.

반환값:
String 로 나타내지는 객체 식별자의 변경 불가능한 리스트로서의, 이 증명서의 ExtendedKeyUsage 확장 기능. 이 증명서에 ExtendedKeyUsage 확장 기능이 포함되지 않는 경우는 null 를 돌려준다
예외:
CertificateParsingException - 확장 기능이 복호화 할 수 없었던 경우
도입된 버젼:
1.4

getBasicConstraints

public abstract int getBasicConstraints()
위기인 BasicConstraints 확장 기능 (OID = 2.5. 29.19)로부터 증명서의 제약의 패스의 길이를 가져옵니다.  

기본 제약 확장 기능은, 증명서의 피인증자가 증명서 발행국 (CA)일지 어떨지, 및 그 CA 의 증명서 패스의 깊이를 식별합니다. pathLenConstraint 필드 (아래와 같이를 참조)는,cA 가 TRUE 로 설정되어 있는 경우에만 유효합니다. 이 경우, 증명서 패스로 이 증명서의 후에 계속되는 CA 증명서의 최대수를 나타냅니다. 값 0 은, 엔드엔티티의 증명서 뿐인 것을 나타냅니다.  

RFC 2459 에서는,cA 가 TRUE (이 증명서는 증명서 발행국의 것이다)의 경우는, 이 확장 기능은 항상 위기로서 마킹 됩니다.  

ASN. 1 정의는 다음과 같습니다.

 BasicConstraints ::= SEQUENCE {
     cA                  BOOLEAN DEFAULT FALSE,
     pathLenConstraint   INTEGER (0..MAX) OPTIONAL }
 

반환값:
증명서에 BasicConstraints 확장 기능이 있어 피인증자가 CA 의 경우는 pathLenConstraint 의 값, 피인증자가 CA 로 pathLenConstraint 가 표시되지 않는 경우는, 증명서 패스의 길이에 제한이 없는 것이 가리키기 (위해)때문에 Integer.MAX_VALUE 가 반환된다

getSubjectAlternativeNames

public Collection <List <? >> getSubjectAlternativeNames()
                                               throws CertificateParsingException 
SubjectAltName 확장 기능 (OID = 2.5. 29.17)으로부터, 피인증자의 대체명의 불변인 컬렉션을 가져옵니다.  

SubjectAltName 확장 기능의 ASN. 1 정의는 다음과 같습니다.

 SubjectAltName ::= GeneralNames

 GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName

 GeneralName ::= CHOICE {
      otherName                       [0]     OtherName,
      rfc822Name                      [1]     IA5String,
      dNSName                         [2]     IA5String,
      x400Address                     [3]     ORAddress,
      directoryName                   [4]     Name,
      ediPartyName                    [5]     EDIPartyName,
      uniformResourceIdentifier       [6]     IA5String,
      iPAddress                       [7]     OCTET STRING,
      registeredID                    [8]     OBJECT IDENTIFIER}
 

이 증명서에 SubjectAltName 확장 기능이 포함되지 않는 경우는,null 가 돌려주어집니다. 그렇지 않은 경우는, 확장 기능에 포함되는 각 GeneralName 를 나타내는 엔트리를 포함한 Collection 가 돌려주어집니다. 각 엔트리는 List 로, 이 List 의 최초의 엔트리는 Integer (이름 타입, 0 ~ 8), 2 번째의 엔트리는 String 나 바이트 배열 (각각이 캐릭터 라인 형식 또는 ASN. 1 DER encode 형식의 이름)이 됩니다.  

RFC 822, DNS, URI 의 각 이름은 String 로서 돌려주어집니다. 이 때, RFC 2459 에 포함되는 제한에 따라, 각각의 타입으로 명확하게 정의된 캐릭터 라인 형식이 이용됩니다. IPv4 주소명은 닷으로 4 개에 단락지어진 표기법으로 돌려주어집니다. IPv6 주소명은, 「a1:a2:...:a8」라고 하는 형식에서 돌려주어집니다. a1 ~ a8 는, 16 진수 표기로, 주소를 16 비트씩으로 8 개(살)로 분할하고 있습니다. OID명은, 피리어드로 단락지어진 부가 되지 않는 일련의 정수로 나타내지는 String 로서 돌려주어집니다. 디렉토리명 (식별명)은 RFC 2253 캐릭터 라인 형식으로서 돌려주어집니다. otherName, X. 400 명, EDI 상대명, 그 다른 타입의 이름에는, 표준의 캐릭터 라인 형식은 없습니다. 이름의 ASN. 1 DER encode 형식을 포함한 바이트 배열로서 돌려주어집니다.  

반환되는 Collection 에는, 같은 타입으로 1 개 이상의 이름이 포함되어 있는 일이 있습니다. 또, 반환되는 Collection 는 불변이며, 바이트 배열을 포함한 엔트리는 모두 이후의 변경으로부터 보호하기 위해서 복제되고 있습니다.  

이 메소드는, Java 2 Platform Standard Edition 의 버젼 1.4 로 추가되었습니다. 기존의 서비스 프로바이더와의 하위 호환성을 유지하기 위해서,abstract 에는 하지 못하고, 디폴트의 구현을 제공합니다. 서브 클래스는 올바른 구현으로 이 메소드를 오버라이드(override) 하지 않으면 안됩니다.

반환값:
피인증자의 대체명으로부터 완성되는 불변의 Collection. 또는 null
예외:
CertificateParsingException - 확장 기능이 복호화 할 수 없었던 경우
도입된 버젼:
1.4

getIssuerAlternativeNames

public Collection <List <? >> getIssuerAlternativeNames()
                                              throws CertificateParsingException 
IssuerAltName 확장 기능 (OID = 2.5. 29.18)으로부터, 발행자의 대체명의 불변인 컬렉션을 가져옵니다.  

IssuerAltName 확장 기능의 ASN. 1 정의는 다음과 같습니다.

 IssuerAltName ::= GeneralNames
 
GeneralNames 의 ASN. 1 정의는,getSubjectAlternativeNames 에 있습니다.  

이 증명서에 IssuerAltName 확장 기능이 포함되지 않는 경우는,null 가 돌려주어집니다. 그렇지 않은 경우는, 확장 기능에 포함되는 각 GeneralName 를 나타내는 엔트리를 포함한 Collection 가 돌려주어집니다. 각 엔트리는 List 로, 이 List 의 최초의 엔트리는 Integer (이름 타입, 0 ~ 8), 2 번째의 엔트리는 String 나 바이트 배열 (각각이 캐릭터 라인 형식 또는 ASN. 1 DER encode 형식의 이름)이 됩니다. 각각의 이름형으로 사용되는 형식의 상세한 것에 대하여는,getSubjectAlternativeNames 메소드를 참조해 주세요.  

반환되는 Collection 에는, 같은 타입으로 1 개 이상의 이름이 포함되어 있는 일이 있습니다. 또, 반환되는 Collection 는 불변이며, 바이트 배열을 포함한 엔트리는 모두 이후의 변경으로부터 보호하기 위해서 복제되고 있습니다.  

이 메소드는, Java 2 Platform Standard Edition 의 버젼 1.4 로 추가되었습니다. 기존의 서비스 프로바이더와의 하위 호환성을 유지하기 위해서,abstract 에는 하지 못하고, 디폴트의 구현을 제공합니다. 서브 클래스는 올바른 구현으로 이 메소드를 오버라이드(override) 하지 않으면 안됩니다.

반환값:
발행자의 대체명으로부터 완성되는 불변의 Collection. 또는 null
예외:
CertificateParsingException - 확장 기능이 복호화 할 수 없었던 경우
도입된 버젼:
1.4

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.