JavaTM Platform
Standard Ed. 6

java.security.cert
클래스 X509CertSelector

java.lang.Object 
  상위를 확장 java.security.cert.X509CertSelector
모든 구현된 인터페이스:
Cloneable , CertSelector


public class X509CertSelector
extends Object
implements CertSelector

지정한 기준 모두에게 일치하는 X509Certificates 를 선택하는 CertSelector 입니다. PKIX 준거의 증명서 패스를 구축하기 위해서 CertStore 로부터 증명서를 선택할 경우에, 특별히 도움이 됩니다.  

최초로 구축된 X509CertSelector 에는 유효한 기준이 포함되지 않기 때문에, 각 get 메소드는 디폴트 값 null 를 돌려줍니다 (getBasicConstraints 메소드의 경우는 -1). 따라서,match 메소드는, X509Certificate 에 대해서 true 를 돌려줍니다. 일반적으로,X509CertSelectorsetIssuersetKeyUsage 를 호출하는 것으로 몇개의 기준을 유효하게 한 뒤, CertStore.getCertificates 나 유사한 메소드에게 건네집니다.  

match 메소드가 일반적으로적으로 단일의 X509Certificate 와 일의에 일치하도록(듯이), 몇개의 기준을 (예를 들어 setIssuersetSerialNumber 를 호출하는 것으로) 유효하게 할 수 있습니다. 일반적으로, 2 개의 발행 CA 로 같은 식별명을 가질 수가 있기 (위해)때문에, 각각은 같은 시리얼 번호로 증명서를 발행합니다. 다른 일의의 편성에는, 발행자, 피인증자, subjectKeyIdentifier 그리고 subjectPublicKey 기준이 포함됩니다.  

지금부터 설명하는 X. 509 증명서 기능확장의 정의에 대해서는, RFC 2459 를 참조해 주세요.  

병행 액세스  

특별히 거절하지 않는 한, 이 클래스에서 정의되고 있는 메소드는 thread 세이프가 아닙니다. 단일의 객체에 병행 액세스 할 필요가 있는 복수 thread는, thread간에 동기를 잡아, 필요에 따라서 잠글 필요가 있습니다. 복수의 thread가 각각 개별의 객체를 처리하는 경우, 그러한 thread는 동기 할 필요는 없습니다.

도입된 버젼:
1.4
관련 항목:
CertSelector , X509Certificate

생성자 의 개요
X509CertSelector ()
          X509CertSelector 를 작성합니다.
 
메소드의 개요
 void addPathToName (int type, byte[] name)
          pathToNames 기준치에 이름을 추가합니다.
 void addPathToName (int type, String  name)
          pathToNames 기준치에 이름을 추가합니다.
 void addSubjectAlternativeName (int type, byte[] name)
          subjectAlternativeNames 기준치에 이름을 추가합니다.
 void addSubjectAlternativeName (int type, String  name)
          subjectAlternativeNames 기준치에 이름을 추가합니다.
 Object clone ()
          이 객체의 복제를 돌려줍니다.
 byte[] getAuthorityKeyIdentifier ()
          authorityKeyIdentifier 기준치를 돌려줍니다.
 int getBasicConstraints ()
          기본 제약에 대한 제약을 돌려줍니다.
 X509Certificate getCertificate ()
          certificateEquals 기준치를 돌려줍니다.
 Date getCertificateValid ()
          certificateValid 기준치를 돌려줍니다.
 Set <String > getExtendedKeyUsage ()
          extendedKeyUsage 기준치를 돌려줍니다.
 X500Principal getIssuer ()
          발행자의 기준치를 X500Principal 로서 돌려줍니다.
 byte[] getIssuerAsBytes ()
          발행자의 기준치를 바이트 배열로서 돌려줍니다.
 String getIssuerAsString ()
          버그: 대신에 getIssuer() 또는 getIssuerAsBytes() 를 사용해 주세요.
 boolean[] getKeyUsage ()
          keyUsage 기준치를 돌려줍니다.
 boolean getMatchAllSubjectAltNames ()
          setSubjectAlternativeNames 메소드나 addSubjectAlternativeName 메소드로 지정된 subjectAlternativeNames 가 모두, 또는 적어도 1 개(살),X509Certificate 에 포함되지 않으면 안 되는지 어떤지를 나타냅니다.
 byte[] getNameConstraints ()
          이름 제약의 기준치를 돌려줍니다.
 Collection <List <? >> getPathToNames ()
          pathToNames 기준치의 복제를 돌려줍니다.
 Set <String > getPolicy ()
          정책 기준치를 돌려줍니다.
 Date getPrivateKeyValid ()
          privateKeyValid 기준치를 돌려줍니다.
 BigInteger getSerialNumber ()
          serialNumber 기준치를 돌려줍니다.
 X500Principal getSubject ()
          피인증자의 기준치를 X500Principal 로서 돌려줍니다.
 Collection <List <? >> getSubjectAlternativeNames ()
          subjectAlternativeNames 기준치의 카피를 돌려줍니다.
 byte[] getSubjectAsBytes ()
          피인증자의 기준치를 바이트 배열로서 돌려줍니다.
 String getSubjectAsString ()
          버그: 대신에 getSubject() 또는 getSubjectAsBytes() 를 사용해 주세요.
 byte[] getSubjectKeyIdentifier ()
          subjectKeyIdentifier 기준치를 돌려줍니다.
 PublicKey getSubjectPublicKey ()
          subjectPublicKey 기준치를 돌려줍니다.
 String getSubjectPublicKeyAlgID ()
          subjectPublicKeyAlgID 기준치를 돌려줍니다.
 boolean match (Certificate  cert)
          Certificate 가 선택될지 어떨지를 판단합니다.
 void setAuthorityKeyIdentifier (byte[] authorityKeyID)
          authorityKeyIdentifier 기준치를 설정합니다.
 void setBasicConstraints (int minMaxPathLen)
          기본 제약에 대한 제약을 설정합니다.
 void setCertificate (X509Certificate  cert)
          certificateEquals 기준치를 설정합니다.
 void setCertificateValid (Date  certValid)
          certificateValid 기준치를 설정합니다.
 void setExtendedKeyUsage (Set <String > keyPurposeSet)
          extendedKeyUsage 기준치를 설정합니다.
 void setIssuer (byte[] issuerDN)
          발행자의 기준치를 설정합니다.
 void setIssuer (String  issuerDN)
          버그 대신에 setIssuer(X500Principal) 또는 setIssuer(byte[]) 를 사용해 주세요.
 void setIssuer (X500Principal  issuer)
          발행자의 기준치를 설정합니다.
 void setKeyUsage (boolean[] keyUsage)
          keyUsage 기준치를 설정합니다.
 void setMatchAllSubjectAltNames (boolean matchAllNames)
          setSubjectAlternativeNames 메소드나 addSubjectAlternativeName 메소드로 지정된 모든 subjectAlternativeNames 의 조합을 사용 가능 또는 사용 불가로 합니다.
 void setNameConstraints (byte[] bytes)
          이름 제약의 기준치를 설정합니다.
 void setPathToNames (Collection <List <? >> names)
          pathToNames 기준치를 설정합니다.
 void setPolicy (Set <String > certPolicySet)
          정책 제약을 설정합니다.
 void setPrivateKeyValid (Date  privateKeyValid)
          privateKeyValid 기준치를 설정합니다.
 void setSerialNumber (BigInteger  serial)
          serialNumber 기준치를 설정합니다.
 void setSubject (byte[] subjectDN)
          피인증자의 기준치를 설정합니다.
 void setSubject (String  subjectDN)
          버그: 대신에 setSubject(X500Principal) 또는 setSubject(byte[]) 를 사용해 주세요.
 void setSubject (X500Principal  subject)
          피인증자의 기준치를 설정합니다.
 void setSubjectAlternativeNames (Collection <List <? >> names)
          subjectAlternativeNames 기준치를 설정합니다.
 void setSubjectKeyIdentifier (byte[] subjectKeyID)
          subjectKeyIdentifier 기준치를 설정합니다.
 void setSubjectPublicKey (byte[] key)
          subjectPublicKey 기준치를 설정합니다.
 void setSubjectPublicKey (PublicKey  key)
          subjectPublicKey 기준치를 설정합니다.
 void setSubjectPublicKeyAlgID (String  oid)
          subjectPublicKeyAlgID 기준치를 설정합니다.
 String toString ()
          CertSelector 의 프린트 가능 표현을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

