JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.security.cert
Ŭ·¡½º CertificateFactory

java.lang.Object 
  |
  +--java.security.cert.CertificateFactory

public class CertificateFactory
extends Object

Áõ¸í¼­ ÆÑÅ丮ÀÇ ±â´ÉÀ» Á¤ÀÇÇÕ´Ï´Ù. Áõ¸í¼­ ÆÑÅ丮´Â Áõ¸í¼­ ¿ÀºêÁ§Æ®, Áõ¸í¼­ ÆÐ½º (CertPath) ¹× Áõ¸í¼­ÀÇ Ãë¼Ò ¸®½ºÆ® (CRL) ¿ÀºêÁ§Æ®¸¦ ºÎÈ£·ÎºÎÅÍ »ý¼ºÇϱâ À§Çؼ­ »ç¿ëÇÕ´Ï´Ù.

º¹¼öÀÇ Áõ¸í¼­·ÎºÎÅÍ µÇ´Â ºÎÈ£¿¡¼­´Â ¹«°ü°è¶ó°í »ý°¢µÇ´Â Áõ¸í¼­ÀÇ ÄÝ·º¼ÇÀ» ±¸¹® ºÐ¼® ÇÒ °æ¿ì¿¡ generateCertificates ¸¦ »ç¿ëÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â CertPath (Áõ¸í¼­ ÃÖÀÎ)¸¦ »ý¼ºÇØ CertPathValidator ·Î °ËÁõÇÒ °æ¿ì¿¡ generateCertPath ¸¦ »ç¿ëÇÕ´Ï´Ù.

X. 509 ÀÇ Áõ¸í¼­ ÆÑÅ丮´Â java.security.cert.X509Certificate ÀÇ ÀνºÅϽºÀÎ Áõ¸í¼­¿Íjava.security.cert.X509CRL ÀÇ ÀνºÅϽºÀÎ CRL ¸¦ µ¹·ÁÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù.

´ÙÀ½ÀÇ ¿¹´Â Base64 ·Î encode µÈ Áõ¸í¼­¸¦ °¡Áö´Â ÆÄÀÏÀ» Àоî³À´Ï´Ù. ÀÌ·¯ÇÑ Áõ¸í¼­´Â ¼±µÎ°¡ -----BEGIN CERTIFICATE----- ¿¡ ÀÇÇØ ´Ü¶ôÁö¾îÁ® Á¾´ÜÀÌ -----END CERTIFICATE----- ¿¡ ÀÇÇØ ´Ü¶ôÁö¾îÁý´Ï´Ù. generateCertificate ÀÇ °¢ È£ÃâÀÌ 1 °³ÀÇ Áõ¸í¼­¸¸À» »ç¿ëÇØ, ÀÔ·Â ½ºÆ®¸²ÀÇ Àбâ À§Ä¡°¡ ÆÄÀϳ»ÀÇ ´ÙÀ½ÀÇ Áõ¸í¼­¿¡ ³õ¿©Áöµµ·Ï(µíÀÌ),FileInputStream (mark ¹× reset ¸¦ ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Ù)¸¦ BufferedInputStream (ÀÌ·¯ÇÑ ¸Þ¼Òµå¸¦ ¼­Æ÷Æ®)·Î º¯È¯ÇÕ´Ï´Ù.

 FileInputStream fis = new FileInputStream(filename);
 BufferedInputStream bis = new BufferedInputStream(fis);

 CertificateFactory cf = CertificateFactory.getInstance("X. 509");

 while (bis.available() > 0) {
    Certificate cert = cf.generateCertificate(bis);
    System.out.println(cert.toString());
 }
 

´ÙÀ½ÀÇ ¿¹´Â ÆÄÀÏ¿¡ ÀúÀåµÇ°í ÀÖ´Â PKCS#7 Çü½ÄÀÇ Áõ¸í¼­ ÀÀ´äÀ» ±¸¹® ºÐ¼® ÇØ, ¸ðµç Áõ¸í¼­¸¦ ÃßÃâÇÕ´Ï´Ù.

 FileInputStream fis = new FileInputStream(filename);
 CertificateFactory cf = CertificateFactory.getInstance("X. 509");
 Collection c = cf.generateCertificates(fis);
 Iterator i = c.iterator();
 while (i.hasNext()) {
    Certificate cert = (Certificate) i.next();
    System.out.println(cert);
 }
 

