JavaTM 2 Platform
Standard Ed. 5.0

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¸¦ ¸®ÅÏÇÕ´Ï´Ù. º¸Åë, X509CertSelector´Â setIssuer ³ª setKeyUsage¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ¸î°³ÀÇ ±âÁØÀ» À¯È¿ÇÏ°Ô ÇÑµÚ CertStore.getCertificates ³ª À¯»çÇÑ ¸Þ¼­µå¿¡°Ô °Ç³×Áý´Ï´Ù.

setIssuer ³ª setSerialNumber¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î º¹¼öÀÇ ±âÁØÀ» À¯È¿ÇÏ°Ô ÇÒ ¼ö Àֱ⠶§¹®¿¡ º¸Åë match ¸Þ¼­µå´Â ´ÜÀÏÀÇ X509Certificate¿¡ ÀÏÀÇ¿¡ ÀÏÄ¡ÇÕ´Ï´Ù. ¿©±â¼­ ¡¸º¸Åë ¡¹À̶ó°í ±â¼úÇÑ °ÍÀº 2°³ÀÇ ¹ßÇà CA°¡ °°Àº ½Äº°¸íÀ» °¡Á®, °¢°¢ÀÌ °°Àº ½Ã¸®¾ó ¹øÈ£·Î ÀÎÁõ¼­¸¦ ¹ßÇàÇÒ °¡´É¼ºÀÌ Àֱ⠶§¹®ÀÔ´Ï´Ù. ´Ù¸¥ ÀÏÀÇÀÇ Æí¼º¿¡´Â ¹ßÇàÀÚ ±âÁØ, ÇÇÀÎÁõÀÚ ±âÁØ, subjectKeyIdentifier ±âÁØ ¹× subjectPublicKey ±âÁØÀÌ Æ÷ÇԵ˴ϴÙ.

Áö±ÝºÎÅÍ ¼³¸íÇÏ´Â X. 509 ÀÎÁõ¼­ ±â´ÉÈ®ÀåÀÇ Á¤ÀÇ¿¡ ´ëÇؼ­´Â RFC 2459¸¦ ÂüÁ¶ÇϽʽÿÀ.

º´Çà ¾×¼¼½º

Ưº°È÷ °ÅÀýÇÏÁö ¾Ê´Â ÇÑ, ÀÌ Å¬·¡½º¿¡¼­ Á¤Àǵǰí ÀÖ´Â ¸Þ¼­µå´Â 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 ¸Þ¼­µå·Î ÁöÁ¤µÈ, X509Certificate¿¡ Æ÷Ç﵃ ÇÊ¿ä°¡ ÀÖ´Â subjectAlternativeNames ¼ö°¡ ¸ðµÎÀΰ¡ ¶Ç´Â Àû¾îµµ 1°³ Àΰ¡¸¦ ³ªÅ¸³À´Ï´Ù.
 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 ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ ±â¼úµÈ ÀϺÎÀÇ ½Äº°¸í¿¡¼­´Â encode Á¤º¸ÀÇ ¼Õ½Ç¿¡ÀÇÇØ ÀÎÁõ¼­ ÀÇ ÀÏÄ¡ 󸮿¡ ½ÇÆÐÇÒ °¡´É¼ºÀÌ Àֱ⠶§¹®¿¡ÀÔ´Ï´Ù.

¹ßÇàÀÚÀÇ ±âÁØÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ ½Äº°¸íÀº, X509Certificate ¹ßÇàÀÚ ½Äº°¸íÀ¸·Î ÀÏÄ¡ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. nullÀÎ °æ¿ì, ÀÓÀÇÀÇ ¹ßÇàÀÚ ½Äº°¸íÀ¸·Î ÀÏÄ¡ÇÕ´Ï´Ù.

issuerDN°¡ nullÀÌ ¾Æ´Ñ °æ¿ì´Â RFC 2253 Çü½Ä¿¡¼­ ½Äº°¸íÀÌ Æ÷Ç﵃ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
issuerDN - RFC 2253 Çü½ÄÀÇ ½Äº°¸í. ¶Ç´Â null
¿¹¿Ü:
IOException - ±¸¹® ºÐ¼® ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì (DN ºÎÁ¤ÇÑ Çü½Ä)

setIssuer

public void setIssuer(byte[] issuerDN)
               throws IOException 
¹ßÇàÀÚÀÇ ±âÁØÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ ½Äº°¸íÀº, X509Certificate ¹ßÇàÀÚ ½Äº°¸íÀ¸·Î ÀÏÄ¡ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. nullÀÎ °æ¿ì, ¹ßÇàÀÚÀÇ ±âÁØÄ¡´Â ¹«È¿°¡ µÇ¾î, ÀÓÀÇÀÇ ¹ßÇàÀÚ ½Äº°¸íÀ¸·Î ÀÏÄ¡ÇÕ´Ï´Ù.