X509CertSelector

public X509CertSelector()
X509CertSelector 를 작성합니다. 처음은 조건이 설정되어 있지 않기 때문에, 어느 X509Certificate 에서도 일치합니다.

메소드의 상세

setCertificate

public void setCertificate(X509Certificate  cert)
certificateEquals 기준치를 설정합니다. 지정한 X509Certificate 은,match 메소드에게 건네진 X509Certificate 와 같지 않으면 안됩니다. null 의 경우, 이 체크는 행해지지 않습니다.

이 메소드는, 단일의 증명서와 일치시킬 필요가 있을 때 특별히 도움이 됩니다. 이 certificateEquals 기준에 가세해 다른 기준을 지정하는 일도 가능합니다만, 일반적으로의 경우 그렇게 하는 것은 필요없는지, 또는 실용적이지는 않습니다.

파라미터:
cert - 일치시키는 X509Certificate. 또는 null
관련 항목:
getCertificate()

setSerialNumber

public void setSerialNumber(BigInteger  serial)
serialNumber 기준치를 설정합니다. 지정한 시리얼 번호는,X509Certificate 의 증명서 시리얼 번호와 일치할 필요가 있습니다. null 의 경우, 임의의 증명서 시리얼 번호와 일치합니다.

파라미터:
serial - 일치시키는 증명서 시리얼 번호. 또는 null
관련 항목:
getSerialNumber()

setIssuer

public void setIssuer(X500Principal  issuer)
발행자의 기준치를 설정합니다. 지정한 식별명은,X509Certificate 의 발행자 식별명으로 일치할 필요가 있습니다. null 의 경우는, 임의의 발행자 식별명이 일치하게 됩니다.

파라미터:
issuer - X500Principal 로서의 식별명 또는 null
도입된 버젼:
1.5

setIssuer

public void setIssuer(String  issuerDN)
               throws IOException 
버그 대신에 setIssuer(X500Principal) 또는 setIssuer(byte[]) 를 사용해 주세요. 이 메소드의 실행 결과를 신용하지 말아 주세요. RFC 2253 캐릭터 라인 형식에서 기술된 일부의 식별명에서는, encode 정보의 손실에 의해, 증명서의 일치 처리에 실패할 가능성이 있기 (위해)때문에입니다.  

발행자의 기준치를 설정합니다. 지정한 식별명은,X509Certificate 의 발행자 식별명으로 일치할 필요가 있습니다. null 의 경우는, 임의의 발행자 식별명으로 일치하면 좋게 됩니다.  

issuerDNnull 가 아닌 경우는, RFC 2253 형식에서 식별명이 포함되지 않으면 안됩니다.

파라미터:
issuerDN - RFC 2253 형식의 식별명. 또는 null
예외:
IOException - 구문 분석 에러가 발생했을 경우 (DN 의 부정한 형식)

setIssuer

public void setIssuer(byte[] issuerDN)
               throws IOException 
발행자의 기준치를 설정합니다. 지정한 식별명은,X509Certificate 의 발행자 식별명으로 일치할 필요가 있습니다. null 의 경우, 발행자의 기준치는 무효가 되어, 임의의 발행자 식별명으로 일치합니다.

issuerDNnull 가 아닌 경우, X. 501 으로 정의되고 있는 DER encode 된 단일 식별명이 포함될 필요가 있습니다. 이 구조체의 ASN. 1 표기는 다음과 같이 됩니다.


 Name ::= CHOICE {
   RDNSequence }

 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName

 RelativeDistinguishedName ::=
   SET SIZE (1 .. MAX) OF AttributeTypeAndValue

 AttributeTypeAndValue ::= SEQUENCE {
   type     AttributeType,
   value    AttributeValue }

 AttributeType ::= OBJECT IDENTIFIER

 AttributeValue ::= ANY DEFINED BY AttributeType
 ....
 DirectoryString ::= CHOICE {
       teletexString           TeletexString (SIZE (1..MAX)),
       printableString         PrintableString (SIZE (1..MAX)),
       universalString         UniversalString (SIZE (1..MAX)),
       utf8String              UTF8String (SIZE (1.. MAX)),
       bmpString               BMPString (SIZE (1..MAX)) }
 

이후의 변경으로부터 보호하기 위해서, 여기서 지정되는 바이트 배열은 복제되고 있습니다.

파라미터:
issuerDN - ASN. 1 DER encode 형식에 의한 식별명을 포함한 바이트 배열. 또는 null
예외:
IOException - encode 에러가 발생했을 경우 (DN 의 부정한 형식)

setSubject

public void setSubject(X500Principal  subject)
피인증자의 기준치를 설정합니다. 지정한 식별명은,X509Certificate 의 피인증자 식별명으로 일치할 필요가 있습니다. null 의 경우, 임의의 피인증자 식별명으로 일치합니다.

파라미터:
subject - X500Principal 로서의 식별명 또는 null
도입된 버젼:
1.5

setSubject

public void setSubject(String  subjectDN)
                throws IOException 
버그: 대신에 setSubject(X500Principal) 또는 setSubject(byte[]) 를 사용해 주세요. 이 메소드의 실행 결과를 신용하지 말아 주세요. RFC 2253 캐릭터 라인 형식에서 기술된 일부의 식별명에서는, encode 정보의 손실에 의해, 증명서의 일치 처리에 실패할 가능성이 있기 (위해)때문에입니다.  

피인증자의 기준치를 설정합니다. 지정한 식별명은,X509Certificate 의 피인증자 식별명으로 일치할 필요가 있습니다. null 의 경우, 임의의 피인증자 식별명으로 일치합니다.

subjectDNnull 가 아닌 경우는, RFC 2253 형식에서 식별명이 포함되지 않으면 안됩니다.

파라미터:
subjectDN - RFC 2253 형식의 식별명. 또는 null
예외:
IOException - 구문 분석 에러가 발생했을 경우 (DN 의 부정한 형식)

setSubject

public void setSubject(byte[] subjectDN)
                throws IOException 
피인증자의 기준치를 설정합니다. 지정한 식별명은,X509Certificate 의 피인증자 식별명으로 일치할 필요가 있습니다. null 의 경우, 임의의 피인증자 식별명으로 일치합니다.