µµÀÔµÈ ¹öÁ¯:
1.2
°ü·Ã Ç׸ñ:
Certificate , X509Certificate , CertPath , CRL , X509CRL

»ý¼ºÀÚÀÇ °³¿ä
protected CertificateFactory (CertificateFactorySpi  certFacSpi, Provider  provider, String  type)
          ÁöÁ¤µÈ ŸÀÔÀÇ CertificateFactory ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇØ, ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸Çö (SPI ¿ÀºêÁ§Æ®)À» °Å±â¿¡ ĸ½¶È­ÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 Certificate generateCertificate (InputStream  inStream)
          Áõ¸í¼­ ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ, ÀÔ·Â ½ºÆ®¸² inStream ·ÎºÎÅÍ ÀоÁø µ¥ÀÌÅ͸¦ »ç¿ëÇØ ±× Áõ¸í¼­ ¿ÀºêÁ§Æ®¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.
 Collection generateCertificates (InputStream  inStream)
          ÁöÁ¤µÈ ÀÔ·Â ½ºÆ®¸² inStream ·ÎºÎÅÍ ÀоÁø Áõ¸í¼­ÀÇ ÄÚ·¹Å©¼Çºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
 CertPath generateCertPath (InputStream  inStream)
          CertPath ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ,InputStream ÀÎ inStream ·ÎºÎÅÍ ÀÐÈù µ¥ÀÌÅÍ·Î ÃʱâÈ­ÇÕ´Ï´Ù.
 CertPath generateCertPath (InputStream  inStream, String  encoding)
          CertPath ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ,InputStream ÀÎ inStream ·ÎºÎÅÍ ÀÐÈù µ¥ÀÌÅÍ·Î ÃʱâÈ­ÇÕ´Ï´Ù.
 CertPath generateCertPath (List  certificates)
          CertPath ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ,Certificate ÀÇ List ·Î ÃʱâÈ­ÇÕ´Ï´Ù.
 CRL generateCRL (InputStream  inStream)
          Áõ¸í¼­ÀÇ Ãë¼Ò ¸®½ºÆ® (CRL) ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ, ÀÔ·Â ½ºÆ®¸² inStream ·ÎºÎÅÍ ÀоÁø µ¥ÀÌÅ͸¦ »ç¿ëÇØ ÃʱâÈ­ÇÕ´Ï´Ù.
 Collection generateCRLs (InputStream  inStream)
          ÁöÁ¤µÈ ÀÔ·Â ½ºÆ®¸² inStream ·ÎºÎÅÍ ÀоÁø CRL ÀÇ ÄÚ·¹Å©¼Çºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
 Iterator getCertPathEncodings ()
          ÀÌ Áõ¸í¼­ ÆÑÅ丮·Î ¼­Æ÷Æ®ÇÏ´Â CertPath ÀÇ encodeÀÇ ¹Ýº¹À» µ¹·ÁÁÝ´Ï´Ù.
static CertificateFactory getInstance (String  type)
          ÁöÁ¤µÈ ŸÀÔÀÇ Áõ¸í¼­¸¦ ±¸ÇöÇÏ´Â Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
static CertificateFactory getInstance (String  type, Provider  provider)
          ÁöÁ¤ÇÑ Áõ¸í¼­ ŸÀÔÀ¸·Î, ÁöÁ¤ÇÑ ÇÁ·Î¹ÙÀÌ´õ·ÎºÎÅÍ Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
