JavaTM 2 Platform
Standard Ed. 5.0

java.security.cert
ÀÎÅÍÆäÀ̽º X509Extension

¾Ë·ÁÁø ±¸Çö Ŭ·¡½º ¸ñ·Ï:
X509Certificate, X509CRL, X509CRLEntry

public interface X509Extension

X. 509 È®Àå ±â´ÉÀ» À§ÇÑ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.

X. 509 v3 Certificates ¹× v2 CRL (ÀÎÁõ¼­ ÀÇ Ãë¼Ò ¸®½ºÆ®)·Î Á¤ÀǵǴ ȮÀå ±â´ÉÀº Ãß°¡ ¼Ó¼ºÀ» »ç¿ëÀÚ ¶Ç´Â °ø°³Å°¿¡ °ü·ÃÁþ°Å³ª ÀÎÁõÀÇ °èÃþÀ» °ü¸®Çϰųª CRL ¹èÆ÷¸¦ °ü¸®Çϰųª ÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ¶Ç, X. 509 È®Àå ±â´É Çü½Ä¿¡¼­´Â Ä¿¹Â´ÏƼ¿¡ °íÀ¯ÀÇ Á¤º¸¸¦ ÀüÇϱâ À§Çؼ­ Ä¿¹Â´ÏƼ Àü¿ëÀÇ È®Àå ±â´ÉÀ» Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÀÎÁõ¼­ ¶Ç´Â CRL °¢ È®Àå ±â´ÉÀº À§±â¶ó°í Çصµ ºñÀ§±â¶ó°í Çصµ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÎÁõ¼­ ¶Ç´Â CRL¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛ (ÀÎÁõ¼­ ¶Ç´Â CRL Ÿ´ç¼ºÀ» °ËÁõÇÏ´Â ¾îÇø®ÄÉÀ̼Ç)À¸·Î ÀνÄÇÒ ¼ö ¾ø´Â À§±âÀÎ È®Àå ±â´ÉÀÌ °ËÃâµÇ¾úÀ» ¶§¿¡´Â ±× ÀÎÁõ¼­ ¶Ç´Â CRL¸¦ °ÅºÎÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. À§±â°¡ ¾Æ´Ñ È®Àå ±â´ÉÀº ÀνÄÇÒ ¼ö ¾ø´Â °æ¿ì´Â ¹«½ÃÇصµ ±¦Âú½À´Ï´Ù.

ASN. 1 Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.


 Extensions  ::=  SEQUENCE SIZE (1..MAX) OF Extension

 Extension  ::=  SEQUENCE  {
     extnId        OBJECT IDENTIFIER,
     critical      BOOLEAN DEFAULT FALSE,
     extnValue     OCTET STRING
                   -- contains a DER encoding of a value
                   -- of the type registered for use with
                   -- the extnId object identifier value
 }
 
¸ðµç È®Àå ±â´ÉÀÌ Àνĵǰí ÀÖ´Â °ÍÀº ¾Æ´Ï±â ¶§¹®¿¡ getExtensionValue ¸Þ¼­µå´Â È®ÀåÄ¡ (extnValue)ÀÇ DER ·Î encode µÈ OCTET STRING¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ°ÍÀº È®Àå ±â´ÉÀ» ÀνÄÇÒ ¼ö ÀÖ´Â Class¿¡ ÀÇÇØ Ã³¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.


¸Þ¼­µå °³¿ä
 Set <String > getCriticalExtensionOIDs ()
          ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °´Ã¼¿¡ ÀÇÇØ °ü¸®µÇ°í ÀÖ´Â ÀÎÁõ¼­ ¶Ç´Â CRL ·Î CRITICAL ·Î¼­ ¸¶Å· µÇ°í ÀÖ´Â È®ÀåÀÇ OID ij¸¯ÅÍ ¶óÀÎÀÇ Set¸¦ ÃëµæÇÕ´Ï´Ù.
 byte[] getExtensionValue (String  oid)
          °Ç³×¹ÞÀº oid String ·Î ½Äº°µÇ´Â È®ÀåÄ¡ (extnValue)ÀÇ, DER ·Î encode µÈ OCTET ij¸¯ÅÍ ¶óÀÎÀ» ÃëµæÇÕ´Ï´Ù.
 Set <String > getNonCriticalExtensionOIDs ()
          ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °´Ã¼¿¡ ÀÇÇØ °ü¸®µÇ°í ÀÖ´Â ÀÎÁõ¼­ ¶Ç´Â CRL ·Î NON-CRITICAL ·Î¼­ ¸¶Å· µÇ°í ÀÖ´Â È®Àå ±â´ÉÀÇ OID ij¸¯ÅÍ ¶óÀÎÀÇ Set¸¦ ÃëµæÇÕ´Ï´Ù.
 boolean hasUnsupportedCriticalExtension ()
          Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº À§±âÀÎ È®Àå ±â´ÉÀÌ ÀÖ´ÂÁö¸¦ üũÇÕ´Ï´Ù.
 

¸Þ¼­µåÀÇ »ó¼¼

hasUnsupportedCriticalExtension

boolean hasUnsupportedCriticalExtension()
Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº À§±âÀÎ È®Àå ±â´ÉÀÌ ÀÖ´ÂÁö¸¦ üũÇÕ´Ï´Ù.

¹Ýȯ°ª:
Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº À§±âÀÎ È®Àå ±â´ÉÀÌ ¹ß°ßµÇ¾úÀ» °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

getCriticalExtensionOIDs