subjectDNnull 가 아닌 경우, X. 501 으로 정의되고 있는 DER encode 된 단일 식별명이 포함될 필요가 있습니다. 이 구조체의 ASN. 1 표기에 대해서는,setIssuer(byte [] issuerDN) 를 참조해 주세요.

파라미터:
subjectDN - ASN. 1 DER 형식에 의한 식별명을 포함한 바이트 배열. 또는 null
예외:
IOException - encode 에러가 발생했을 경우 (DN 의 부정한 형식)

setSubjectKeyIdentifier

public void setSubjectKeyIdentifier(byte[] subjectKeyID)
subjectKeyIdentifier 기준치를 설정합니다. X509Certificate 에는, 그 내용이 지정한 기준치로 일치하는 것 같은 SubjectKeyIdentifier 기능확장이 포함되어 있을 필요가 있습니다. 기준치가 null 의 경우, subjectKeyIdentifier 체크는 행해지지 않습니다.  

subjectKeyIDnull 가 아닌 경우, SubjectKeyIdentifier 기능확장의 값 (객체 식별자, 위기의 정도의 설정, 캡슐화된 OCTET STRING 는 포함되지 않는다)의 내용에 대응하는 DER encode 된 값이 1 개 포함될 필요가 있습니다. 이 구조체의 ASN. 1 표기는 다음과 같습니다.  


 SubjectKeyIdentifier ::= KeyIdentifier

 KeyIdentifier ::= OCTET STRING
 

피인증자의 열쇠 식별자의 형식은 표준으로 정의되어 있지 않기 때문에, 피인증자의 열쇠 식별자는 X509CertSelector 로 구문 분석 되지 않습니다. 대신에, 바이트 마다 비교하는 것으로, 값이 비교됩니다.  

이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 바이트 배열은 복제되고 있습니다.

파라미터:
subjectKeyID - 피인증자의 열쇠 식별자. 또는 null
관련 항목:
getSubjectKeyIdentifier()

setAuthorityKeyIdentifier

public void setAuthorityKeyIdentifier(byte[] authorityKeyID)
authorityKeyIdentifier 기준치를 설정합니다. X509Certificate 에는, 그 내용이 지정한 기준치로 일치하는 것 같은 AuthorityKeyIdentifier 기능확장이 포함되어 있을 필요가 있습니다. 기준치가 null 의 경우, authorityKeyIdentifier 체크는 행해지지 않습니다.  

authorityKeyIDnull 가 아닌 경우, AuthorityKeyIdentifier 기능확장의 값 (객체 식별자, 위기의 정도의 설정, 캡슐화된 OCTET STRING 는 포함되지 않는다)의 내용에 대응하는 DER encode 된 값이 1 개 포함될 필요가 있습니다. 이 구조체의 ASN. 1 표기는 다음과 같습니다.  


 AuthorityKeyIdentifier ::= SEQUENCE {
    keyIdentifier             [0] KeyIdentifier           OPTIONAL,
    authorityCertIssuer       [1] GeneralNames            OPTIONAL,
    authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL  }

 KeyIdentifier ::= OCTET STRING
 

권한의 열쇠 식별자는 X509CertSelector 로 구문 분석 되지 않습니다. 대신에, 바이트 마다 비교하는 것으로, 값이 비교됩니다.  

AuthorityKeyIdentifierkeyIdentifier 필드가 생성되면(자), 일반적으로, 그 값은 발행자의 증명서에 있는 SubjectKeyIdentifier 기능확장으로부터 취득됩니다. 그러나, 발행자의 증명서에서의 X509Certificate.getExtensionValue(<SubjectKeyIdentifier Object Identifier>) 의 결과가 직접 setAuthorityKeyIdentifier 의 입력에 사용된다고는 할 수 없습니다. 이것은, SubjectKeyIdentifier 에 포함되는 것이 KeyIdentifier 의 OCTET STRING 뿐이어서, KeyIdentifier, GeneralNames, CertificateSerialNumber 의 SEQUENCE 는 포함되지 않기 때문입니다. 발행자의 증명서에서의 SubjectKeyIdentifier 기능확장의 값을 사용하려면 , 파묻힌 KeyIdentifier OCTET STRING 의 값을 추출하고 나서, DER 로 이 OCTET STRING 를 SEQUENCE 내에 encode 합니다. SubjectKeyIdentifier 의 상세한 것에 대하여는,setSubjectKeyIdentifier(byte[] subjectKeyID) 를 참조해 주세요.  

또, 이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 바이트 배열은 복제되고 있습니다.

파라미터:
authorityKeyID - 권한의 열쇠 식별자. 또는 null
관련 항목:
getAuthorityKeyIdentifier()

setCertificateValid

public void setCertificateValid(Date  certValid)
certificateValid 기준치를 설정합니다. 지정한 일자는,X509Certificate 의 증명서 유효기간내가 아니면 안됩니다. null 의 경우, certificateValid 의 체크는 행해지지 않습니다.  

이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 Date 는 복제되고 있습니다.

파라미터:
certValid - 체크 대상의 Date. 또는 null
관련 항목:
getCertificateValid()

setPrivateKeyValid

public void setPrivateKeyValid(Date  privateKeyValid)
privateKeyValid 기준치를 설정합니다. 지정한 일자는,X509Certificate 의 비공개키 유효기간내가 아니면 안됩니다. null 의 경우, privateKeyValid 의 체크는 행해지지 않습니다.  

이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 Date 는 복제되고 있습니다.

파라미터:
privateKeyValid - 체크 대상의 Date. 또는 null
관련 항목:
getPrivateKeyValid()

setSubjectPublicKeyAlgID

public void setSubjectPublicKeyAlgID(String  oid)
                              throws IOException 
subjectPublicKeyAlgID 기준치를 설정합니다. X509Certificate 에는, 지정한 알고리즘에 의한 피인증자의 공개키가 포함되지 않으면 안됩니다. null 의 경우, subjectPublicKeyAlgID 의 체크는 행해지지 않습니다.

파라미터:
oid - 체크 대상의 알고리즘의 객체 식별자 (OID), 또는 null. OID 는 피리어드로 단락지어진 부가 아닌 정수의 조로 나타내진다
예외:
IOException - 최초의 컴퍼넌트가 0, 1, 2 의 어떤 것도 아니고, 2 번째의 컴퍼넌트가 39 보다 크다고 하도록(듯이), OID 가 무효의 경우
관련 항목:
getSubjectPublicKeyAlgID()

setSubjectPublicKey

public void setSubjectPublicKey(PublicKey  key)
subjectPublicKey 기준치를 설정합니다. X509Certificate 에는, 지정한 피인증자의 공개키가 포함되지 않으면 안됩니다. null 의 경우, subjectPublicKey 의 체크는 행해지지 않습니다.

파라미터:
key - 체크 대상의 피인증자의 공개키. 또는 null
관련 항목:
getSubjectPublicKey()

setSubjectPublicKey

public void setSubjectPublicKey(byte[] key)
                         throws IOException 
subjectPublicKey 기준치를 설정합니다. X509Certificate 에는, 지정한 피인증자의 공개키가 포함되지 않으면 안됩니다. null 의 경우, subjectPublicKey 의 체크는 행해지지 않습니다.  

이 메소드에서는 공개키를 바이트 배열로서 지정할 수 있기 (위해)때문에, 불명한 열쇠 타입에 대해서 사용할 수 있습니다.  