issuerDN°¡ nullÀÌ ¾Æ´Ñ °æ¿ì, 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 ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ ±â¼úµÈ ÀϺÎÀÇ ½Äº°¸í¿¡¼­´Â encode Á¤º¸ÀÇ ¼Õ½Ç¿¡ÀÇÇØ ÀÎÁõ¼­ ÀÇ ÀÏÄ¡ 󸮿¡ ½ÇÆÐÇÒ °¡´É¼ºÀÌ Àֱ⠶§¹®¿¡ÀÔ´Ï´Ù.

ÇÇÀÎÁõÀÚÀÇ ±âÁØÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ ½Äº°¸íÀº, X509Certificate ÇÇÀÎÁõÀÚ ½Äº°¸íÀ¸·Î ÀÏÄ¡ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. nullÀÎ °æ¿ì, ÀÓÀÇÀÇ ÇÇÀÎÁõÀÚ ½Äº°¸íÀ¸·Î ÀÏÄ¡ÇÕ´Ï´Ù.

subjectDN°¡ nullÀÌ ¾Æ´Ñ °æ¿ì´Â RFC 2253 Çü½Ä¿¡¼­ ½Äº°¸íÀÌ Æ÷Ç﵃ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
subjectDN - RFC 2253 Çü½ÄÀÇ ½Äº°¸í. ¶Ç´Â null
¿¹¿Ü:
IOException - ±¸¹® ºÐ¼® ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì (DN ºÎÁ¤ÇÑ Çü½Ä)

setSubject

public void setSubject(byte[] subjectDN)
                throws IOException 
ÇÇÀÎÁõÀÚÀÇ ±âÁØÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ ½Äº°¸íÀº, X509Certificate ÇÇÀÎÁõÀÚ ½Äº°¸íÀ¸·Î ÀÏÄ¡ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. nullÀÎ °æ¿ì, ÀÓÀÇÀÇ ÇÇÀÎÁõÀÚ ½Äº°¸íÀ¸·Î ÀÏÄ¡ÇÕ´Ï´Ù.

subjectDN°¡ nullÀÌ ¾Æ´Ñ °æ¿ì, 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 üũ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

subjectKeyID°¡ nullÀÌ ¾Æ´Ñ °æ¿ì, 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 üũ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

authorityKeyID°¡ nullÀÌ ¾Æ´Ñ °æ¿ì, 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·Î ±¸¹® ºÐ¼® µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ ¹ÙÀÌÆ® ¸¶´Ù ºñ±³ÇÏ´Â °ÍÀ¸·Î °ªÀÌ ºñ±³µË´Ï´Ù.

AuthorityKeyIdentifier keyIdentifier Çʵ尡 »ý¼ºµÇ¸é, º¸Åë, ±× °ªÀº ¹ßÇàÀÚÀÇ ÀÎÁõ¼­¿¡ ÀÖ´Â 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 üũ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

ÀÌ ¸Þ¼­µå¿¡¼­´Â °ø°³Å°¸¦ ¹ÙÀÌÆ® ¹è¿­·Î¼­ ÁöÁ¤ÇÒ ¼ö Àֱ⠶§¹®¿¡ ºÒ¸íÇÑ Å° ŸÀÔ¿¡ ´ëÇؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

key°¡ nullÀÌ ¾Æ´Ñ °æ¿ì, 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ÀÌ °ø¹éÀ̳ª nullÀÎ °æ¿ì, extendedKeyUsage üũ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù. extendedKeyUsage ±â´ÉÈ®ÀåÀÌ ¾ø´Â X509Certificate¿¡ ¼­´Â ¸ðµç Å° ¸ñÀûÀÌ ¾Ï¹¬ÀûÀ¸·Î À¯È¿ÇÕ´Ï´Ù.

ÀÌÈÄÀÇ º¯°æÀ¸·ÎºÎÅÍ º¸È£Çϱâ À§Çؼ­ Set´Â º¹Á¦µÇ°í ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
keyPurposeSet - ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀÇ Å° ¸ñÀû 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)¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÁÖ: ½Äº°¸íÀº ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀº ¾Æ´Ï°í ¹ÙÀÌÆ® ¹è¿­ Çü½Ä¿¡¼­ ÁöÁ¤ÇØ ÁÖ¼¼¿ä. ÀÚ¼¼ÇÑ ³»¿ëÀº ¡¸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 ±âÁØÀ¸·Î ¸ÕÀú Á¸ÀçÇÏ´Â °ª¿¡ Ãß°¡µË´Ï´Ù. ÁöÁ¤ÇÑ À̸§ÀÌ Áߺ¹ ÇÏ´Â °æ¿ì´Â ¹«½ÃµË´Ï´Ù.