static CertificateFactory getInstance (String  type, String  provider)
          ÁöÁ¤µÈ Áõ¸í¼­ ŸÀÔÀÇ Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®¸¦, ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ·ÎºÎÅÍ ÀÛ¼ºÇÕ´Ï´Ù.
 Provider getProvider ()
          ÀÌ Áõ¸í¼­ ÆÑÅ丮ÀÇ ÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 String getType ()
          ÀÌ Áõ¸í¼­ ÆÑÅ丮¿¡ °ü·ÃÇÑ Áõ¸í¼­ ŸÀÔÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

»ý¼ºÀÚÀÇ »ó¼¼

CertificateFactory

protected CertificateFactory(CertificateFactorySpi  certFacSpi,
                             Provider  provider,
                             String  type)
ÁöÁ¤µÈ ŸÀÔÀÇ CertificateFactory ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇØ, ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸Çö (SPI ¿ÀºêÁ§Æ®)À» °Å±â¿¡ ĸ½¶È­ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
certFacSpi - ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸Çö
provider - ÇÁ·Î¹ÙÀÌ´õ
type - Áõ¸í¼­ ŸÀÔ
¸Þ¼ÒµåÀÇ »ó¼¼

getInstance

public static final CertificateFactory  getInstance(String  type)
                                            throws CertificateException 
ÁöÁ¤µÈ ŸÀÔÀÇ Áõ¸í¼­¸¦ ±¸ÇöÇÏ´Â Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö°¡, ¿ä±¸µÈ Áõ¸í¼­ ŸÀÔÀÇ ±¸ÇöÀ» Á¦°øÇÏ´Â °æ¿ì´Â ±× ±¸ÇöÀÌ ÀúÀåµÇ°í ÀÖ´Â Áõ¸í¼­ ÆÑÅ丮ÀÇ ÀνºÅϽº°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ±× ŸÀÔÀÌ µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö¿¡ ¾ø´Â °æ¿ì´Â ´Ù¸¥ ÆÐŰÁö¸¦ ã½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
type - ¿ä±¸µÈ Áõ¸í¼­ ŸÀÔÀÇ À̸§. Ç¥ÁØÀÇ Áõ¸í¼­ ŸÀÔÀÇ ÀÚ¼¼ÇÑ °ÍÀº ¡¸Java ¾Ïȣȭ ¾ÆÅ°ÅØÃÄ API »ç¾ç & ·¹ÆÛ·±½º¡¹ÀÇ ºÎ·Ï A ¸¦ ÂüÁ¶
¹Ýȯ°ª:
ÁöÁ¤µÈ ŸÀÔÀÇ Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®
¿¹¿Ü:
CertificateException - ¿ä±¸µÈ Áõ¸í¼­ ŸÀÔÀÌ, µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö¿¡µµ, °Ë»öÇÑ °Í ¿ÜÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö¿¡µµ ¾ø´Â °æ¿ì

getInstance

public static final CertificateFactory  getInstance(String  type,
                                                   String  provider)
                                            throws CertificateException ,
                                                   NoSuchProviderException 
ÁöÁ¤µÈ Áõ¸í¼­ ŸÀÔÀÇ Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®¸¦, ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ·ÎºÎÅÍ ÀÛ¼ºÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
type - Áõ¸í¼­ ŸÀÔ
provider - ÇÁ·Î¹ÙÀÌ´õ¸í
¹Ýȯ°ª:
ÁöÁ¤µÈ ŸÀÔÀÇ Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®
¿¹¿Ü:
CertificateException - Áõ¸í¼­ ŸÀÔÀÌ, ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ¿¡ ¾ø´Â °æ¿ì
NoSuchProviderException - ÇÁ·Î¹ÙÀÌ´õ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
°ü·Ã Ç׸ñ:
Provider

getInstance

public static final CertificateFactory  getInstance(String  type,
                                                   Provider  provider)
                                            throws CertificateException 