keynull 가 아닌 경우, X. 509 로 정의되고 있는 DER encode 된 SubjectPublicKeyInfo 구조체가 포함되어 있을 필요가 있습니다. 이 구조체의 ASN. 1 표기는 다음과 같이 됩니다.


 SubjectPublicKeyInfo ::= SEQUENCE {
   algorithm AlgorithmIdentifier,
   subjectPublicKey BIT STRING }

 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
 

이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 바이트 배열은 복제되고 있습니다.

파라미터:
key - ASN. 1 DER 형식에 의한 피인증자의 공개키를 포함한 바이트 배열. 또는 null
예외:
IOException - encode 에러가 발생했을 경우 (피인증자의 공개키의 부정한 형식)
관련 항목:
getSubjectPublicKey()

setKeyUsage

public void setKeyUsage(boolean[] keyUsage)
keyUsage 기준치를 설정합니다. 지정한 keyUsage 의 값이 X509Certificate 로 유효하게 되어 있을 필요가 있습니다. null 의 경우, keyUsage 의 체크는 행해지지 않습니다. keyUsage 기능확장이 없는 X509Certificate 에서는, 모든 keyUsage 의 값이 암묵적으로 유효합니다.  

이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 boolean 형 배열은 복제되고 있습니다.

파라미터:
keyUsage - X509Certificate.getKeyUsage() 에 의해 반환되는 boolean 형 배열과 같은 형식의 boolean 형 배열. 또는 null
관련 항목:
getKeyUsage()

setExtendedKeyUsage

public void setExtendedKeyUsage(Set <String > keyPurposeSet)
                         throws IOException 
extendedKeyUsage 기준치를 설정합니다. 지정한 열쇠 목적이 X509Certificate 의 확장열쇠 사용법의 기능확장으로 유효하게 되어 있을 필요가 있습니다. keyPurposeSet 가 빈 상태(empty)이나 null 의 경우, extendedKeyUsage 의 체크는 행해지지 않습니다. extendedKeyUsage 기능확장이 없는 X509Certificate 에서는, 모든 열쇠 목적이 암묵적으로 유효합니다.  

이후의 변경으로부터 보호하기 위해서,Set 는 복제되고 있습니다.

파라미터:
keyPurposeSet - 캐릭터 라인 형식의 열쇠 목적 OID 의 Set, 또는 null. 각 OID 는 피리어드로 단락지어진 부가 아닌 정수의 조로 나타내진다
예외:
IOException - 최초의 컴퍼넌트가 0, 1, 2 의 어떤 것도 아니고, 2 번째의 컴퍼넌트가 39 보다 크다고 하도록(듯이), OID 가 무효의 경우
관련 항목:
getExtendedKeyUsage()

setMatchAllSubjectAltNames

public void setMatchAllSubjectAltNames(boolean matchAllNames)
setSubjectAlternativeNames 메소드나 addSubjectAlternativeName 메소드로 지정된 모든 subjectAlternativeNames 의 조합을 사용 가능 또는 사용 불가로 합니다. 사용 가능한 경우, 지정한 피인증자의 대체명이 모두 X509Certificate 에 포함되지 않으면 안됩니다. 사용 불가의 경우, 지정한 피인증자의 대체명이 적어도 1 개(살) X509Certificate 에 포함되지 않으면 안됩니다.

디폴트로 matchAllNames 플래그는 true 입니다.

파라미터:
matchAllNames - true 의 경우는 플래그를 사용 가능하게 해,false 의 경우는 사용 불가로 하는
관련 항목:
getMatchAllSubjectAltNames()

setSubjectAlternativeNames

public void setSubjectAlternativeNames(Collection <List <? >> names)
                                throws IOException 
subjectAlternativeNames 기준치를 설정합니다. X509Certificate 에는, subjectAlternativeNames 플래그의 값에 응해, 지정한 subjectAlternativeNames 의 모두, 또는 적어도 1 개(살)이 포함되어 있을 필요가 있습니다 (setMatchAllSubjectAltNames 를 참조).  

이 메소드를 사용하면(자), 1 회의 메소드 호출로, 호출측이 subjectAlternativeNames 기준치에 대한 피인증자의 대체명의 완전한 세트를 지정할 수 있습니다. 지정한 값으로 subjectAlternativeNames 기준치의 전의 값을 옮겨놓을 수 있습니다.  

null 가 아닌 names 파라미터는, 피인증자의 대체명 기준치에 포함되어 있는 이름 마다 1 엔트리가 되는 Collection 가 됩니다. 각 엔트리는 List 로, 이 List 의 최초의 엔트리는 Integer (이름 타입, 0 ~ 8), 2 번째의 엔트리는 String 나 바이트 배열 (각각이 캐릭터 라인 형식 또는 ASN. 1 DER encode 형식의 이름)이 됩니다. 같은 타입에 복수의 이름이 존재하는 일도 있습니다. 이 인수의 값으로 해서 null 가 지정되었을 경우, subjectAlternativeNames 의 체크는 행해지지 않습니다.  

Collection 내의 각 피인증자의 대체명은,String 또는 ASN. 1 encode 바이트 배열로서 지정할 수 있습니다. 사용되는 형식의 상세한 것에 대하여는,addSubjectAlternativeName(int type, String name)addSubjectAlternativeName(int type, byte [] name) 를 참조해 주세요.  

주: 식별명은, 캐릭터 라인 형식은 아니고 바이트 배열 형식에서 지정해 주세요. 자세한 것은, 「addSubjectAlternativeName(int, String) 」의 주를 참조해 주세요.  

names 파라미터에는 중복 한 이름 (같은 이름 및 이름 타입)이 포함되어 있습니다만, 이 식별명은 getSubjectAlternativeNames 메소드로 반환된 이름의 Collection 로부터 삭제할 수 있습니다.  

이후의 변경으로부터 보호하기 위해서,Collection 에 딥 카피를 합니다.

파라미터:
names - 이름의 Collection. 또는 null
예외:
IOException - 구문 분석 에러가 발생했을 경우
관련 항목:
getSubjectAlternativeNames()

addSubjectAlternativeName

public void addSubjectAlternativeName(int type,
                                      String  name)
                               throws IOException 
subjectAlternativeNames 기준치에 이름을 추가합니다. X509Certificate 에는, subjectAlternativeNames 플래그의 값에 응해, 지정한 subjectAlternativeNames 의 모두, 또는 적어도 1 개(살)이 포함되어 있을 필요가 있습니다 (setMatchAllSubjectAltNames 를 참조).  

이 메소드에서는, 호출측이 이름을 피인증자의 대체명세트에 추가할 수 있습니다. 지정한 이름은, subjectAlternativeNames 기준으로 먼저 존재하는 값에 추가됩니다. 지정한 이름이 중복 하는 경우는 무시됩니다.  

이름은 캐릭터 라인 형식에서 주어집니다. RFC 822, DNS, URI 의 각 이름에서는, RFC 2459 에 포함되는 제한에 따라, 명확하게 정의된 캐릭터 라인 형식이 이용됩니다. IPv4 주소명은 닷으로 4 개에 단락지어진 표기법이 사용됩니다. OID명은, 피리어드로 단락지어진 부가 되지 않는 일련의 정수로서 나타내집니다. 디렉토리명 (식별명)은 RFC 2253 캐릭터 라인 형식이 됩니다. otherName, X. 400 명, EDI 상대명, IPv6 주소명, 그 다른 타입의 이름에는, 표준의 캐릭터 라인 형식은 없습니다. 이러한 이름은 addSubjectAlternativeName(int type, byte [] name) 메소드를 사용해 지정할 필요가 있습니다.  