À̸§Àº ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ ÁÖ¾îÁý´Ï´Ù. RFC 822, DNS, URI °¢ À̸§¿¡¼­´Â RFC 2459¿¡ Æ÷ÇԵǴ Á¦ÇÑ¿¡ µû¶ó, ¸íÈ®ÇÏ°Ô Á¤ÀÇµÈ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀÌ ÀÌ¿ëµË´Ï´Ù. IPv4 ÁÖ¼Ò¸íÀº ´åÀ¸·Î 4 °³¿¡ ´Ü¶ôÁö¾îÁø Ç¥±â¹ýÀÌ »ç¿ëµË´Ï´Ù. OID¸íÀº ÇǸ®¾îµå·Î ´Ü¶ôÁö¾îÁø ºÎ°¡ µÇÁö ¾Ê´Â ÀÏ·ÃÀÇ Á¤¼ö·Î¼­ ³ªÅ¸³»Áý´Ï´Ù. µð·ºÅ丮¸í (½Äº°¸í)Àº RFC 2253 ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀÌ µË´Ï´Ù. otherName, X. 400 ¸í, EDI »ó´ë¸í, IPv6 ÁÖ¼Ò¸í, ¶Ç´Â ±× ´Ù¸¥ ŸÀÔÀÇ À̸§¿¡ Ç¥ÁØÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀº ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ À̸§Àº addSubjectAlternativeName(int type, byte [] name) ¸Þ¼­µå¸¦ »ç¿ëÇØ ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÁÖ: ½Äº°¸í¿¡ ´ëÇؼ­´Â ´ë½Å¿¡ addSubjectAlternativeName(int, byte[])¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä. ÀÌ ¸Þ¼­µåÀÇ ½ÇÇà °á°ú¸¦ ½Å¿ëÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä. RFC 2253 ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ ±â¼úµÈ ÀϺÎÀÇ ½Äº°¸í¿¡¼­´Â encode Á¤º¸ÀÇ ¼Õ½Ç¿¡ÀÇÇØ ÀÎÁõ¼­ ÀÇ ÀÏÄ¡ 󸮿¡ ½ÇÆÐÇÒ °¡´É¼ºÀÌ Àֱ⠶§¹®¿¡ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
type - À̸§ÀÇ Å¸ÀÔ (0 ~ 8, RFC 2459 ¼½¼Ç 4.2. 1.7 À¸·Î ÁöÁ¤µÇ°í ÀÖ´Ù)
name - ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀÇ À̸§. 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 ±¸Á¶Ã¼ÀÇ À̸§¿¡ °ü·ÃµÈ űװ¡ Æ÷ÇԵǾî À־´Â ¾ÈµË´Ï´Ù. ÀÌ ±¸Á¶Ã¼ÀÇ 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ÀÌ ºñ¾îÀÖ´Â °æ¿ì, X509Certificate¿¡´Â ±× ÀÎÁõ¼­ Á¤Ã¥ ±â´ÉÈ®Àå³»·Î ÁöÁ¤ÇÑ Á¤Ã¥°¡ º¹¼ö Æ÷ÇԵǾî ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. certPolicySetÀÌ nullÀÎ °æ¿ì, Á¤Ã¥ ÀÇ Ã¼Å©´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

ÀÌÈÄÀÇ º¯°æÀ¸·ÎºÎÅÍ º¸È£Çϱâ À§Çؼ­ Set´Â º¹Á¦µÇ°í ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
certPolicySet - ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀÇ ÀÎÁõ¼­ Á¤Ã¥ 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)¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÁÖ: ½Äº°¸íÀº ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀº ¾Æ´Ï°í ¹ÙÀÌÆ® ¹è¿­ Çü½Ä¿¡¼­ ÁöÁ¤ÇØ ÁÖ¼¼¿ä. ÀÚ¼¼ÇÑ ³»¿ëÀº ¡¸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 ±âÁØÄ¡·Î ¸ÕÀú Á¸ÀçÇÏ´Â °ª¿¡ Ãß°¡µË´Ï´Ù. À̸§ÀÌ Áߺ¹ ÇÏ´Â °æ¿ì´Â ¹«½ÃµË´Ï´Ù.