ÁöÁ¤ÇÑ Áõ¸í¼­ ŸÀÔÀ¸·Î, ÁöÁ¤ÇÑ ÇÁ·Î¹ÙÀÌ´õ·ÎºÎÅÍ Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù. ÁÖ: provider ´Â µî·ÏµÇ¾î ÀÖÀ» ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
type - Áõ¸í¼­ ŸÀÔ
provider - ÇÁ·Î¹ÙÀÌ´õ
¹Ýȯ°ª:
ÁöÁ¤µÈ ŸÀÔÀÇ Áõ¸í¼­ ÆÑÅ丮 ¿ÀºêÁ§Æ®
¿¹¿Ü:
CertificateException - Áõ¸í¼­ ŸÀÔÀÌ, ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ¿¡ ¾ø´Â °æ¿ì
IllegalArgumentException - provider °¡ null ÀÇ °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
Provider

getProvider

public final Provider  getProvider()
ÀÌ Áõ¸í¼­ ÆÑÅ丮ÀÇ ÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Áõ¸í¼­ ÆÑÅ丮ÀÇ ÇÁ·Î¹ÙÀÌ´õ

getType

public final String  getType()
ÀÌ Áõ¸í¼­ ÆÑÅ丮¿¡ °ü·ÃÇÑ Áõ¸í¼­ ŸÀÔÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Áõ¸í¼­ ÆÑÅ丮¿¡ °ü·ÃÇÑ Áõ¸í¼­ ŸÀÔÀÇ À̸§

generateCertificate

public final Certificate  generateCertificate(InputStream  inStream)
                                      throws CertificateException 
Áõ¸í¼­ ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ, ÀÔ·Â ½ºÆ®¸² inStream ·ÎºÎÅÍ ÀоÁø µ¥ÀÌÅ͸¦ »ç¿ëÇØ ±× Áõ¸í¼­ ¿ÀºêÁ§Æ®¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ Áõ¸í¼­ ÆÑÅ丮¿¡ ÀÇÇØ ¼­Æ÷Æ®µÇ°í Àִ Ư¼ö Çü½ÄÀÇ Áõ¸í¼­¸¦ ÀÌ¿ëÇϱâ À§Çؼ­, µ¹·ÁÁÖ¾îÁø Áõ¸í¼­ ¿ÀºêÁ§Æ®¸¦ ´ëÀÀÇÏ´Â Áõ¸í¼­ Ŭ·¡½º¿¡ ÇüÅ ij½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ Áõ¸í¼­ ÆÑÅ丮°¡ X. 509 Áõ¸í¼­¸¦ ±¸ÇöÇÏ´Â °æ¿ì, µ¹·ÁÁÖ¾îÁø Áõ¸í¼­ ¿ÀºêÁ§Æ®¸¦ X509Certificate Ŭ·¡½º¿¡ ÇüÅ ij½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù.

X. 509 Áõ¸í¼­ÀÇ Áõ¸í¼­ ÆÑÅ丮ÀÇ °æ¿ì´Â inStream ·Î Á¦°øµÇ´Â Áõ¸í¼­´Â DER ·Î encode µÉ Çʿ䰡 ÀÖ¾î, ¹ÙÀ̳ʸ® ¶Ç´Â ÇÁ¸°Æ® °¡´É (Base64)ÀÎ ºÎÈ£·Î Á¦°øµÇ´Â Àϵµ ÀÖ½À´Ï´Ù. Áõ¸í¼­°¡ Base64 ÀÇ ºÎÈ£·Î Á¦°øµÇ¾úÀ» °æ¿ì, ¼±µÎ´Â -----BEGIN CERTIFICATE----- ¿¡ ÀÇÇØ ´Ü¶ôÁö¾îÁ® Á¾´ÜÀº -----END CERTIFICATE----- ¿¡ ÀÇÇØ ´Ü¶ôÁö¾îÁú Çʿ䰡 ÀÖ½À´Ï´Ù.

