JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.security.cert
Ŭ·¡½º TrustAnchor

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

public class TrustAnchor
extends Object

Æ®·¯½ºÆ® ¿¨Ä¿, ¶Ç´Â °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â Áõ¸í¼­ ¹ßÇà±¹ (CA)ÀÔ´Ï´Ù.

ÀÌ Å¬·¡½º´Â ¡¸°¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA¡¹¸¦ ³ªÅ¸³», X. 509 Áõ¸í¼­ ÆÐ½ºÀÇ Å¸´ç¼ºÀ» °Ë»çÇÏ´Â Æ®·¯½ºÆ® ¿¨Ä¿·Î¼­ »ç¿ëÇÕ´Ï´Ù. °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA¿¡´Â CA ÀÇ °ø°³¿­¼è, CA ÀÇ À̸§, ±×¸®°í ±× ¿­¼è¸¦ »ç¿ëÇØ °Ë»çµÈ ÆÐ½º¼¼Æ®¿¡ ´ëÇÑ Á¦¾àÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÆÄ¶ó¹ÌÅÍ´Â ½Å·ÚµÈ X509Certificate ÀÇ Çü½ÄÀΰ¡ °³º°ÀÇ ÆÄ¶ó¹ÌÅͷμ­ ÁöÁ¤µË´Ï´Ù.

º´Çà ¾×¼¼½º

¸ðµç TrustAnchor ¿ÀºêÁ§Æ®´Â ºÒº¯À¸·Î, thread ¼¼ÀÌÇÁ°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï, ÀÌ Å¬·¡½º¿¡¼­ Á¤ÀÇµÈ ¸Þ¼Òµå´Â ¾Ç¿µÇâÀ» ÁÖ´Â ÀÏ ¾øÀÌ, º¹¼ö thread°¡ º´ÇàÇØ ´ÜÀÏ TrustAnchor ¿ÀºêÁ§Æ® (¶Ç´Â 1 kr ÀÌ»ó)·Î È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. TrustAnchor ¿ÀºêÁ§Æ®´Â ºÒº¯À¸·Î, ÇÑÆí thread ¼¼ÀÌÇÁ°¡ ¾Æ´Ï¸é ¾ÈµÇ±â ¶§¹®¿¡, ¾×¼¼½ºÀÇ µ¿±âÀÇ °ÆÁ¤À» ÇÏ´Â ÀÏ ¾øÀÌ, ´Ù¾çÇÑ Äڵ忡 ÀÌ ¿ÀºêÁ§Æ®¸¦ °Ç³×ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ÀÌ Å¬·¡½ºÀÇ ¸ðµç public Çʵå¿Í ¸Þ¼Òµå, ±×¸®°í ¼­ºê Ŭ·¡½º¿¡¼­ Ãß°¡ ¶Ç´Â ¿À¹ö¶óÀ̵å(override) µÈ public Çʵå¿Í ¸Þ¼Òµå¿¡ µé¾î¸ÂÀ¾´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
PKIXParameters.PKIXParameters(Set) , PKIXBuilderParameters.PKIXBuilderParameters(Set, CertSelector)

»ý¼ºÀÚÀÇ °³¿ä
TrustAnchor (String  caName, PublicKey  pubKey, byte[] nameConstraints)
          ½Äº°¸í°ú °ø°³¿­¼è·Î °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA °¡ ÁöÁ¤µÇ°í ÀÖ´Â TrustAnchor ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
TrustAnchor (X509Certificate  trustedCert, byte[] nameConstraints)
          ÁöÁ¤ÇÑ X509Certificate ¿Í À̸§ Á¦¾à (»ý·« °¡´É)À¸·Î TrustAnchor ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 String getCAName ()
          RFC 2253 String Çü½Ä¿¡ ÀÇÇÑ, °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA ÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù.
 PublicKey getCAPublicKey ()
          °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA ÀÇ °ø°³¿­¼è¸¦ µ¹·ÁÁÝ´Ï´Ù.
 byte[] getNameConstraints ()
          À̸§ Á¦¾àÀÇ ÆÄ¶ó¹ÌÅ͸¦ µ¹·ÁÁÝ´Ï´Ù.
 X509Certificate getTrustedCert ()
          °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA Áõ¸í¼­¸¦ µ¹·ÁÁÝ´Ï´Ù.
 String toString ()
          TrustAnchor ¸¦ ¼³¸íÇÏ´Â ¼­½Ä ÷ºÎ ij¸¯ÅÍ ¶óÀÎÀ» µ¹·ÁÁÝ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

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

TrustAnchor

public TrustAnchor(X509Certificate  trustedCert,
                   byte[] nameConstraints)