Set <String > getCriticalExtensionOIDs()
ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °´Ã¼¿¡ ÀÇÇØ °ü¸®µÇ°í ÀÖ´Â ÀÎÁõ¼­ ¶Ç´Â CRL ·Î CRITICAL ·Î¼­ ¸¶Å· µÇ°í ÀÖ´Â È®ÀåÀÇ OID ij¸¯ÅÍ ¶óÀÎÀÇ Set¸¦ ÃëµæÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ÄÚµù¿¹´Â X509Certificate ·ÎºÎÅÍ À§±âÀÎ È®Àå ±â´ÉÀÇ Set¸¦ ÃëµæÇØ, OID¸¦ Ãâ·ÂÇÏ´Â ¿¹ÀÔ´Ï´Ù.

 InputStream inStrm = new FileInputStream("DER-encoded-Cert");
 CertificateFactory cf = CertificateFactory.getInstance("X. 509");
 X509Certificate cert = (X509Certificate) cf.generateCertificate(inStrm);
 inStrm.close();

Set critSet = cert.getCriticalExtensionOIDs(); if (critSet ! = null && ! critSet.isEmpty()) { System.out.println("Set of critical extensions:"); for (Iterator i = critSet.iterator(); i.hasNext();) { String oid = (String) i.next(); System.out.println(oid); } }

¹Ýȯ°ª:
À§±â·Î¼­ ¸¶Å· µÇ°í ÀÖ´Â È®Àå ±â´ÉÀÇ È®Àå OID ij¸¯ÅÍ ¶óÀÎÀÇ Set. À§±â·Î¼­ ¸¶Å· µÇ°í ÀÖ´Â È®Àå ±â´ÉÀÌ ¾ø´Â °æ¿ì´Â ºñ¾îÀÖ´Â Set. È®Àå ±â´ÉÀÌ ¾ø´Â °æ¿ì´Â null

getNonCriticalExtensionOIDs

Set <String > getNonCriticalExtensionOIDs()
ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °´Ã¼¿¡ ÀÇÇØ °ü¸®µÇ°í ÀÖ´Â ÀÎÁõ¼­ ¶Ç´Â CRL ·Î NON-CRITICAL ·Î¼­ ¸¶Å· µÇ°í ÀÖ´Â È®Àå ±â´ÉÀÇ OID ij¸¯ÅÍ ¶óÀÎÀÇ Set¸¦ ÃëµæÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ÄÚµù¿¹´Â X509CRL Ãë¼Ò ÀÎÁõ¼­ ¿£Æ®¸®·ÎºÎÅÍ ºñÀ§±âÀÎ È®Àå ±â´ÉÀÇ Set¸¦ ÃëµæÇØ, OID¸¦ Ãâ·ÂÇÏ´Â ¿¹ÀÔ´Ï´Ù.

 InputStream inStrm = new FileInputStream("DER-encoded-CRL");
 CertificateFactory cf = CertificateFactory.getInstance("X. 509");
 X509CRL crl = (X509CRL) cf.generateCRL(inStrm);
 inStrm.close();

byte[] certData = <DER-encoded certificate data> ByteArrayInputStream bais = new ByteArrayInputStream(certData); X509Certificate cert = (X509Certificate) cf.generateCertificate(bais); bais.close(); X509CRLEntry badCert = crl.getRevokedCertificate(cert.getSerialNumber());

if (badCert ! = null) { Set nonCritSet = badCert.getNonCriticalExtensionOIDs();

if (nonCritSet ! = null) for (Iterator i = nonCritSet.iterator(); i.hasNext();) { String oid = (String) i.next(); System.out.println(oid); } }

¹Ýȯ°ª:
ºñÀ§±â·Î¼­ ¸¶Å· µÇ°í ÀÖ´Â È®Àå ±â´ÉÀÇ È®Àå OID ij¸¯ÅÍ ¶óÀÎÀÇ Set. ºñÀ§±â·Î¼­ ¸¶Å· µÇ°í ÀÖ´Â È®Àå ±â´ÉÀÌ ¾ø´Â °æ¿ì´Â ºñ¾îÀÖ´Â Set. È®ÀåÀÌ ¾ø´Â °æ¿ì´Â null

getExtensionValue

byte[] getExtensionValue(String  oid)
°Ç³×¹ÞÀº oid String ·Î ½Äº°µÇ´Â È®ÀåÄ¡ (extnValue)ÀÇ, DER ·Î encode µÈ OCTET ij¸¯ÅÍ ¶óÀÎÀ» ÃëµæÇÕ´Ï´Ù. oid ij¸¯ÅÍ ¶óÀÎÀº ÇǸ®¾îµå·Î ´Ü¶ôÁö¾îÁø Á¤ÀÇ Á¤¼ö¼¼Æ®¿¡ ÀÇÇØ ³ªÅ¸³»Áý´Ï´Ù.

·Ê:

OID (°´Ã¼ ½Äº°ÀÚ) È®Àå ±â´É¸í
2.5. 29.14 SubjectKeyIdentifier
2.5. 29.15 KeyUsage
2.5. 29.16 PrivateKeyUsage
2.5. 29.17 SubjectAlternativeName
2.5. 29.18 IssuerAlternativeName
2.5. 29.19 BasicConstraints
2.5. 29.30 NameConstraints
2.5. 29.33 PolicyMappings
2.5. 29.35 AuthorityKeyIdentifier
2.5. 29.36 PolicyConstraints

ÆĶó¹ÌÅÍ:
oid - È®Àå ±â´ÉÀÇ °´Ã¼ ½Äº°ÀÚÀÇ °ª
¹Ýȯ°ª:
È®ÀåÄ¡ÀÇ DER ·Î encode µÈ 8Áßâ ij¸¯ÅÍ ¶óÀÎ. ÀÌ Ä³¸¯ÅÍ ¶óÀÎÀÌ ¾ø´Â °æ¿ì´Â null

JavaTM 2 Platform
Standard Ed. 5.0

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