|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.security.cert.Certificate | +--java.security.cert.X509Certificate
X. 509 Áõ¸í¼ÀÇ Ãß»ó Ŭ·¡½ºÀÔ´Ï´Ù. ÀÌ Å¬·¡½º´Â 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 Áõ¸í¼ÀÇ constructor ÀÔ´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
abstract void |
checkValidity ()
Áõ¸í¼°¡ ÇöÀç À¯È¿ÇÑÁö ¾î¶²Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. |
abstract void |
checkValidity (Date date)
ÁöÁ¤µÈ ÀÏÀÚ°¡, Áõ¸í¼ÀÇ À¯È¿±â°£³»ÀÏÁö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. |
abstract int |
getBasicConstraints ()
À§±âÀÎ BasicConstraints È®Àå ±â´É (OID = 2.5. 29.19)·ÎºÎÅÍ Áõ¸í¼ÀÇ Á¦¾àÀÇ ÆÐ½ºÀÇ ±æÀ̸¦ ÃëµæÇÕ´Ï´Ù.
|
List |
getExtendedKeyUsage ()
È®Àå¿¼è »ç¿ë¹ýÀÇ È®Àå ±â´É (OID = 2.5. 29.37)¿¡ ÀÖ´Â ExtKeyUsageSyntax ÇʵåÀÇ ¿ÀºêÁ§Æ® ½Äº°ÀÚ¸¦ ³ªÅ¸³»´Â º¯°æ ºÒ°¡´ÉÇÑ String ÀÇ ¸®½ºÆ®¸¦ ÃëµæÇÕ´Ï´Ù. |
Collection |
getIssuerAlternativeNames ()
IssuerAltName È®Àå ±â´É (OID = 2.5. 29.18)À¸·ÎºÎÅÍ, ¹ßÇàÀÚÀÇ ´ëü¸íÀÇ ºÒº¯ÀÎ ÄÝ·º¼ÇÀ» ÃëµæÇÕ´Ï´Ù.
|
abstract Principal |
getIssuerDN ()
Áõ¸í¼·ÎºÎÅÍ issuer (¹ßÇàÀÚ ½Äº°¸í) Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. |
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 ij¸¯ÅÍ ¶óÀÎÀ» ÃëµæÇÕ´Ï´Ù. |
abstract byte[] |
getSigAlgParams ()
ÀÌ Áõ¸í¼ÀÇ ¼¸í ¾Ë°í¸®ÁòÀ¸·ÎºÎÅÍ, DER ·Î encode µÈ ¼¸í ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÃëµæÇÕ´Ï´Ù. |
abstract byte[] |
getSignature ()
Áõ¸í¼·ÎºÎÅÍ signature Ä¡ (»ýÀÇ ÇüźøÆ®)¸¦ ÃëµæÇÕ´Ï´Ù. |
Collection |
getSubjectAlternativeNames ()
SubjectAltName È®Àå ±â´É (OID = 2.5. 29.17)À¸·ÎºÎÅÍ, ÇÇÀÎÁõÀÚÀÇ ´ëü¸íÀÇ ºÒº¯ÀÎ ÄÝ·º¼ÇÀ» ÃëµæÇÕ´Ï´Ù.
|
abstract Principal |
getSubjectDN ()
subject (ÇÇÀÎÁõÀÚÀÇ ½Äº°¸í)ÀÇ °ªÀ» Áõ¸í¼·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù. |
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 |
»ý¼ºÀÚÀÇ »ó¼¼ |
protected X509Certificate()
¸Þ¼ÒµåÀÇ »ó¼¼ |
public abstract void checkValidity() throws CertificateExpiredException , CertificateNotYetValidException
À¯È¿±â°£Àº Áõ¸í¼°¡ À¯È¿ÇÑ ÃÖÃÊÀÇ ÀÏ½Ã¿Í ¸¶Áö¸· ÀϽÃÀÇ 2 °³ÀÇ ÀϽÃÄ¡·ÎºÎÅÍ µË´Ï´Ù. À̰ÍÀº ASN. 1 À¸·Î ´ÙÀ½°ú °°ÀÌ Á¤Àǵǰí ÀÖ½À´Ï´Ù.
validity ValidityValidity ::= SEQUENCE { notBefore CertificateValidityDate, notAfter CertificateValidityDate }
CertificateValidityDate ::= CHOICE { utcTime UTCTime, generalTime GeneralizedTime }
CertificateExpiredException
- Áõ¸í¼ÀÇ À¯È¿±â°£ÀÌ ²÷¾îÁ® ÀÖ´Â °æ¿ì
CertificateNotYetValidException
- Áõ¸í¼°¡ ¾ÆÁ÷ À¯È¿ÇÏ°Ô µÇÁö ¾ÊÀº °æ¿ìpublic abstract void checkValidity(Date date) throws CertificateExpiredException , CertificateNotYetValidException
date
- ÁöÁ¤µÈ ÀϽÿ¡ ÀÌ Áõ¸í¼°¡ À¯È¿ÇÑÁö ¾î¶²Áö¸¦ Á¶»çÇÏ´Â Date
CertificateExpiredException
- ÁöÁ¤µÈ date
¿¡ Áõ¸í¼°¡ ±âÇÑ ¸¶°¨ÀÌ µÇ¾î ÀÖ´Â °æ¿ì
CertificateNotYetValidException
- ÁöÁ¤µÈ date
¿¡ Áõ¸í¼°¡ ¾ÆÁ÷ À¯È¿ÇÏ°Ô µÇÁö ¾ÊÀº °æ¿ìcheckValidity()
public abstract int getVersion()
version
(¹öÁ¯ ¹øÈ£) Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
version [0] EXPLICIT Version DEFAULT v1Version ::= INTEGER { v1(0), v2(1), v3(2) }
public abstract BigInteger getSerialNumber()
serialNumber
Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. ½Ã¸®¾ó ¹øÈ£´Â Áõ¸í¼ ¹ßÇà±¹¿¡ ÀÇÇØ °¢ Áõ¸í¼¿¡ ÇÒ´çÇÒ ¼ö ÀÖ´Â Á¤¼öÄ¡ÀÔ´Ï´Ù. ½Ã¸®¾ó ¹øÈ£´Â ÁöÁ¤µÈ CA ¿¡ ÀÇÇØ ¹ßÇàµÈ °¢ Áõ¸í¼¿¡ ´ëÇØ¼ ÀÏÀǰ¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï, ¹ßÇàÀÚ¸í°ú ½Ã¸®¾ó ¹øÈ£¿¡ ÀÇÇØ ÀÏÀÇÀÇ Áõ¸í¼°¡ ½Äº°µË´Ï´Ù. ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
serialNumber CertificateSerialNumberCertificateSerialNumber ::= INTEGER
public abstract Principal getIssuerDN()
issuer
(¹ßÇàÀÚ ½Äº°¸í) Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. ¹ßÇàÀÚ¸íÀº Áõ¸í¼ÀÇ ¼¸í°ú ¹ßÇàÀ» ÇàÇÑ ¿£Æ¼Æ¼¸¦ ½Äº°ÇÕ´Ï´Ù.
¹ßÇàÀÚ¸í Çʵ忡´Â X. 500 ½Äº°¸í (DN)ÀÌ ÀúÀåµË´Ï´Ù. ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
issuer NameName ::= CHOICE { RDNSequence } RDNSequence ::= SEQUENCE OF RelativeDistinguishedName RelativeDistinguishedName ::= SET OF AttributeValueAssertion AttributeValueAssertion ::= SEQUENCE { AttributeType, AttributeValue } AttributeType ::= OBJECT IDENTIFIER AttributeValue ::= ANY
Name
¿¡´Â ±¹¸íµîÀÇ ¼Ó¼º°ú °Å±â¿¡ ´ëÀÀÇÏ´Â US µîÀÇ °ªÀ¸·ÎºÎÅÍ µÇ´Â °èÃþÀûÀÎ À̸§À» ±â¼úÇÕ´Ï´Ù. AttributeValue
ÄÄÆÛ³ÍÆ®ÀÇ Å¸ÀÔÀº AttributeType
¿¡ ÀÇÇØ Á¤ÇØÁý´Ï´Ù. ÀϹÝÀûÀ¸·Î´Â directoryString
ÀÔ´Ï´Ù. directoryString
Àº Åë»ó PrintableString
,TeletexString
,UniversalString
ÀÇ ¾î¶² °ÍÀΰ¡ÀÔ´Ï´Ù.
public X500Principal getIssuerX500Principal()
X500Principal
·Î¼ µ¹·ÁÁÝ´Ï´Ù.
X500Principal
public abstract Principal getSubjectDN()
subject
(ÇÇÀÎÁõÀÚÀÇ ½Äº°¸í)ÀÇ °ªÀ» Áõ¸í¼·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù. subject
ÀÇ °ªÀÌ ºñ¾úÀ» °æ¿ì, µ¹·ÁÁÖ¾îÁö´Â Principal
¿ÀºêÁ§Æ®ÀÇ getName()
¸Þ¼Òµå´Â ÇÏ´ÃÀÇ Ä³¸¯ÅÍ ¶óÀÎ ("")À» µ¹·ÁÁÝ´Ï´Ù.
ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
subject Name
Name
¹× ±× ¿ÜÀÇ °ü·ÃÇÏ´Â Á¤ÀÇ¿¡ ´ëÇØ¼´Â getIssuerDN
¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
public X500Principal getSubjectX500Principal()
X500Principal
·Î¼ µ¹·ÁÁÝ´Ï´Ù. ÇÇÀÎÁõÀÚÀÇ °ªÀÌ ºñ¾úÀ» °æ¿ì, µ¹·ÁÁÖ¾îÁö´Â X500Principal
¿ÀºêÁ§Æ®ÀÇ getName()
¸Þ¼Òµå´Â ÇÏ´ÃÀÇ Ä³¸¯ÅÍ ¶óÀÎ ("")À» µ¹·ÁÁÝ´Ï´Ù.
X500Principal
public abstract Date getNotBefore()
notBefore
ÀÇ ÀÏÀÚ¸¦ ÃëµæÇÕ´Ï´Ù. ÇØ´çÇÏ´Â ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
validity ValidityValidity ::= SEQUENCE { notBefore CertificateValidityDate, notAfter CertificateValidityDate }
CertificateValidityDate ::= CHOICE { utcTime UTCTime, generalTime GeneralizedTime }
checkValidity()
public abstract Date getNotAfter()
notAfter
ÀÇ ÀÏÀÚ¸¦ ÃëµæÇÕ´Ï´Ù. ÇØ´çÇÏ´Â ASN. 1 Á¤ÀÇ¿¡ ´ëÇØ¼´Â getNotBefore
¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
checkValidity()
public abstract byte[] getTBSCertificate() throws CertificateEncodingException
tbsCertificate
¸¦ ÃëµæÇÕ´Ï´Ù. À̰ÍÀº ¼¸íÀ» °³º°ÀûÀ¸·Î °ËÁõÇϱâ À§Çؼ »ç¿ëµË´Ï´Ù.
CertificateEncodingException
- encode ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic abstract byte[] getSignature()
signature
Ä¡ (»ýÀÇ ÇüźøÆ®)¸¦ ÃëµæÇÕ´Ï´Ù. ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
signature BIT STRING
public abstract String getSigAlgName()
signatureAlgorithm AlgorithmIdentifierAlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL } -- contains a value of the type -- registered for use with the -- algorithm object identifier value
¾Ë°í¸®Áò¸íÀº algorithm
OID ij¸¯ÅÍ ¶óÀÎÀ¸·ÎºÎÅÍ ÆÇÁ¤µË´Ï´Ù.
public abstract String getSigAlgOID()
°ü·ÃÇÏ´Â ASN. 1 Á¤ÀÇ¿¡ ´ëÇØ¼´Â getSigAlgName
¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
public abstract byte[] getSigAlgParams()
AlgorithmParameters
¸¦ »ç¿ëÇØ,getSigAlgName
¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â À̸§À» »ç¿ëÇØ ÀνºÅϽº¸¦ »ý¼ºÇÕ´Ï´Ù.
°ü·ÃÇÏ´Â ASN. 1 Á¤ÀÇ¿¡ ´ëÇØ¼´Â getSigAlgName
¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
public abstract boolean[] getIssuerUniqueID()
issuerUniqueID
Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. ¹ßÇàÀÚ °íÀ¯ÀÇ ½Äº°ÀÚ´Â ¹ßÇàÀÚ¸íÀÌ ¹Ýº¹ÇØ Àç»ç¿ëµÉ °¡´É¼º¿¡ ´ëóÇϱâ À§Çؼ, Áõ¸í¼¿¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù. RFC 2459 ¿¡¼´Â À̸§À» Àç»ç¿ëÇÏÁö ¾Ê´Â °Í, ¹× ÁذÅÇÏ´Â Áõ¸í¼°¡ ÀÏÀÇÀÇ ½Äº°ÀÚ¸¦ »ç¿ëÇÏÁö ¾Ê´Â °ÍÀ» Ãßõ Çϰí ÀÖ½À´Ï´Ù. ±× ÇÁ·ÎÆÄÀÏ¿¡ ÁذÅÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀº ÀÏÀÇÀÇ ½Äº°ÀÚ¸¦ ÇØ¼® ¹× ºñ±³ÇÒ ¼ö ÀÖ´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.
ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONALUniqueIdentifier ::= BIT STRING
public abstract boolean[] getSubjectUniqueID()
subjectUniqueID
Ä¡¸¦ ÃëµæÇÕ´Ï´Ù.
ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONALUniqueIdentifier ::= BIT STRING
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 ¿¡¼´Â À̰ÍÀ» »ç¿ëÇÏ´Â °æ¿ì´Â À§±âÀÎ È®ÀåÀ¸·Î¼ ¸¶Å· ÇÏ´Â °ÍÀ» Ãßõ Çϰí ÀÖ½À´Ï´Ù.
public List getExtendedKeyUsage() throws CertificateParsingException
ExtKeyUsageSyntax
ÇʵåÀÇ ¿ÀºêÁ§Æ® ½Äº°ÀÚ¸¦ ³ªÅ¸³»´Â º¯°æ ºÒ°¡´ÉÇÑ String ÀÇ ¸®½ºÆ®¸¦ ÃëµæÇÕ´Ï´Ù. À̰ÍÀº ¿¼è »ç¿ë¹ýÀÇ È®Àå ±â´É Çʵ忡 ³ªÅ¸³ª°í ÀÖ´Â ±âº»ÀûÀÎ ¸ñÀû¿¡ °¡¼¼ÇØ, ȤÀº ±× ±âº»ÀûÀÎ ¸ñÀû ´ë½Å¿¡, °ø°³¿¼è°¡ »ç¿ëµÇ´Â ¸ñÀû (º¹¼ö°¡´É)À» ³ªÅ¸³À´Ï´Ù.
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId¿¼èÀÇ ¸ñÀûÀº ¿ä±¸¿¡ ¸ÂÃß¾î Á¶Á÷À¸·Î Á¤ÀÇÇÕ´Ï´Ù. ¿¼èÀÇ ¸ñÀûÀ» ƯÁ¤ÇÏ´Â ¿ÀºêÁ§Æ® ½Äº°ÀÚ´Â IANA ¶Ç´Â ITU-T ÀÇ Rec. X. 660, ȤÀº ISO/IEC/ITU 9834-1 ¿¡ µû¶ó ÇÒ´çÇÒ ¼ö ¾øÀ¸¸é ¾ÈµË´Ï´Ù.KeyPurposeId ::= OBJECT IDENTIFIER
ÀÌ ¸Þ¼Òµå´Â Java 2 Platform Standard Edition ÀÇ ¹öÁ¯ 1.4 ·Î Ãß°¡µÇ¾ú½À´Ï´Ù. ±âÁ¸ÀÇ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¿ÍÀÇ ÇÏÀ§ ȣȯ¼ºÀ» À¯ÁöÇϱâ À§Çؼ,abstract
¿¡´Â ÇÏÁö ¸øÇϰí, µðÆúÆ®ÀÇ ±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. ¼ºê Ŭ·¡½º´Â ¿Ã¹Ù¸¥ ±¸ÇöÀ¸·Î ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
CertificateParsingException
- È®Àå ±â´ÉÀÌ º¹È£È(decode) ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì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 }
pathLenConstraint
ÀÇ °ª, ÇÇÀÎÁõÀÚ°¡ CA ·Î pathLenConstraint
°¡ Ç¥½ÃµÇÁö ¾Ê´Â °æ¿ì´Â ÀÎÁõ ÆÐ½ºÀÇ ±æÀÌ¿¡ Á¦ÇÑÀÌ ¾ø´Â °ÍÀÌ °¡¸®Å°±â (À§ÇØ)¶§¹®¿¡ Integer.MAX_VALUE
°¡ µ¹·ÁÁÖ¾îÁø´Ùpublic Collection 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 kr·Î ºÐÇÒÇϰí ÀÖ½À´Ï´Ù. OID¸íÀº ÇǸ®¾îµå·Î ´Ü¶ôÁö¾îÁø ºÎ°¡ µÇÁö ¾Ê´Â ÀÏ·ÃÀÇ Á¤¼ö·Î ³ªÅ¸³»Áö´Â String
·Î¼ µ¹·ÁÁÖ¾îÁý´Ï´Ù. µð·ºÅ丮¸í (½Äº°¸í)Àº RFC 2253 ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀ¸·Î¼ µ¹·ÁÁÖ¾îÁý´Ï´Ù. otherName, X. 400 ¸í, EDI »ó´ë¸í, ±× ´Ù¸¥ ŸÀÔÀÇ À̸§¿¡´Â Ç¥ÁØÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀº ¾ø½À´Ï´Ù. À̸§ÀÇ ASN. 1 DER encode Çü½ÄÀ» Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿·Î¼ µ¹·ÁÁÖ¾îÁý´Ï´Ù.
µ¹·ÁÁÖ¾îÁö´Â Collection
¿¡´Â °°Àº ŸÀÔÀ¸·Î 1 °³ ÀÌ»óÀÇ À̸§ÀÌ Æ÷ÇԵǾî ÀÖ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¶Ç, µ¹·ÁÁÖ¾îÁö´Â Collection
´Â ºÒº¯À̸ç, ¹ÙÀÌÆ® ¹è¿À» Æ÷ÇÔÇÑ ¿£Æ®¸®´Â ¸ðµÎ ÀÌÈÄÀÇ º¯°æÀ¸·ÎºÎÅÍ º¸È£Çϱâ À§Çؼ º¹Á¦µÇ°í ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â Java 2 Platform Standard Edition ÀÇ ¹öÁ¯ 1.4 ·Î Ãß°¡µÇ¾ú½À´Ï´Ù. ±âÁ¸ÀÇ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¿ÍÀÇ ÇÏÀ§ ȣȯ¼ºÀ» À¯ÁöÇϱâ À§Çؼ,abstract
¿¡´Â ÇÏÁö ¸øÇϰí, µðÆúÆ®ÀÇ ±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. ¼ºê Ŭ·¡½º´Â ¿Ã¹Ù¸¥ ±¸ÇöÀ¸·Î ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
Collection
. ¶Ç´Â null
CertificateParsingException
- È®Àå ±â´ÉÀÌ º¹È£È(decode) ÇÒ ¼ö ¾ø¾ú´ø °æ¿ìpublic Collection 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
- È®Àå ±â´ÉÀÌ º¹È£È(decode) ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.