ÁöÁ¤µÈ ÀÔ·Â ½ºÆ®¸²ÀÌ mark ¹× reset ¸¦ ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÀÔ·Â ½ºÆ®¸² Àüü¸¦ »ç¿ëÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼Òµå°¡ ºÒ·Á °¥ ¶§¸¶´Ù Áõ¸í¼­¸¦ 1 °³ ¼ÒºñÇØ, ÀÔ·Â ½ºÆ®¸²ÀÇ read À§Ä¡´Â °íÀ¯ÀÇ end-of-certificate ¸¶Ä¿ÀÇ ³ªÁß¿¡ ´ÙÀ½¿¡ »ç¿ë °¡´ÉÇÑ ¹ÙÀÌÆ®·Î ¼³Á¤µË´Ï´Ù. °íÀ¯ÀÇ end-of-certificate ¸¶Ä¿ (EOF ÀÌ¿Ü)°¡ ÀÔ·Â ½ºÆ®¸²ÀÇ µ¥ÀÌÅÍ¿¡ Æ÷ÇÔµÇÁö ¾Ê°í Áõ¸í¼­°¡ ±¸¹® ºÐ¼® µÈ ÈÄ¿¡ µ¥ÀÌÅͰ¡ °è¼ÓµÇ´Â °æ¿ì´Â CertificateException °¡ ½½·Î¿ì µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
inStream - Áõ¸í¼­ µ¥ÀÌÅ͸¦ °¡Áö´Â ÀÔ·Â ½ºÆ®¸²
¹Ýȯ°ª:
ÀÔ·Â ½ºÆ®¸²ÀÇ µ¥ÀÌÅ͸¦ »ç¿ëÇØ ÃʱâÈ­µÈ Áõ¸í¼­ ¿ÀºêÁ§Æ®
¿¹¿Ü:
CertificateException - ±¸¹® ºÐ¼® ¿¡·¯ÀÇ °æ¿ì

getCertPathEncodings

public final Iterator  getCertPathEncodings()
ÀÌ Áõ¸í¼­ ÆÑÅ丮·Î ¼­Æ÷Æ®ÇÏ´Â CertPath ÀÇ encodeÀÇ ¹Ýº¹À» µ¹·ÁÁÝ´Ï´Ù. ¹Ýº¹ÀÇ Ã³À½Àº µðÆúÆ®ÀÇ encode°¡ µË´Ï´Ù. Ç¥ÁØÀÇ encode¸í°ú ±× Çü½Ä¿¡ ´ëÇØ¼­´Â ¡¸Java Certification Path API Programmer's Guide¡¹ ÀÇ ºÎ·Ï A ¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

µ¹·ÁÁÖ¾îÁø Iterator ¸¦ remove ¸Þ¼Òµå·Î º¯°æÇÏ·Á°í Çϸé(ÀÚ),UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.

¹Ýȯ°ª:
¼­Æ÷Æ®µÇ´Â CertPath ÀÇ encode (String ·Î¼­)ÀÇ À̸§¿¡ ´ëÇÑ Iterator
µµÀÔµÈ ¹öÁ¯:
1.4

generateCertPath

public final CertPath  generateCertPath(InputStream  inStream)
                                throws CertificateException 
CertPath ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ,InputStream ÀÎ inStream ·ÎºÎÅÍ ÀÐÈù µ¥ÀÌÅÍ·Î ÃʱâÈ­ÇÕ´Ï´Ù. µ¥ÀÌÅÍ´Â µðÆúÆ®ÀÇ encode°¡ µÇ°í ÀÖÀ¸¸é(ÀÚ) °¡Á¤µË´Ï´Ù. µðÆúÆ®ÀÇ encodeÀÇ À̸§Àº getCertPathEncodings ¸Þ¼Òµå·Î µ¹·ÁÁÖ¾îÁö´Â Iterator ÀÇ ÃÖÃÊÀÇ ¿ä¼Ò°¡ µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
inStream - µ¥ÀÌÅͰ¡ Æ÷ÇԵǴ InputStream
¹Ýȯ°ª:
InputStream ·ÎºÎÅÍÀÇ µ¥ÀÌÅÍ·Î ÃʱâÈ­µÈ CertPath
¿¹¿Ü:
CertificateException - º¹È£È­(decode)Áß¿¡ ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4

generateCertPath

public final CertPath  generateCertPath(InputStream  inStream,
                                       String  encoding)
                                throws CertificateException 