À̸§Àº ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ ÁÖ¾îÁý´Ï´Ù. RFC 822, DNS, URI °¢ À̸§¿¡¼­´Â RFC 2459¿¡ Æ÷ÇԵǴ Á¦ÇÑ¿¡ µû¶ó, ¸íÈ®ÇÏ°Ô Á¤ÀÇµÈ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀÌ ÀÌ¿ëµË´Ï´Ù. IPv4 ÁÖ¼Ò¸íÀº ´åÀ¸·Î 4 °³¿¡ ´Ü¶ôÁö¾îÁø Ç¥±â¹ýÀÌ »ç¿ëµË´Ï´Ù. OID¸íÀº ÇǸ®¾îµå·Î ´Ü¶ôÁö¾îÁø ºÎ°¡ µÇÁö ¾Ê´Â ÀÏ·ÃÀÇ Á¤¼ö·Î¼­ ³ªÅ¸³»Áý´Ï´Ù. µð·ºÅ丮¸í (½Äº°¸í)Àº RFC 2253 ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀÌ µË´Ï´Ù. otherName, X. 400 ¸í, EDI »ó´ë¸í, IPv6 ÁÖ¼Ò¸í, ±× ´Ù¸¥ ŸÀÔÀÇ À̸§¿¡´Â Ç¥ÁØÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀº ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ À̸§Àº addPathToName(int type, byte [] name) ¸Þ¼­µå¸¦ »ç¿ëÇØ ÁöÁ¤µÉ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÁÖ: ½Äº°¸í¿¡ ´ëÇؼ­´Â ´ë½Å¿¡ addPathToName(int, byte[])¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä. ÀÌ ¸Þ¼­µåÀÇ ½ÇÇà °á°ú¸¦ ½Å¿ëÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä. RFC 2253 ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ ±â¼úµÈ ÀϺÎÀÇ ½Äº°¸í¿¡¼­´Â encode Á¤º¸ÀÇ ¼Õ½Ç¿¡ÀÇÇØ ÀÎÁõ¼­ ÀÇ ÀÏÄ¡ 󸮿¡ ½ÇÆÐÇÒ °¡´É¼ºÀÌ Àֱ⠶§¹®¿¡ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
type - À̸§ÀÇ Å¸ÀÔ (0 ~ 8, RFC 2459 ¼½¼Ç 4.2. 1.7 À¸·Î ÁöÁ¤µÇ°í ÀÖ´Ù)
name - ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀÇ À̸§
¿¹¿Ü:
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 ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ ±â¼úµÈ ÀϺÎÀÇ ½Äº°¸í¿¡¼­´Â 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 ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ ±â¼úµÈ ÀϺÎÀÇ ½Äº°¸í¿¡¼­´Â 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ÀÌ °ø¹éÀ̳ª nullÀÎ °æ¿ì, extendedKeyUsage üũ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù. extendedKeyUsage ±â´ÉÈ®ÀåÀÌ ¾ø´Â X509Certificate¿¡ ¼­´Â ¸ðµç Å° ¸ñÀûÀÌ ¾Ï¹¬ÀûÀ¸·Î À¯È¿ÇÕ´Ï´Ù.

¹Ýȯ°ª:
ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡ ÇÑ Å° ¸ñÀû OID ºÒº¯ÀÎ Set, ¶Ç´Â null
°ü·Ã Ç׸ñ:
setExtendedKeyUsage(java.util.Set)

getMatchAllSubjectAltNames

public boolean getMatchAllSubjectAltNames()
setSubjectAlternativeNames ¸Þ¼­µå ¶Ç´Â addSubjectAlternativeName ¸Þ¼­µå·Î ÁöÁ¤µÈ, X509Certificate¿¡ Æ÷Ç﵃ ÇÊ¿ä°¡ ÀÖ´Â subjectAlternativeNames ¼ö°¡ ¸ðµÎÀΰ¡ ¶Ç´Â Àû¾îµµ 1°³ Àΰ¡¸¦ ³ªÅ¸³À´Ï´Ù. trueÀÎ °æ¿ì, ÁöÁ¤ÇÑ ÇÇÀÎÁõÀÚÀÇ ´ëü¸íÀÌ ¸ðµÎ X509Certificate¿¡ Æ÷ÇԵǾî ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. falseÀÎ °æ¿ì, X509Certificate¿¡ ÁöÁ¤ÇÑ ÇÇÀÎÁõÀÚÀÇ ´ëü¸íÀÌ Àû¾îµµ 1°³ Æ÷ÇԵǾî ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
Ç÷¡±×°¡ »ç¿ë °¡´ÉÇÑ °æ¿ì´Â 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ÀÌ ºñ¾îÀÖ´Â °æ¿ì, X509Certificate¿¡´Â ±× ÀÎÁõ¼­ Á¤Ã¥ ±â´ÉÈ®Àå³»·Î ÁöÁ¤ÇÑ Á¤Ã¥°¡ º¹¼ö Æ÷ÇԵǾî ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¸®ÅÏµÈ SetÀÌ nullÀÎ °æ¿ì, Á¤Ã¥ ÀÇ Ã¼Å©´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.

¹Ýȯ°ª:
ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡ ÇÑ Å° ¸ñÀû 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 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.