주: 식별명에 대해서는, 대신에 addSubjectAlternativeName(int, byte[]) 를 사용해 주세요. 이 메소드의 실행 결과를 신용하지 말아 주세요. RFC 2253 캐릭터 라인 형식에서 기술된 일부의 식별명에서는, encode 정보의 손실에 의해, 증명서의 일치 처리에 실패할 가능성이 있기 (위해)때문에입니다.

파라미터:
type - 이름의 타입 (0 ~ 8, RFC 2459 의 섹션 4.2. 1.7 으로 지정되고 있다)
name - 캐릭터 라인 형식의 이름. null 는 아니다
예외:
IOException - 구문 분석 에러가 발생했을 경우

addSubjectAlternativeName

public void addSubjectAlternativeName(int type,
                                      byte[] name)
                               throws IOException 
subjectAlternativeNames 기준치에 이름을 추가합니다. X509Certificate 에는, subjectAlternativeNames 플래그의 값에 응해, 지정한 subjectAlternativeNames 의 모두, 또는 적어도 1 개(살)이 포함되어 있을 필요가 있습니다 (setMatchAllSubjectAltNames 를 참조).  

이 메소드에서는, 호출측이 이름을 피인증자의 대체명세트에 추가할 수 있습니다. 지정한 이름은, subjectAlternativeNames 기준으로 먼저 존재하는 값에 추가됩니다. 지정한 이름이 중복 하는 경우는 무시됩니다.  

이름은 바이트 배열로 지정됩니다. 이 바이트 배열에는, RFC 2459 로 X. 509 로 정의되고 있는 GeneralName 구조체에 있는 것 같은, DER encode 한 이름이 포함되어 있을 필요가 있습니다. encode 된 바이트 배열에는 이름의 encode 된 값만이 포함되어 있을 필요가 있어, GeneralName 구조체의 이름에 관련지을 수 있었던 태그가 포함되어 있어서는 안됩니다. NameConstraints 구조체의 ASN. 1 정의는 다음과 같습니다.


  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}
 

이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 바이트 배열은 복제되고 있습니다.

파라미터:
type - 이름의 타입 (0 ~ 8, 상기대로)
name - ASN. 1 DER encode 형식에 의한 이름을 포함한 바이트 배열
예외:
IOException - 구문 분석 에러가 발생했을 경우

setNameConstraints

public void setNameConstraints(byte[] bytes)
                        throws IOException 
이름 제약의 기준치를 설정합니다. X509Certificate 에는, 지정한 이름 제약을 채우는 것 같은 피인증자와 피인증자의 대체명이 없으면 안됩니다.  

이름 제약은 바이트 배열로 지정됩니다. 이 바이트 배열에는, RFC 2459 로 X. 509 로 정의되고 있는 NameConstraints 구조체에 있는 것 같은 이름 제약의 DER encode 형식이 포함되지 않으면 안됩니다. NameConstraints 구조체의 ASN. 1 정의는 다음과 같습니다.


  NameConstraints ::= SEQUENCE {
       permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
       excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }

  GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree

  GeneralSubtree ::= SEQUENCE {
       base                    GeneralName,
       minimum         [0]     BaseDistance DEFAULT 0,
       maximum         [1]     BaseDistance OPTIONAL }

  BaseDistance ::= INTEGER (0..MAX)

  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}
 

이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 바이트 배열은 복제되고 있습니다.

파라미터:
bytes - 이름 제약을 체크하기 위해서 사용되는 NameConstraints 확장 정보를 ASN. 1 DER 로 encode 한 값을 포함한 바이트 배열. 확장 정보의 값만이 포함되어 OID 나 위기의 정도를 나타내는 플래그는 포함되지 않는다. 이름 제약의 체크를 실시하지 않는 경우는 null 로 한다
예외:
IOException - 구문 분석 에러가 발생했을 경우
관련 항목:
getNameConstraints()

setBasicConstraints

public void setBasicConstraints(int minMaxPathLen)
기본 제약에 대한 제약을 설정합니다. 이 값이 0 이상의 경우, 이 값이상의 pathLen 를 가지는 basicConstraints 기능확장이 X509Certificates 에 포함되어 있을 필요가 있습니다. 값이 -2 의 경우, 엔드엔티티의 증명서만이 허용 됩니다. -1 의 경우, 체크는 행해지지 않습니다.  

순서 방향 (타겟으로부터 트러스트 엥커에게)의 증명서 패스를 구축할 경우에, 이 제약은 도움이 됩니다. 패스가 부분적으로 구축되고 있는 경우, 후보 증명서의 maxPathLen 치는 부분 패스내의 증명서수이상이 아니면 안됩니다.

파라미터:
minMaxPathLen - 기본 제약에 대한 제약의 값
예외:
IllegalArgumentException - 치가 -2 미만의 경우
관련 항목:
getBasicConstraints()

setPolicy

public void setPolicy(Set <String > certPolicySet)
               throws IOException 
정책 제약을 설정합니다. X509Certificate 에는, 그 증명서 정책 기능확장내로 지정한 정책가 적어도 1 개(살) 포함되어 있을 필요가 있습니다. certPolicySet 가 빈 상태(empty)의 경우,X509Certificate 에는, 그 증명서 정책 기능확장내로 지정한 정책가 복수 포함되어 있을 필요가 있습니다. certPolicySetnull 의 경우, 정책의 체크는 행해지지 않습니다.  

이후의 변경으로부터 보호하기 위해서,Set 는 복제되고 있습니다.

파라미터:
certPolicySet - 캐릭터 라인 형식의 증명서 정책 OID 의 Set, 또는 null. 각 OID 는 피리어드로 단락지어진 부가 아닌 정수의 조로 나타내진다
예외:
IOException - 최초의 컴퍼넌트가 0, 1, 2 의 어떤 것도 아니고, 2 번째의 컴퍼넌트가 39 보다 크다고 하도록(듯이), OID 의 구문 분석 에러가 발생했을 경우
관련 항목:
getPolicy()

setPathToNames

public void setPathToNames(Collection <List <? >> names)
                    throws IOException 
pathToNames 기준치를 설정합니다. 지정한 이름에의 패스를 구축할 수 없는 것 같은 이름 제약이 X509Certificate 에 포함되어서는 안됩니다.  

이 메소드를 사용하면(자), 1 회의 메소드 호출로, 호출측이 X509Certificates 의 이름 제약이 허용 될 필요가 있는, 이름의 완전한 세트를 지정할 수 있습니다. 지정한 값은 pathToNames 기준치의 전의 값을 옮겨놓습니다.  

순서 방향 (타겟으로부터 트러스트 엥커에게)의 증명서 패스를 구축할 경우에, 이 제약은 도움이 됩니다. 패스가 부분적으로 구축되고 있는 경우, 후보 증명서의 이름 제약은 부분 패스내의 이름에의 패스를 구축할 수 없는 제약에서는 안됩니다.  

null 가 아닌 names 파라미터는, pathToNames 기준치에 포함되어 있는 이름 마다 1 엔트리가 되는 Collection 가 됩니다. 각 엔트리는 List 로, 이 List 의 최초의 엔트리는 Integer (이름 타입, 0 ~ 8), 2 번째의 엔트리는 String 나 바이트 배열 (각각이 캐릭터 라인 형식 또는 ASN. 1 DER encode 형식의 이름)이 됩니다. 같은 타입에 복수의 이름이 존재하는 일도 있습니다. 이 인수의 값으로 해서 null 가 지정되었을 경우, pathToNames 의 체크는 행해지지 않습니다.  