CertPath ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ,InputStream ÀÎ inStream ·ÎºÎÅÍ ÀÐÈù µ¥ÀÌÅÍ·Î ÃʱâÈ­ÇÕ´Ï´Ù. µ¥ÀÌÅÍ´Â ÁöÁ¤ÇÑ encode°¡ µÇ°í ÀÖÀ¸¸é(ÀÚ) °¡Á¤µË´Ï´Ù. Ç¥ÁØÀÇ encode¸í°ú ±× Çü½Ä¿¡ ´ëÇØ¼­´Â ¡¸Java Certification Path API Programmer's Guide¡¹ ÀÇ ºÎ·Ï A ¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ÆÄ¶ó¹ÌÅÍ:
inStream - µ¥ÀÌÅͰ¡ Æ÷ÇԵǴ InputStream
encoding - µ¥ÀÌÅÍ·Î »ç¿ëµÇ´Â encode
¹Ýȯ°ª:
InputStream ·ÎºÎÅÍÀÇ µ¥ÀÌÅÍ·Î ÃʱâÈ­µÈ CertPath
¿¹¿Ü:
CertificateException - º¹È£È­(decode)Áß¿¡ ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì, ȤÀº ÁöÁ¤ÇÑ encode°¡ ¼­Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4

generateCertPath

public final CertPath  generateCertPath(List  certificates)
                                throws CertificateException 
CertPath ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ,Certificate ÀÇ List ·Î ÃʱâÈ­ÇÕ´Ï´Ù.

Á¦°øµÇ´Â Áõ¸í¼­´Â CertificateFactory ·Î ¼­Æ÷Æ®µÇ°í ÀÖ´Â Á¾·ù°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
certificates - Certificate ÀÇ List
¹Ýȯ°ª:
Á¦°øµÈ Áõ¸í¼­ÀÇ ¸®½ºÆ®·Î ÃʱâÈ­µÈ CertPath
¿¹¿Ü:
CertificateException - ¿¹¿Ü°¡ ¹ß»ýÇÏ´Â °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4

generateCertificates

public final Collection  generateCertificates(InputStream  inStream)
                                      throws CertificateException 
ÁöÁ¤µÈ ÀÔ·Â ½ºÆ®¸² inStream ·ÎºÎÅÍ ÀоÁø Áõ¸í¼­ÀÇ ÄÚ·¹Å©¼Çºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÄÚ·¹Å©¼Çºä´Â ºñ¾úÀ» °æ¿ìµµ ÀÖ½À´Ï´Ù.

ÀÌ Áõ¸í¼­ ÆÑÅ丮¿¡ ÀÇÇØ ¼­Æ÷Æ®µÇ°í Àִ Ư¼öÇÑ Çü½ÄÀÇ Áõ¸í¼­¸¦ ÀÌ¿ëÇϱâ À§Çؼ­, µ¹·ÁÁÖ¾îÁø ÄÚ·¹Å©¼ÇºäÀÇ °¢ ¿ä¼Ò¸¦ ´ëÀÀÇÏ´Â Áõ¸í¼­ Ŭ·¡½º¿¡ ÇüÅ ij½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ Áõ¸í¼­ ÆÑÅ丮°¡ X. 509 Áõ¸í¼­¸¦ ±¸ÇöÇÏ´Â °æ¿ì, µ¹·ÁÁÖ¾îÁø ÄÝ·º¼Ç³»ÀÇ ¿ä¼Ò¸¦ X509Certificate Ŭ·¡½º¿¡ ÇüÅ ij½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù.

