|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjavax.security.cert.Certificate
javax.security.cert.X509Certificate
public abstract class X509Certificate
X. 509 v1 ÀÎÁõ¼ ÀÇ abstract Ŭ·¡½ºÀÔ´Ï´Ù. X. 509 ÀÎÁõ¼ ÀÇ ¹öÀü 1 ¼Ó¼º¿¡ ¾×¼¼½º Çϴ ǥÁØÀûÀÎ ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. X. 509 v2 ³ª v3¿¡ °íÀ¯ÀÇ ¼Ó¼ºÀº ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ¼´Â ÀÌ¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. Àå·¡ÀÇ API Àü°³¿¡¼´Â ¿ÏÀüÇÑ X. 509 v3 ¼Ó¼º¿¡ÀÇ Ç® ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù.
±âº»ÀûÀÎ X. 509 Çü½ÄÀº 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¿¡ ÀÇÇØ ¼¸íµÇ°í ÀÖ½À´Ï´Ù.
tbsCertificate
ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
TBSCertificate ::= SEQUENCE { version [0] EXPLICIT Version DEFAULT v1, serialNumber CertificateSerialNumber, signature AlgorithmIdentifier, issuer Name, validity Validity, subject Name, subjectPublicKeyInfo SubjectPublicKeyInfo, }
X. 509 ÀÎÁõ¼¸¦ ÀνºÅϽºÈÇÏ´Â ÄÚµù¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
InputStream inStream = new FileInputStream("fileName-of-cert"); X509Certificate cert = X509Certificate.getInstance(inStream); inStream.close();¶Ç´Â
byte[] certData = <certificate read from a file, say> X509Certificate cert = X509Certificate.getInstance(certData);
¾î´À ÂÊÀÇ °æ¿ìµµ, X. 509 ÀÎÁõ¼¸¦ ÀνºÅϽºÈÇÏ´Â ÄÚµå´Â ½ÇÁ¦ÀÇ ±¸ÇöÀ» ƯÁ¤Çϰųª µðÆúÆ® ±¸ÇöÀ¸·Î ÃʱâÈÇϰųª Çϴµ¥ Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏÀ» »ç¿ëÇÕ´Ï´Ù.
Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏÀº <JAVA_HOME>/lib/security/java.security ¶ó°í ÇÏ´Â ÆÄÀÏÀÔ´Ï´Ù. <JAVA_HOME>´Â JDK°¡ ÀνºÅç µÇ°í ÀÖ´Â µð·ºÅ丮¸¦ °¡¸®Åµ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏ¿¡¼´Â X. 509 v1 µðÆúÆ® ±¸ÇöÀÌ ´ÙÀ½°ú °°ÀÌ Á¤Àǵ˴ϴÙ.
cert.provider.x509v1=com.sun.security.cert.internal.x509.X509V1CertImpl
´Ù¸¥ ±¸ÇöÀ» ÀνºÅϽºÈÇÒ ¶§´Â ÀÌ cert.provider.x509v1
ÇÁ·ÎÆÛƼÀÇ °ªÀ» º¯°æÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ ÇÁ·ÎÆÛƼ ÆÄÀÏÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â µðÆúÆ® ±¸ÇöÀÌ »ç¿ëµË´Ï´Ù. ÇöÀç·Î¼´Â ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ¿¡ ¾×¼¼½º Çϴµ¥ ½ÃÅ¥·¯Æ¼ Á¦ÇÑÀÌ ÀÖÀ» ¿ì·Á°¡ Àֱ⠶§¹®¿¡
ÀÌ °ªÀº Ŭ·¡½º°¡ Ãʱâ鵃 ¶§ Á¶»ç, ij½¬µÇ¾î ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ¿¡ ¾×¼¼½º ÇÒ ¼ö ¾ø´Â °æ¿ì´Â µðÆúÆ® ±¸ÇöÀÌ ´ë½Å¿¡ »ç¿ëµË´Ï´Ù.
ÁÖ: ÆÐŰÁö javax.security.cert
Ŭ·¡½º´Â ±¸¹öÀüÀÇ Java Secure Sockets Extension (JSSE)¿ÍÀÇ È£È¯¼ºÀ» À§Çؼ Á¸ÀçÇÕ´Ï´Ù. »õ·Ó°Ô ÀÛ¼ºÇÏ´Â ¾îÇø®ÄÉÀ̼ǿ¡¼´Â java.security.cert
¿¡ Àִ ǥÁØ J2SE ÀÎÁõ¼
Ŭ·¡½º¸¦ ÀÌ Å¬·¡½º ´ë½Å¿¡ »ç¿ëÇØ ÁÖ¼¼¿ä.
Certificate
,
X509Extension
»ý¼ºÀÚ °³¿ä | |
---|---|
X509Certificate ()
|
¸Þ¼µå °³¿ä | |
---|---|
abstract void |
checkValidity ()
ÀÎÁõ¼°¡ ÇöÀç À¯È¿ÇÑÁö ¾î¶²Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. |
abstract void |
checkValidity (Date date)
ÁöÁ¤µÈ ³¯Â¥¿Í ½Ã°£°¡ ÀÎÁõ¼ ÀÇ À¯È¿±â°£³»ÀÏÁö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. |
static X509Certificate |
getInstance (byte[] certData)
X509Certificate °´Ã¼¸¦ ÀνºÅϽºÈÇØ, ÁöÁ¤ÇÑ ¹ÙÀÌÆ® ¹è¿·Î ÃʱâÈÇÕ´Ï´Ù. |
static X509Certificate |
getInstance (InputStream inStream)
X509Certificate °´Ã¼¸¦ ÀνºÅϽºÈÇØ, ÀÔ·Â ½ºÆ®¸² inStream ·Î
ºÎÅÍ ÀоÁø µ¥ÀÌÅÍ·Î ÃʱâÈÇÕ´Ï´Ù. |
abstract Principal |
getIssuerDN ()
ÀÎÁõ¼ ·ÎºÎÅÍ issuer (¹ßÇàÀÚ ½Äº°¸í) Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. |
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 Principal |
getSubjectDN ()
ÀÎÁõ¼ ·ÎºÎÅÍ subject (ÇÇÀÎÁõÀÚ ½Äº°¸í) Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. |
abstract int |
getVersion ()
ÀÎÁõ¼ ·ÎºÎÅÍ version (¹öÀü
¹øÈ£) Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. |
Ŭ·¡½º javax.security.cert. Certificate ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
equals,
getEncoded,
getPublicKey,
hashCode,
toString,
verify,
verify |
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
clone,
finalize,
getClass,
notify,
notifyAll,
wait,
wait,
wait |
»ý¼ºÀÚ »ó¼¼ |
---|
public X509Certificate()
¸Þ¼µåÀÇ »ó¼¼ |
---|
public static final X509Certificate getInstance(InputStream inStream) throws CertificateException
inStream
·Î
ºÎÅÍ ÀоÁø µ¥ÀÌÅÍ·Î ÃʱâÈÇÕ´Ï´Ù. ÀÌ ±¸Çö (X509Certificate´Â abstract Ŭ·¡½º)Àº ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏ·Î cert.provider.x509v1
ÇÁ·ÎÆÛƼÀÇ °ªÀ¸·Î ÇØ¼ ÁöÁ¤ÇÑ Å¬·¡½º¿¡ ÀÇÇØ Á¦°øµË´Ï´Ù.
ÁÖ:
1°³ÀÇ DER encode ÀÎÁõ¼
¸¸ÀÌ ÀÔ·Â ½ºÆ®¸²ÀÎ °ÍÀÌ ÀüÁ¦°¡ µË´Ï´Ù. ¶Ç, ¸ðµç X509Certificate ¼ºê Ŭ·¡½º¿¡¼´Â ´ÙÀ½ÀÇ Çü½ÄÀÇ »ý¼ºÀÚ¸¦ Á¦°øÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
public <subClass>(InputStream inStream) ...
inStream
- ÀÎÁõ¼¸¦ ÃʱâÈÇϱâ À§Çؼ ÀоÁö´Â µ¥ÀÌÅ͸¦ º¸°ü À¯ÁöÇÏ´Â ÀÔ·Â ½ºÆ®¸²
CertificateException
- Ŭ·¡½ºÀÇ ÃʱâȽÃ, ¶Ç´Â ÀÎÁõ¼
ÀÇ ÇØ¼®½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic static final X509Certificate getInstance(byte[] certData) throws CertificateException
cert.provider.x509v1
ÇÁ·ÎÆÛƼÀÇ °ªÀ¸·Î ÇØ¼ ÁöÁ¤ÇÑ Å¬·¡½º¿¡ ÀÇÇØ Á¦°øµË´Ï´Ù.
ÁÖ:
¸ðµç X509Certificate ¼ºê Ŭ·¡½º¿¡¼´Â ´ÙÀ½ÀÇ Çü½ÄÀÇ »ý¼ºÀÚ¸¦ Á¦°øÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
public <subClass>(InputStream inStream) ...
certData
- DER encode µÈ ÀÎÁõ¼¸¦ Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿
certData
·Î
ºÎÅÍÀÇ µ¥ÀÌÅÍ·Î ÃʱâÈµÈ X509Certificate °´Ã¼
CertificateException
- Ŭ·¡½ºÀÇ ÃʱâȽÃ, ¶Ç´Â ÀÎÁõ¼
ÀÇ ÇØ¼®½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì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 abstract Principal getSubjectDN()
subject
(ÇÇÀÎÁõÀÚ ½Äº°¸í) Ä¡¸¦ ÃëµæÇÕ´Ï´Ù. ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
subject Name
Name
¹× ±× ¿ÜÀÇ °ü·ÃµÈ Á¤ÀÇ¿¡ ´ëÇØ¼´Â getIssuerDN ¸¦ ÂüÁ¶ÇϽʽÿÀ.
getIssuerDN()
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 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()
°ü·ÃµÈ ASN. 1 Á¤ÀÇ¿¡ ´ëÇØ¼´Â getSigAlgName ¸¦ ÂüÁ¶ÇϽʽÿÀ.
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.