Collection 내의 이름은,String 나 ASN. 1 encode 바이트 배열로서 지정할 수 있습니다. 사용되는 형식의 상세한 것에 대하여는,addPathToName(int type, String name)addPathToName(int type, byte [] name) 를 참조해 주세요.  

주: 식별명은, 캐릭터 라인 형식은 아니고 바이트 배열 형식에서 지정해 주세요. 자세한 것은, 「addPathToName(int, String) 」의 주를 참조해 주세요.  

names 파라미터에는 중복 한 이름 (같은 이름 및 이름 타입)이 포함되어 있습니다만, 이 식별명은 getPathToNames 메소드로 반환된 이름의 Collection 로부터 삭제할 수 있습니다.  

이후의 변경으로부터 보호하기 위해서,Collection 에 딥 카피를 합니다.

파라미터:
names - 이름 1 개(살) 당 1 엔트리의 Collection. 또는 null
예외:
IOException - 구문 분석 에러가 발생했을 경우
관련 항목:
getPathToNames()

addPathToName

public void addPathToName(int type,
                          String  name)
                   throws IOException 
pathToNames 기준치에 이름을 추가합니다. 지정한 이름 패스를 구축할 수 없는 것 같은 이름 제약이 X509Certificate 에 포함되어 있어서는 안됩니다.  

이 메소드에서는, 호출측이 이름을 X509Certificates 의 이름 제약이 허용 될 필요가 있는, 이름세트에 추가할 수 있습니다. 지정한 이름은, pathToNames 기준치로 먼저 존재하는 값에 추가됩니다. 이름이 중복 하는 경우는 무시됩니다.  

이름은 캐릭터 라인 형식에서 주어집니다. RFC 822, DNS, URI 의 각 이름에서는, RFC 2459 에 포함되는 제한에 따라, 명확하게 정의된 캐릭터 라인 형식이 이용됩니다. IPv4 주소명은 닷으로 4 개에 단락지어진 표기법이 사용됩니다. OID명은, 피리어드로 단락지어진 부가 되지 않는 일련의 정수로서 나타내집니다. 디렉토리명 (식별명)은 RFC 2253 캐릭터 라인 형식이 됩니다. otherName, X. 400 명, EDI 상대명, IPv6 주소명, 그 다른 타입의 이름에는, 표준의 캐릭터 라인 형식은 없습니다. 이러한 이름은 addPathToName(int type, byte [] name) 메소드를 사용해 지정될 필요가 있습니다.  

주: 식별명에 대해서는, 대신에 addPathToName(int, byte[]) 를 사용해 주세요. 이 메소드의 실행 결과를 신용하지 말아 주세요. RFC 2253 캐릭터 라인 형식에서 기술된 일부의 식별명에서는, encode 정보의 손실에 의해, 증명서의 일치 처리에 실패할 가능성이 있기 (위해)때문에입니다.

파라미터:
type - 이름의 타입 (0 ~ 8, RFC 2459 의 섹션 4.2. 1.7 으로 지정되고 있다)
name - 캐릭터 라인 형식의 이름
예외:
IOException - 구문 분석 에러가 발생했을 경우

addPathToName

public void addPathToName(int type,
                          byte[] name)
                   throws IOException 
pathToNames 기준치에 이름을 추가합니다. 지정한 이름 패스를 구축할 수 없는 것 같은 이름 제약이 X509Certificate 에 포함되어 있어서는 안됩니다.  

이 메소드에서는, 호출측이 이름을 X509Certificates 의 이름 제약이 허용 될 필요가 있는, 이름세트에 추가할 수 있습니다. 지정한 이름은, pathToNames 기준치로 먼저 존재하는 값에 추가됩니다. 이름이 중복 하는 경우는 무시됩니다.  

이름은 바이트 배열로 지정됩니다. 이 바이트 배열에는, RFC 2459 로 X. 509 로 정의되고 있는 GeneralName 구조체에 있는 것 같은, DER encode 한 이름이 포함되어 있을 필요가 있습니다. 이 구조체의 ASN. 1 정의는,addSubjectAlternativeName(int type, byte [] name) 로 설명하고 있습니다.  

이후의 변경으로부터 보호하기 위해서, 여기서 제공되는 바이트 배열은 복제되고 있습니다.

파라미터:
type - 이름의 타입 (0 ~ 8, RFC 2459 의 섹션 4.2. 1.7 으로 지정되고 있다)
name - ASN. 1 DER encode 형식에 의한 이름을 포함한 바이트 배열
예외:
IOException - 구문 분석 에러가 발생했을 경우

getCertificate

public X509Certificate  getCertificate()
certificateEquals 기준치를 돌려줍니다. 지정한 X509Certificate 은,match 메소드에게 건네진 X509Certificate 와 같지 않으면 안됩니다. null 의 경우, 이 체크는 행해지지 않습니다.

반환값:
일치시키는 X509Certificate. 또는 null
관련 항목:
setCertificate(java.security.cert.X509Certificate)

getSerialNumber

public BigInteger  getSerialNumber()
serialNumber 기준치를 돌려줍니다. 지정한 시리얼 번호는,X509Certificate 의 증명서 시리얼 번호와 일치할 필요가 있습니다. null 의 경우, 임의의 증명서 시리얼 번호와 일치합니다.

반환값:
일치시키는 증명서 시리얼 번호. 또는 null
관련 항목:
setSerialNumber(java.math.BigInteger)

getIssuer

public X500Principal  getIssuer()
발행자의 기준치를 X500Principal 로서 돌려줍니다. 이 식별명은,X509Certificate 의 발행자 식별명으로 일치할 필요가 있습니다. null 의 경우, 발행자의 기준치는 무효가 되어, 임의의 발행자 식별명으로 일치합니다.

반환값:
요구된 발행자의 X500Principal 로서의 식별명 또는 null
도입된 버젼:
1.5

getIssuerAsString

public String  getIssuerAsString()
버그: 대신에 getIssuer() 또는 getIssuerAsBytes() 를 사용해 주세요. 이 메소드의 실행 결과를 신용하지 말아 주세요. RFC 2253 캐릭터 라인 형식에서 기술된 일부의 식별명에서는, encode 정보의 손실에 의해, 증명서의 일치 처리에 실패할 가능성이 있기 (위해)때문에입니다.  

발행자의 기준치를 String 로서 돌려줍니다. 이 식별명은,X509Certificate 의 발행자 식별명으로 일치할 필요가 있습니다. null 의 경우, 발행자의 기준치는 무효가 되어, 임의의 발행자 식별명으로 일치합니다.  

반환된 값이 null 가 아닌 경우는, RFC 2253 형식의 식별명이 됩니다.

반환값:
요구된 발행자의 RFC 2253 형식의 식별명. 또는 null

getIssuerAsBytes

public byte[] getIssuerAsBytes()
                        throws IOException 
발행자의 기준치를 바이트 배열로서 돌려줍니다. 이 식별명은,X509Certificate 의 발행자 식별명으로 일치할 필요가 있습니다. null 의 경우, 발행자의 기준치는 무효가 되어, 임의의 발행자 식별명으로 일치합니다.  