X. 509 Áõ¸í¼­·Î »ç¿ëÇÏ´Â Áõ¸í¼­ ÆÑÅ丮ÀÇ °æ¿ì,inStream ¿¡´Â generateCertificate ·Î ¼³¸íµÇ°í ÀÖ´Â Çü½ÄÀÇ, DER ·Î encode µÈ ÀÏ·ÃÀÇ Áõ¸í¼­°¡ ÀúÀåµË´Ï´Ù. ¶Ç,inStream ¿¡´Â PKCS#7 Áõ¸í ¿¬¼â°¡ ÀúÀåµË´Ï´Ù. À̰ÍÀº PKCS#7 SignedData ¿ÀºêÁ§Æ®À̸ç, »óÀ§ Çʵå´Â certificates »ÓÀÔ´Ï´Ù. ƯÈ÷, ¼­¸í°ú ³»¿ëÀº ¹«½ÃµË´Ï´Ù. ÀÌ Çü½ÄÀÇ °æ¿ì, º¹¼öÀÇ Áõ¸í¼­¸¦ 1 ȸ¿¡ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. Áõ¸í¼­°¡ ¾ø´Â °æ¿ì´Â ÇÏ´ÃÀÇ ÄÝ·º¼ÇÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÁöÁ¤µÈ ÀÔ·Â ½ºÆ®¸²ÀÌ mark ¹× reset ¸¦ ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÀÔ·Â ½ºÆ®¸² Àüü¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
inStream - Áõ¸í¼­¸¦ °¡Áö´Â ÀÔ·Â ½ºÆ®¸²
¹Ýȯ°ª:
ÀÔ·Â ½ºÆ®¸²À¸·ÎºÎÅÍ ÀÇ µ¥ÀÌÅ͸¦ »ç¿ëÇØ ÃʱâÈ­µÈ java.security.cert.Certificate ¿ÀºêÁ§Æ®ÀÇ ÄÚ·¹Å©¼Çºä. ºñ¾úÀ» °æ¿ìµµ ÀÖ´Ù
¿¹¿Ü:
CertificateException - ±¸¹® ºÐ¼® ¿¡·¯ÀÇ °æ¿ì

generateCRL

public final CRL  generateCRL(InputStream  inStream)
                      throws CRLException 
Áõ¸í¼­ÀÇ Ãë¼Ò ¸®½ºÆ® (CRL) ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ, ÀÔ·Â ½ºÆ®¸² inStream ·ÎºÎÅÍ ÀоÁø µ¥ÀÌÅ͸¦ »ç¿ëÇØ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ Áõ¸í¼­ ÆÑÅ丮¿¡ ÀÇÇØ ¼­Æ÷Æ®µÇ°í Àִ Ư¼öÇÑ Çü½ÄÀÇ CRL ¸¦ ÀÌ¿ëÇϱâ À§Çؼ­, µ¹·ÁÁÖ¾îÁø CRL ¿ÀºêÁ§Æ®¸¦ ´ëÀÀÇÏ´Â CRL Ŭ·¡½º¿¡ ÇüÅ ij½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ Áõ¸í¼­ ÆÑÅ丮°¡ X. 509 CRL ¸¦ ±¸ÇöÇÏ´Â °æ¿ì, µ¹·ÁÁÖ¾îÁø CRL ¿ÀºêÁ§Æ®¸¦ X509CRL Ŭ·¡½º¿¡ ÇüÅ ij½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÁöÁ¤µÈ ÀÔ·Â ½ºÆ®¸²ÀÌ mark ¹× reset ¸¦ ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÀÔ·Â ½ºÆ®¸² Àüü¸¦ »ç¿ëÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼Òµå°¡ ºÒ·Á °¥ ¶§¸¶´Ù CRL ¸¦ 1 °³ ¼ÒºñÇØ, ÀÔ·Â ½ºÆ®¸²ÀÇ read À§Ä¡´Â °íÀ¯ÀÇ end-of-CRL ¸¶Ä¿ÀÇ ³ªÁß¿¡ ´ÙÀ½¿¡ »ç¿ë °¡´ÉÇÑ ¹ÙÀÌÆ®·Î ¼³Á¤µË´Ï´Ù. °íÀ¯ÀÇ end-of-CRL ¸¶Ä¿ (EOF ÀÌ¿Ü)°¡ ÀÔ·Â ½ºÆ®¸²ÀÇ µ¥ÀÌÅÍ¿¡ Æ÷ÇÔµÇÁö ¾Ê°í Áõ¸í¼­°¡ ±¸¹® ºÐ¼® µÈ ÈÄ¿¡ µ¥ÀÌÅͰ¡ °è¼ÓµÇ´Â °æ¿ì´Â CRLException °¡ ½½·Î¿ì µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
inStream - CRL µ¥ÀÌÅ͸¦ °¡Áö´Â ÀÔ·Â ½ºÆ®¸²
¹Ýȯ°ª:
ÀÔ·Â ½ºÆ®¸²ÀÇ µ¥ÀÌÅ͸¦ »ç¿ëÇØ ÃʱâÈ­µÈ CRL ¿ÀºêÁ§Æ®
¿¹¿Ü:
CRLException - ±¸¹® ºÐ¼® ¿¡·¯ÀÇ °æ¿ì