ÁöÁ¤ÇÑ X509Certificate ¿Í À̸§ Á¦¾à (»ý·« °¡´É)À¸·Î TrustAnchor ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù. À̸§ Á¦¾àÀº X. 509 Áõ¸í¼­ ÆÐ½ºÀÇ Å¸´ç¼ºÀ» °Ë»çÇÒ ¶§ÀÇ Á¦¾àÀ» Ãß°¡Çϱâ À§Çؼ­ »ç¿ëµË´Ï´Ù.

À̸§ Á¦¾àÀº ¹ÙÀÌÆ® ¹è¿­·Î ÁöÁ¤µË´Ï´Ù. ÀÌ ¹ÙÀÌÆ® ¹è¿­¿¡´Â 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}
 

ÀÌÈÄÀÇ º¯°æÀ¸·ÎºÎÅÍ º¸È£Çϱâ À§Çؼ­, Á¦°øµÇ´Â À̸§ Á¦¾àÀÇ ¹ÙÀÌÆ® ¹è¿­Àº º¹Á¦µÇ°í ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
trustedCert - ½Å·ÚµÈ X509Certificate
nameConstraints - À̸§ Á¦¾àÀ» üũÇϱâ À§Çؼ­ »ç¿ëµÇ´Â NameConstraints È®Àå Á¤º¸¸¦ ASN. 1 DER ·Î encode ÇÑ °ªÀ» Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿­. È®Àå Á¤º¸ÀÇ °ª¸¸ÀÌ Æ÷ÇԵǾî OID ³ª À§±âÀÇ Á¤µµ¸¦ ³ªÅ¸³»´Â Ç÷¡±×´Â Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ÀÌ ÆÄ¶ó¹ÌÅ͸¦ ¹«½ÃÇÏ·Á¸é null ¸¦ ÁöÁ¤ÇÑ´Ù
¿¹¿Ü:
IllegalArgumentException - À̸§ Á¦¾àÀÌ º¹È£È­(decode) ÇÒ ¼ö ¾ø´Â °æ¿ì
NullPointerException - ÁöÁ¤ÇÑ X509Certificate °¡ null ÀÇ °æ¿ì

TrustAnchor

public TrustAnchor(String  caName,
                   PublicKey  pubKey,
                   byte[] nameConstraints)
½Äº°¸í°ú °ø°³¿­¼è·Î °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA °¡ ÁöÁ¤µÇ°í ÀÖ´Â TrustAnchor ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù. À̸§ Á¦¾àÀº »ý·« °¡´ÉÇÑ ÆÄ¶ó¹ÌÅÍ·Î, X. 509 Áõ¸í¼­ ÆÐ½ºÀÇ Å¸´ç¼ºÀ» °Ë»çÇÒ ¶§ÀÇ Á¦¾àÀ» Ãß°¡Çϱâ À§Çؼ­ »ç¿ëµË´Ï´Ù.

À̸§ Á¦¾àÀº ¹ÙÀÌÆ® ¹è¿­·Î ÁöÁ¤µË´Ï´Ù. ÀÌ ¹ÙÀÌÆ® ¹è¿­¿¡´Â RFC 2459 ·Î X. 509 ·Î Á¤Àǵǰí ÀÖ´Â NameConstraints ±¸Á¶Ã¼¿¡ ÀÖ´Â °Í °°Àº À̸§ Á¦¾àÀÇ DER encode Çü½ÄÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. NameConstraints ±¸Á¶Ã¼ÀÇ ASN. 1 ÁöÁ¤Àº TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) ·Î ¼³¸íÇϰí ÀÖ½À´Ï´Ù.

ÀÌÈÄÀÇ º¯°æÀ¸·ÎºÎÅÍ º¸È£Çϱâ À§Çؼ­, ¿©±â¼­ Á¦°øµÇ°í ÀÖ´Â À̸§ Á¦¾àÀÇ ¹ÙÀÌÆ® ¹è¿­Àº º¹Á¦µÇ°í ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
caName - RFC 2253 String Çü½Ä¿¡ ÀÇÇÑ, °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA ÀÇ X. 500 ½Äº°¸í
pubKey - °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA ÀÇ °ø°³¿­¼è
nameConstraints - À̸§ Á¦¾àÀ» üũÇϱâ À§Çؼ­ »ç¿ëµÇ´Â NameConstraints È®Àå Á¤º¸¸¦ ASN. 1 DER ·Î encode ÇÑ °ªÀ» Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿­. È®Àå Á¤º¸ÀÇ °ª¸¸ÀÌ Æ÷ÇԵǾî OID ³ª À§±âÀÇ Á¤µµ¸¦ ³ªÅ¸³»´Â Ç÷¡±×´Â Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ÀÌ ÆÄ¶ó¹ÌÅ͸¦ ¹«½ÃÇÏ·Á¸é null ¸¦ ÁöÁ¤ÇÑ´Ù
¿¹¿Ü:
IllegalArgumentException - ÁöÁ¤ÇÑ caName ÆÄ¶ó¹ÌÅͰ¡ ÇÏ´Ã (caName.length() == 0) ÀÎÁö ±× Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾ÊÀº °æ¿ì. ȤÀº À̸§ Á¦¾àÀÌ º¹È£È­(decode) ÇÒ ¼ö ¾ø´Â °æ¿ì
NullPointerException - ÁöÁ¤µÈ caName ÆÄ¶ó¹ÌÅͳª pubKey ÆÄ¶ó¹ÌÅͰ¡ null ÀÇ °æ¿ì
¸Þ¼ÒµåÀÇ »ó¼¼