반환된 값이 null 가 아닌 경우, X. 501 으로 정의되고 있는 DER encode 된 단일 식별명을 포함한 바이트 배열이 됩니다. 이 구조체의 ASN. 1 표기에 대해서는,setIssuer(byte [] issuerDN) 를 참조해 주세요.  

이후의 변경으로부터 보호하기 위해서, 반환되는 바이트 배열의 복제가 작성됩니다.

반환값:
ASN. 1 DER 형식에 의한 요구된 발행자의 식별명을 포함한 바이트 배열. 또는 null
예외:
IOException - encode 에러가 발생했을 경우

getSubject

public X500Principal  getSubject()
피인증자의 기준치를 X500Principal 로서 돌려줍니다. 이 식별명은,X509Certificate 의 피인증자 식별명으로 일치할 필요가 있습니다. null 의 경우, 피인증자의 기준치는 무효가 되어, 임의의 피인증자 식별명으로 일치합니다.

반환값:
요구된 피인증자의 X500Principal 로서의 식별명 또는 null
도입된 버젼:
1.5

getSubjectAsString

public String  getSubjectAsString()
버그: 대신에 getSubject() 또는 getSubjectAsBytes() 를 사용해 주세요. 이 메소드의 실행 결과를 신용하지 말아 주세요. RFC 2253 캐릭터 라인 형식에서 기술된 일부의 식별명에서는, encode 정보의 손실에 의해, 증명서의 일치 처리에 실패할 가능성이 있기 (위해)때문에입니다.  

피인증자의 기준치를 String 로서 돌려줍니다. 이 식별명은,X509Certificate 의 피인증자 식별명으로 일치할 필요가 있습니다. null 의 경우, 피인증자의 기준치는 무효가 되어, 임의의 피인증자 식별명으로 일치합니다.  

반환된 값이 null 가 아닌 경우는, RFC 2253 형식의 식별명이 됩니다.

반환값:
요구된 피인증자의 RFC 2253 형식의 식별명. 또는 null

getSubjectAsBytes

public byte[] getSubjectAsBytes()
                         throws IOException 
피인증자의 기준치를 바이트 배열로서 돌려줍니다. 이 식별명은,X509Certificate 의 피인증자 식별명으로 일치할 필요가 있습니다. null 의 경우, 피인증자의 기준치는 무효가 되어, 임의의 피인증자 식별명으로 일치하면 좋게 됩니다.  

반환된 값이 null 가 아닌 경우, X. 501 으로 정의되고 있는 DER encode 된 단일 식별명을 포함한 바이트 배열이 됩니다. 이 구조체의 ASN. 1 표기에 대해서는,setSubject(byte [] subjectDN) 를 참조해 주세요.  

이후의 변경으로부터 보호하기 위해서, 반환되는 바이트 배열의 복제가 작성됩니다.

반환값:
ASN. 1 DER 형식에 의한 요구된 피인증자의 식별명을 포함한 바이트 배열. 또는 null
예외:
IOException - encode 에러가 발생했을 경우

getSubjectKeyIdentifier

public byte[] getSubjectKeyIdentifier()
subjectKeyIdentifier 기준치를 돌려줍니다. X509Certificate 에는, 지정한 값을 가지는 SubjectKeyIdentifier 기능확장이 포함될 필요가 있습니다. null 의 경우, subjectKeyIdentifier 의 체크는 행해지지 않습니다.  

이후의 변경으로부터 보호하기 위해서, 반환되는 바이트 배열의 복제가 작성됩니다.

반환값:
열쇠 식별자. 또는 null
관련 항목:
setSubjectKeyIdentifier(byte[])

getAuthorityKeyIdentifier

public byte[] getAuthorityKeyIdentifier()
authorityKeyIdentifier 기준치를 돌려줍니다. X509Certificate 에는, 지정한 값을 가지는 AuthorityKeyIdentifier 기능확장이 포함될 필요가 있습니다. null 의 경우, authorityKeyIdentifier 의 체크는 행해지지 않습니다.  

이후의 변경으로부터 보호하기 위해서, 반환되는 바이트 배열의 복제가 작성됩니다.

반환값:
열쇠 식별자. 또는 null
관련 항목:
setAuthorityKeyIdentifier(byte[])

getCertificateValid

public Date  getCertificateValid()
certificateValid 기준치를 돌려줍니다. 지정한 일자는,X509Certificate 의 증명서 유효기간내가 아니면 안됩니다. null 의 경우, certificateValid 의 체크는 행해지지 않습니다.  

이후의 변경으로부터 보호하기 위해서, 반환되는 Date 는 복제되고 있습니다.

반환값:
체크 대상의 Date. 또는 null
관련 항목:
setCertificateValid(java.util.Date)

getPrivateKeyValid

public Date  getPrivateKeyValid()
privateKeyValid 기준치를 돌려줍니다. 지정한 일자는,X509Certificate 의 비공개키 유효기간내가 아니면 안됩니다. null 의 경우, privateKeyValid 의 체크는 행해지지 않습니다.  

이후의 변경으로부터 보호하기 위해서, 반환되는 Date 는 복제되고 있습니다.

반환값:
체크 대상의 Date. 또는 null
관련 항목:
setPrivateKeyValid(java.util.Date)

getSubjectPublicKeyAlgID

public String  getSubjectPublicKeyAlgID()
subjectPublicKeyAlgID 기준치를 돌려줍니다. X509Certificate 에는, 지정한 알고리즘에 의한 피인증자의 공개키가 포함되지 않으면 안됩니다. null 의 경우, subjectPublicKeyAlgID 의 체크는 행해지지 않습니다.

반환값:
체크 대상의 서명 알고리즘의 객체 식별자 (OID), 또는 null. OID 는 피리어드로 단락지어진 부가 아닌 정수의 조로 나타내지는
관련 항목:
setSubjectPublicKeyAlgID(java.lang.String)

getSubjectPublicKey

public PublicKey  getSubjectPublicKey()
subjectPublicKey 기준치를 돌려줍니다. X509Certificate 에는, 지정한 피인증자의 공개키가 포함되지 않으면 안됩니다. null 의 경우, subjectPublicKey 의 체크는 행해지지 않습니다.

반환값:
체크 대상의 피인증자의 공개키. 또는 null
관련 항목:
setSubjectPublicKey(java.security.PublicKey)

getKeyUsage

public boolean[] getKeyUsage()
keyUsage 기준치를 돌려줍니다. 지정한 keyUsage 의 값이 X509Certificate 로 유효하게 되어 있을 필요가 있습니다. null 의 경우, keyUsage 의 확인은 행해지지 않습니다.  

이후의 변경으로부터 보호하기 위해서, 반환되는 boolean 형 배열은 복제되고 있습니다.

반환값:
X509Certificate.getKeyUsage() 에 의해 반환되는 boolean 형 배열과 같은 형식의 boolean 형 배열. 또는 null
관련 항목:
setKeyUsage(boolean[])

getExtendedKeyUsage

public Set <String > getExtendedKeyUsage()
extendedKeyUsage 기준치를 돌려줍니다. 지정한 열쇠 목적이 X509Certificate 의 확장열쇠 사용법의 기능확장으로 유효하게 되어 있을 필요가 있습니다. 반환되는 keyPurposeSet 가 빈 상태(empty)이나 null 의 경우, extendedKeyUsage 의 체크는 행해지지 않습니다. extendedKeyUsage 기능확장이 없는 X509Certificate 에서는, 모든 열쇠 목적이 암묵적으로 유효합니다.