generateCRLs

public final Collection  generateCRLs(InputStream  inStream)
                              throws CRLException 
ÁöÁ¤µÈ ÀÔ·Â ½ºÆ®¸² inStream ·ÎºÎÅÍ ÀоÁø CRL ÀÇ ÄÚ·¹Å©¼Çºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÄÚ·¹Å©¼Çºä´Â ºñ¾úÀ» °æ¿ìµµ ÀÖ½À´Ï´Ù.

ÀÌ Áõ¸í¼­ ÆÑÅ丮¿¡ ÀÇÇØ ¼­Æ÷Æ®µÇ°í Àִ Ư¼öÇÑ Çü½ÄÀÇ CRL ¸¦ ÀÌ¿ëÇϱâ À§Çؼ­, µ¹·ÁÁÖ¾îÁø ÄÚ·¹Å©¼ÇºäÀÇ °¢ ¿ä¼Ò¸¦ ´ëÀÀÇÏ´Â CRL Ŭ·¡½º¿¡ ÇüÅ ij½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ Áõ¸í¼­ ÆÑÅ丮°¡ X. 509 CRL ¸¦ ±¸ÇöÇÏ´Â °æ¿ì, µ¹·ÁÁÖ¾îÁø ÄÝ·º¼Ç³»ÀÇ ¿ä¼Ò¸¦ X509CRL Ŭ·¡½º¿¡ ÇüÅ ij½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù.

X. 509 CRL ÀÇ Áõ¸í¼­ ÆÑÅ丮ÀÇ °æ¿ì´Â inStream ¿¡´Â DER ·Î encode µÈ ÀÏ·ÃÀÇ CRL °¡ ÀúÀåµË´Ï´Ù. ¶Ç,inStream ¿¡´Â PKCS#7 CRL ¼¼Æ®°¡ ÀúÀåµË´Ï´Ù. À̰ÍÀº PKCS#7 SignedData ¿ÀºêÁ§Æ®·Î, »óÀ§ Çʵå´Â crls »ÓÀÔ´Ï´Ù. ƯÈ÷, ¼­¸í°ú ³»¿ëÀº ¹«½ÃµË´Ï´Ù. ÀÌ Çü½ÄÀÇ °æ¿ì, º¹¼öÀÇ CRL ¸¦ 1 ȸ¿¡ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. CRL °¡ ¾ø´Â °æ¿ì´Â ÇÏ´ÃÀÇ ÄÝ·º¼ÇÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÁöÁ¤µÈ ÀÔ·Â ½ºÆ®¸²ÀÌ mark ¹× reset ¸¦ ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÀÔ·Â ½ºÆ®¸² Àüü¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
inStream - CRL ¸¦ °¡Áö´Â ÀÔ·Â ½ºÆ®¸²
¹Ýȯ°ª:
ÀÔ·Â ½ºÆ®¸²À¸·ÎºÎÅÍ ÀÇ µ¥ÀÌÅ͸¦ »ç¿ëÇØ ÃʱâÈ­µÈ java.security.cert.Certificate ¿ÀºêÁ§Æ®ÀÇ ÄÚ·¹Å©¼Çºä. ºñ¾úÀ» °æ¿ìµµ ÀÖ´Ù
¿¹¿Ü:
CRLException - ±¸¹® ºÐ¼® ¿¡·¯ÀÇ °æ¿ì

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

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.