getTrustedCert

public final X509Certificate  getTrustedCert()
°¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA Áõ¸í¼­¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
½Å·ÚÇÒ ¼ö ÀÖ´Â X509Certificate. Æ®·¯½ºÆ® ¿¨Ä¿¸¦ ½Å·ÚÇÒ ¼ö ÀÖ´Â Áõ¸í¼­·Î¼­ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â null

getCAName

public final String  getCAName()
RFC 2253 String Çü½Ä¿¡ ÀÇÇÑ, °¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA ÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
°¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA ÀÇ X. 500 ½Äº°¸í. Æ®·¯½ºÆ® ¿¨Ä¿¸¦ ½Å·ÚÇÒ ¼ö ÀÖ´Â °ø°³¿­¼è¿Í À̸§ÀÇ Æä¾î·Î¼­ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â null

getCAPublicKey

public final PublicKey  getCAPublicKey()
°¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA ÀÇ °ø°³¿­¼è¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
°¡Àå ½Å·ÚÇÒ ¼ö ÀÖ´Â CA ÀÇ °ø°³¿­¼è. Æ®·¯½ºÆ® ¿¨Ä¿¸¦ ½Å·ÚÇÒ ¼ö ÀÖ´Â °ø°³¿­¼è¿Í À̸§ÀÇ Æä¾î·Î¼­ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â null

getNameConstraints

public final byte[] getNameConstraints()
À̸§ Á¦¾àÀÇ ÆÄ¶ó¹ÌÅ͸¦ µ¹·ÁÁÝ´Ï´Ù. ÁöÁ¤ÇÑ À̸§ Á¦¾àÀº ÀÌ Æ®·¯½ºÆ® ¿¨Ä¿¿Í °ü·ÃÁöÀ» ¼ö ÀÖ°í ÀÖ¾î X. 509 Áõ¸í¼­ ÆÐ½ºÀÇ Å¸´ç¼ºÀ» °Ë»çÇÒ ¶§ÀÇ Á¦¾àÀ» Ãß°¡Çϱâ À§Çؼ­ »ç¿ëµË´Ï´Ù.

À̸§ Á¦¾àÀº ¹ÙÀÌÆ® ¹è¿­·Î µ¹·ÁÁÖ¾îÁý´Ï´Ù. ÀÌ ¹ÙÀÌÆ® ¹è¿­¿¡´Â RFC 2459 ·Î X. 509 ·Î Á¤Àǵǰí ÀÖ´Â NameConstraints ±¸Á¶Ã¼¿¡ ÀÖ´Â °Í °°Àº À̸§ Á¦¾àÀÇ DER encode Çü½ÄÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. NameConstraints ±¸Á¶Ã¼ÀÇ ASN. 1 ÁöÁ¤Àº TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) ·Î ¼³¸íÇϰí ÀÖ½À´Ï´Ù.

ÀÌÈÄÀÇ º¯°æÀ¸·ÎºÎÅÍ º¸È£Çϱâ À§Çؼ­, µ¹·ÁÁÖ¾îÁö´Â ¹ÙÀÌÆ® ¹è¿­Àº º¹Á¦µÇ°í ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
À̸§ Á¦¾àÀ» üũÇϱâ À§Çؼ­ »ç¿ëµÇ´Â NameConstraints È®Àå Á¤º¸¸¦ ASN. 1 DER ·Î encode ÇÑ °ªÀ» Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿­. ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â null

toString

public String  toString()
TrustAnchor ¸¦ ¼³¸íÇÏ´Â ¼­½Ä ÷ºÎ ij¸¯ÅÍ ¶óÀÎÀ» µ¹·ÁÁÝ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
TrustAnchor ¸¦ ¼³¸íÇÏ´Â ¼­½Ä ÷ºÎ ij¸¯ÅÍ ¶óÀÎ

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.