반환값:
캐릭터 라인 형식에 의한 열쇠 목적 OID 의 불변의 Set, 또는 null
관련 항목:
setExtendedKeyUsage(java.util.Set)

getMatchAllSubjectAltNames

public boolean getMatchAllSubjectAltNames()
setSubjectAlternativeNames 메소드나 addSubjectAlternativeName 메소드로 지정된 subjectAlternativeNames 가 모두, 또는 적어도 1 개(살),X509Certificate 에 포함되지 않으면 안 되는지 어떤지를 나타냅니다. true 의 경우, 지정한 피인증자의 대체명이 모두 X509Certificate 에 포함되지 않으면 안됩니다. false 의 경우, 지정한 피인증자의 대체명이 적어도 1 개(살),X509Certificate 에 포함되지 않으면 안됩니다.

반환값:
플래그가 사용 가능한 경우는 true, 사용 불가의 경우는 false. 디폴트에서는 true
관련 항목:
setMatchAllSubjectAltNames(boolean)

getSubjectAlternativeNames

public Collection <List <? >> getSubjectAlternativeNames()
subjectAlternativeNames 기준치의 카피를 돌려줍니다. X509Certificate 에는, subjectAlternativeNames 플래그의 값에 응해, 지정한 subjectAlternativeNames 의 모두, 또는 적어도 1 개(살)이 포함되어 있을 필요가 있습니다 (getMatchAllSubjectAltNames 를 참조). 반환된 값이 null 의 경우, subjectAlternativeNames 의 체크는 행해지지 않습니다.  

반환되는 값이 null 가 아닌 경우, 피인증자의 대체명 기준치에 포함되어 있는 이름 마다 1 엔트리가 되는 Collection 가 됩니다. 각 엔트리는 List 로, 이 List 의 최초의 엔트리는 Integer (이름 타입, 0 ~ 8), 2 번째의 엔트리는 String 나 바이트 배열 (각각이 캐릭터 라인 형식 또는 ASN. 1 DER encode 형식의 이름)이 됩니다. 같은 타입에 복수의 이름이 존재하는 일도 있습니다. 반환되는 Collection 에는 중복 한 이름 (같은 이름과 이름 타입)이 포함되는 일도 있습니다.  

Collection 내의 각 피인증자의 대체명은,String 또는 ASN. 1 encode 바이트 배열로서 지정할 수 있습니다. 사용되는 형식의 상세한 것에 대하여는,addSubjectAlternativeName(int type, String name)addSubjectAlternativeName(int type, byte [] name) 를 참조해 주세요.  

이후의 변경으로부터 보호하기 위해서,Collection 에 딥 카피를 합니다.

반환값:
이름의 Collection. 또는 null
관련 항목:
setSubjectAlternativeNames(java.util.Collection>)

getNameConstraints

public byte[] getNameConstraints()
이름 제약의 기준치를 돌려줍니다. X509Certificate 에는, 지정한 이름 제약을 채우는 것 같은 피인증자와 피인증자의 대체명이 없으면 안됩니다.  

이름 제약은 바이트 배열로 돌려주어집니다. 이 바이트 배열에는, RFC 2459 로 X. 509 로 정의되고 있는 NameConstraints 구조체에 있는 것 같은, 이름 제약의 DER encode 형식이 포함되어 있습니다. 이 구조체의 ASN. 1 표기는, 「setNameConstraints(byte [] bytes) 」로 설명하고 있습니다.  

이후의 변경으로부터 보호하기 위해서, 반환되는 바이트 배열의 복제가 작성됩니다.

반환값:
이름 제약을 체크하기 위해서 사용되는 NameConstraints 확장 정보를 ASN. 1 DER 로 encode 한 값을 포함한 바이트 배열. 이름 제약의 체크를 실시하지 않는 경우는 null
관련 항목:
setNameConstraints(byte[])

getBasicConstraints

public int getBasicConstraints()
기본 제약에 대한 제약을 돌려줍니다. 이 값이 0 이상의 경우, 이 값이상의 pathLen 를 가지는 basicConstraints 기능확장이 X509Certificates 에 포함되어 있을 필요가 있습니다. 값이 -2 의 경우, 엔드엔티티의 증명서만이 허용 됩니다. -1 의 경우, basicConstraints 의 체크는 행해지지 않습니다.

반환값:
기본 제약에 대한 제약의 값
관련 항목:
setBasicConstraints(int)

getPolicy

public Set <String > getPolicy()
정책 기준치를 돌려줍니다. X509Certificate 에는, 그 증명서 정책 기능확장내로 지정한 정책가 적어도 1 개(살) 포함되어 있을 필요가 있습니다. 반환된 Set 가 빈 상태(empty)의 경우,X509Certificate 에는, 그 증명서 정책 기능확장내로 지정한 정책가 복수 포함되어 있을 필요가 있습니다. 반환된 Setnull 의 경우, 정책의 체크는 행해지지 않습니다.

반환값:
캐릭터 라인 형식에 의한 열쇠 목적 OID 의 불변의 Set, 또는 null
관련 항목:
setPolicy(java.util.Set)

getPathToNames

public Collection <List <? >> getPathToNames()
pathToNames 기준치의 복제를 돌려줍니다. 지정한 이름에의 패스를 구축할 수 없는 것 같은 이름 제약이 X509Certificate 에 포함되어서는 안됩니다. 반환된 값이 null 의 경우, pathToNames 의 체크는 행해지지 않습니다.  

반환되는 값이 null 가 아닌 경우, pathToNames 기준치에 포함되어 있는 이름 마다 1 엔트리가 되는 Collection 가 됩니다. 각 엔트리는 List 로, 이 List 의 최초의 엔트리는 Integer (이름 타입, 0 ~ 8), 2 번째의 엔트리는 String 나 바이트 배열 (각각이 캐릭터 라인 형식 또는 ASN. 1 DER encode 형식의 이름)이 됩니다. 같은 타입에 복수의 이름이 존재하는 일도 있습니다. 반환되는 Collection 에는 중복 한 이름 (같은 이름과 이름 타입)이 포함되는 일도 있습니다.  

Collection 내의 이름은,String 나 ASN. 1 encode 바이트 배열로서 지정할 수 있습니다. 사용되는 형식의 상세한 것에 대하여는,addPathToName(int type, String name)addPathToName(int type, byte [] name) 를 참조해 주세요.  

이후의 변경으로부터 보호하기 위해서,Collection 에 딥 카피를 합니다.

반환값:
이름의 Collection. 또는 null
관련 항목:
setPathToNames(java.util.Collection>)

toString

public String  toString()
CertSelector 의 프린트 가능 표현을 돌려줍니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
CertSelector 의 내용을 나타내는 String

match

public boolean match(Certificate  cert)
Certificate 가 선택될지 어떨지를 판단합니다.

정의:
인터페이스 CertSelector 내의 match
파라미터:
cert - 체크 대상의 Certificate
반환값:
Certificate 가 선택되는 경우는 true, 그렇지 않은 경우는 false

clone

public Object  clone()
이 객체의 복제를 돌려줍니다.

정의:
인터페이스 CertSelector 내의 clone
오버라이드(override):
클래스 Object 내의 clone
반환값:
카피
관련 항목:
Cloneable

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 도 참조해 주세요.