JavaTM 2 Platform
Standard Ed. 5.0

javax.security.auth.x500
Ŭ·¡½º X500Principal

java.lang.Object 
  »óÀ§¸¦ È®Àå javax.security.auth.x500.X500Principal
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Principal

public final class X500Principal
extends Object
implements Principal, Serializable

ÀÌ Å¬·¡½º´Â X. 500 Principal¸¦ ³ªÅ¸³À´Ï´Ù. X500Principal´Â ¡¸CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US¡¹¿Í °°Àº ½Äº°¸íÀ¸·Î Ç¥±âµË´Ï´Ù.

ÀÌ Å¬·¡½º´Â ½Äº°¸íÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» »ç¿ëÇÏ´ÂÁö, ½Äº°¸íÀÇ ASN. 1 DER encode ¹ÙÀÌÆ® Ç¥ÇöÀ» »ç¿ëÇØ ÀνºÅϽºÈ­ µË´Ï´Ù. ½Äº°¸íÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇö¿¡ ´ëÇÑ ÇöÀçÀÇ »ç¾çÀº, RFC 2253 À¸·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù. ±×·¯³ª, RFC 2253 À¸·Î RFC 1779 ¾çÂÊ ¸ðµÎ¿¡ ±â¼úµÈ ij¸¯ÅÍ ¶óÀÎ Çü½Äµµ °¡´ÉÇÏ°í, ¶ÇÇÑ, RFC 2459 ·Î OID (Object Identifier)°¡ Á¤Àǵǰí ÀÖ´Â ¼Ó¼ºÀÇ ÇüÅ Ű¿öµåµµ ÀνÄÇÕ´Ï´Ù.

ÀÌ X500Principal ij¸¯ÅÍ ¶óÀΠǥÇöÀº, getName ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.

X509Certificate getSubjectX500Principal ¸Þ¼­µå¿Í getIssuerX500Principal ¸Þ¼­µå´Â ÀÎÁõ¼­ ÀÇ ¹ßÇàÀÚ Çʵå¿Í ÇÇÀÎÁõÀÚ Çʵ带 ³ªÅ¸³»´Â X500Principal¸¦ ¸®ÅÏÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.4
°ü·Ã Ç׸ñ:
X509Certificate, Á÷·ÄÈ­ µÈ Çü½Ä

ÇÊµå °³¿ä
static String CANONICAL
          Distinguished Name Ç¥ÁØÀûÀÎ String Çü½ÄÀÔ´Ï´Ù.
static String RFC1779
          Distinguished Name RFC 1779 String Çü½ÄÀÔ´Ï´Ù.
static String RFC2253
          Distinguished Name RFC 2253 String Çü½ÄÀÔ´Ï´Ù.
 
»ý¼ºÀÚ °³¿ä
X500Principal (byte[] name)
          ASN. 1 DER encode Çü½ÄÀÇ ½Äº°¸íÀ¸·ÎºÎÅÍ X500Principal¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
X500Principal (InputStream  is)
          ASN. 1 DER encode Çü½ÄÀÇ ½Äº°¸íÀ» Æ÷ÇÔÇÑ InputStream·Î ºÎÅÍ X500Principal¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
X500Principal (String  name)
          X. 500 ½Äº°¸í (¿¹: CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US)ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ¸·ÎºÎÅÍ X500Principal¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 boolean equals (Object  o)
          ÁöÁ¤µÈ Object °÷ÀÇ X500Principal°¡ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù.
 byte[] getEncoded ()
          ASN. 1 DER encode Çü½ÄÀÇ ½Äº°¸íÀ» ¸®ÅÏÇÕ´Ï´Ù.
 String getName ()
          RFC 2253 À¸·Î Á¤ÀÇµÈ Çü½Ä¿¡¼­ X. 500 ½Äº°¸íÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀ» ¸®ÅÏÇÕ´Ï´Ù.
 String getName (String  format)
          ÁöÁ¤ÇÑ Çü½Ä¿¡¼­ X. 500 ½Äº°¸íÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀ» ¸®ÅÏÇÕ´Ï´Ù.
 int hashCode ()
          ÀÌ X500Principal Çؽà Äڵ带 ¸®ÅÏÇÕ´Ï´Ù.
 String toString ()
          ÀÌ X500Principal, »ç¿ëÀÚ°¡ »ç¿ëÇϱ⠽¬¿î ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀ» ¸®ÅÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

ÇʵåÀÇ »ó¼¼

RFC1779

public static final String  RFC1779
Distinguished Name RFC 1779 String Çü½ÄÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

RFC2253

public static final String  RFC2253
Distinguished Name RFC 2253 String Çü½ÄÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

CANONICAL

public static final String  CANONICAL
Distinguished Name Ç¥ÁØÀûÀÎ String Çü½ÄÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪
»ý¼ºÀÚ »ó¼¼

X500Principal

public X500Principal(String  name)
X. 500 ½Äº°¸í (¿¹: CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US)ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ¸·ÎºÎÅÍ X500Principal¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ½Äº°¸íÀº RFC 1779 ³ª RFC 2253 (¾î´ÀÂÊÀ̳ª °¡´É)À¸·Î Á¤ÀÇµÈ ¹®¹ýÀ» »ç¿ëÇØ ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÀÌ »ý¼ºÀÚ´Â RFC 1779 ·Î RFC 2253 À¸·Î Á¤ÀǵǾú´Ù (±×¸®°í getName(String format) ·Î ¸®½ºÆ® µÈ´Ù) ¼Ó¼ºÀÇ ÇüÅ Ű¿öµå¸¦ ÀνÄÇÒ »Ó¸¸ ¾Æ´Ï¶ó, RFC 2459 ·Î Á¤ÀÇµÈ OID¸¦ °¡Áö´Â T, DNQ ¶Ç´Â DNQUALIFIER, SURNAME, GIVENNAME, INITIALS, GENERATION, EMAILADDRESS, SERIALNUMBER °¢ Å°¿öµå ¹× ±× Á÷ÈÄÀÇ Å°¿öµåµµ ÀνÄÇÕ´Ï´Ù. ±× ´Ù¸¥ ¼Ó¼ºÀÇ ÇüÅ´ OID ·Î ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
name - RFC 1779 Çü½Ä ¶Ç´Â RFC 2253 Çü½ÄÀÇ X. 500 ½Äº°¸í
¿¹¿Ü:
NullPointerException - name°¡ nullÀÎ °æ¿ì
IllegalArgumentException - name ÁöÁ¤ÀÌ ¿Ã¹Ù¸£Áö ¾ÊÀº °æ¿ì

X500Principal

public X500Principal(byte[] name)
ASN. 1 DER encode Çü½ÄÀÇ ½Äº°¸íÀ¸·ÎºÎÅÍ X500Principal¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ ±¸Á¶Ã¼ÀÇ ASN. 1 Ç¥±â´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

 Name ::= CHOICE {
   RDNSequence }

 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName

 RelativeDistinguishedName ::=
   SET SIZE (1 .. MAX) OF AttributeTypeAndValue

 AttributeTypeAndValue ::= SEQUENCE {
   type     AttributeType,
   value    AttributeValue }

 AttributeType ::= OBJECT IDENTIFIER

 AttributeValue ::= ANY DEFINED BY AttributeType
 ....
 DirectoryString ::= CHOICE {
       teletexString           TeletexString (SIZE (1..MAX)),
       printableString         PrintableString (SIZE (1..MAX)),
       universalString         UniversalString (SIZE (1..MAX)),
       utf8String              UTF8String (SIZE (1.. MAX)),
       bmpString               BMPString (SIZE (1..MAX)) }
 

ÆĶó¹ÌÅÍ:
name - ASN. 1 DER encode Çü½Ä¿¡ ÇÑ ½Äº°¸íÀ» Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿­
¿¹¿Ü:
IllegalArgumentException - encode ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì (DN ºÎÁ¤ÇÑ Çü½Ä)

X500Principal

public X500Principal(InputStream  is)
ASN. 1 DER encode Çü½ÄÀÇ ½Äº°¸íÀ» Æ÷ÇÔÇÑ InputStream·Î ºÎÅÍ X500Principal¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ ±¸Á¶Ã¼ÀÇ ASN. 1 Ç¥±â´Â X500Principal(byte[] name) ·Î ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù.

ÀÔ·Â ½ºÆ®¸²ÀÇ read À§Ä¡´Â encode ÇÑ ½Äº°¸íÀÇ ÈÄ¿¡ ¿À´Â ´ÙÀ½ÀÇ ÀÌ¿ë °¡´ÉÇÑ ¹ÙÀÌÆ®°¡ µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
is - ASN. 1 DER encode Çü½Ä¿¡ ÇÑ ½Äº°¸íÀ» Æ÷ÇÔÇÑ InputStream
¿¹¿Ü:
NullPointerException - InputStream°¡ nullÀÎ °æ¿ì
IllegalArgumentException - encode ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì (DN ºÎÁ¤ÇÑ Çü½Ä)
¸Þ¼­µåÀÇ »ó¼¼

getName

public String  getName()
RFC 2253 À¸·Î Á¤ÀÇµÈ Çü½Ä¿¡¼­ X. 500 ½Äº°¸íÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀ» ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â getName(X500Principal.RFC2253)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î °°½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Principal ³»ÀÇ getName
¹Ýȯ°ª:
ÀÌ X500Principal ½Äº°¸í

getName

public String  getName(String  format)
ÁöÁ¤ÇÑ Çü½Ä¿¡¼­ X. 500 ½Äº°¸íÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀ» ¸®ÅÏÇÕ´Ï´Ù. Çü½ÄÀ¸·Î ÁöÁ¤ÇÏ´Â À¯È¿ÇÑ °ªÀº ¡¸RFC1779¡¹, ¡¸RFC2253¡¹, ¡¸CANONICAL¡¹(´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ¸¦ ±¸º°ÇÑ´Ù)ÀÇ ¾î¶² °ÍÀΰ¡ÀÔ´Ï´Ù.

Çü½Ä¿¡ ¡¸RFC1779¡¹¸¦ ÁöÁ¤ÇßÀ» °æ¿ì, ÀÌ ¸Þ¼­µå´Â RFC 1779 ·Î Á¤Àǵǰí ÀÖ´Â ¼Ó¼ºÀÇ ÇüÅ Ű¿öµå (CN, L, ST, O, OU, C, STREET)¸¦ ¹ßÇàÇÕ´Ï´Ù. ±× ´Ù¸¥ ¼Ó¼ºÀÇ ÇüÅ´ OID ·Î¼­ ¹ßÇàµË´Ï´Ù.

Çü½Ä¿¡ ¡¸RFC2253¡¹¸¦ ÁöÁ¤ÇßÀ» °æ¿ì, ÀÌ ¸Þ¼­µå´Â RFC 2253 À¸·Î Á¤Àǵǰí ÀÖ´Â ¼Ó¼ºÀÇ ÇüÅ Ű¿öµå (CN, L, ST, O, OU, C, STREET, DC, UID)¸¦ ¹ßÇàÇÕ´Ï´Ù. ¾ö¹ÐÇÏ°Ô Çؼ®Çϸé, RFC 2253 ¿¡¼­´Â UTF-8 ij¸¯ÅÍ ¶óÀΠǥÇö¸¸À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå°¡ µ¹·ÁÁÖ´Â String´Â ÀÌ UTF-8 Ç¥ÇöÀ» º¹È£È­ ÇÏ´Â °ÍÀ¸·Î ¾òÀ» ¼ö ÀÖ´Â Unicode ij¸¯ÅÍ ¶óÀÎÀÌ µË´Ï´Ù.

Çü½Ä¿¡ ¡¸CANONICAL¡¹¸¦ ÁöÁ¤ÇßÀ» °æ¿ì, ÀÌ ¸Þ¼­µå´Â RFC 2253¿¡ ÀûÇÕÇØ, ´ÙÀ½°ú °°ÀÌ Ç¥ÁØÈ­ µÈ ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.

  1. ¼±µÎÀÇ 0 Àº ´å ´Ü¶ôÀÇ 10 Áø OID ·Î¼­ encode µÈ ¼Ó¼ºÀÇ ÇüÅ·κÎÅÍ Á¦°ÅµÈ´Ù
  2. PrintableString Çü ¹× UTF8String ÇüÀÇ DirectoryString ¼Ó¼º°ª´Â 16 Áø¼ö Çü½Ä¿¡¼­´Â Ãâ·ÂµÇÁö ¾Ê´Â´Ù
  3. PrintableString ¹× UTF8String ÀÌ¿ÜÀÇ ÇüÅÂÀÇ DirectoryString ¼Ó¼º°ª´Â 16 Áø¼ö Çü½Ä¿¡¼­ Ãâ·ÂµÈ´Ù
  4. ÀüÈÄÀÇ °ø¹é ¹®ÀÚ°¡ 16 Áø¼ö ÀÌ¿ÜÀÇ ¼Ó¼º°ª·ÎºÎÅÍ Á¦°ÅµÈ´Ù (°ªÀÌ °ø¹é ¹®ÀÚ¸¦ Æ÷ÇÔÇØ ±¸¼ºµÇ¾î ÀÖ´Â °æ¿ì ÀÌ¿Ü)
  5. 1°³ ÀÌ»óÀÇ °ø¹é ¹®ÀڷκÎÅÍ µÇ´Â ³»ºÎÀÇ ºÎºÐ ij¸¯ÅÍ ¶óÀÎÀº 16 Áø¼ö ÀÌ¿ÜÀÇ ¼Ó¼º°ª¿¡¼­´Â 1°³ÀÇ °ø¹é ¹®ÀÚ¿¡ º¯È¯µÈ´Ù
  6. º¹¼öÀÇ Attribute Value Assertion (AVA)¸¦ Æ÷ÇÔÇÑ Relative Distinguished Name´Â Ç¥ÁØ Å°¿öµå¸¦ Æ÷ÇÔÇÑ AVA ¾ËÆĺª¼ø¼­, ±×¸®°í OID Å°¿öµå¸¦ Æ÷ÇÔÇÑ AVA ¼ýÀÚ¼ø¼­¿¡ Ãâ·ÂµÈ´Ù
  7. À̽ºÄÉÀÌÇÁ µÇ´Â ¼Ó¼º°ªÀÇ ¹®ÀÚ´Â RFC 2253 ¼½¼Ç 2.4 ·Î À̽ºÄÉÀÌÇÁ µÈ´Ù°í ±â¼úµÇ°í ÀÖ´Â ¹®ÀÚ »ÓÀÌ´Ù (backslash ¹®ÀÚ¸¦ ¾Õ¿¡ µÎ°í ºÙÀÌ´Â °ÍÀ¸·Î À̽ºÄÉÀÌÇÁ µÈ´Ù)
  8. À̸§ Àüü´Â String.toUpperCase(Locale.US)¸¦ »ç¿ëÇØ ´ë¹®ÀÚ¿¡ º¯È¯µÈ´Ù
  9. À̸§ Àüü´Â String.toLowerCase(Locale.US)¸¦ »ç¿ëÇØ ¼Ò¹®ÀÚ¿¡ º¯È¯µÈ´Ù
  10. À̸§Àº Unicode Standard¿Í UAX #15¿¡ ±â¼úµÇ°í ÀÖ´Â Á¤±ÔÈ­ Çü½Ä KD¸¦ »ç¿ëÇØ, ÃÖÁ¾ÀûÀ¸·Î Á¤±ÔÈ­µÈ´Ù

Àå·¡, Ç¥ÁØ Çü½ÄÀÌ Ãß°¡ µµÀ﵃ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
format - »ç¿ëÇÏ´Â Çü½Ä
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Çü½ÄÀ» »ç¿ëÇÑ, ÀÌ X500Principal ij¸¯ÅÍ ¶óÀÎ Çü½Ä
¿¹¿Ü:
IllegalArgumentException - ÁöÁ¤µÈ Çü½ÄÀÌ ¹«È¿ÀÎ °æ¿ì

getEncoded

public byte[] getEncoded()
ASN. 1 DER encode Çü½ÄÀÇ ½Äº°¸íÀ» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ±¸Á¶Ã¼ÀÇ ASN. 1 Ç¥±â´Â X500Principal(byte[] name) ·Î ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù.

ÀÌÈÄÀÇ º¯°æÀ¸·ÎºÎÅÍ º¸È£Çϱâ À§Çؼ­ ¸®ÅÏµÈ ¹ÙÀÌÆ® ¹è¿­ÀÇ º¹Á¦°¡ ÀÛ¼ºµË´Ï´Ù.

¹Ýȯ°ª:
ASN. 1 DER encode Çü½Ä¿¡ ÇÑ ½Äº°¸íÀ» Æ÷ÇÔÇÑ ¹ÙÀÌÆ® ¹è¿­

toString

public String  toString()
ÀÌ X500Principal, »ç¿ëÀÚ°¡ »ç¿ëÇϱ⠽¬¿î ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀ» ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Principal ³»ÀÇ toString
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
ÀÌ X500Principal ij¸¯ÅÍ ¶óÀΠǥÇö

equals

public boolean equals(Object  o)
ÁöÁ¤µÈ Object °÷ÀÇ X500Principal°¡ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù.

ƯÈ÷, Object o°¡ X500Principal À̸ç, ÀÌ °´Ã¼¿Í o Ç¥ÁØÀûÀΠij¸¯ÅÍ ¶óÀΠǥÇö (getName(X500Principal.CANONICAL) ¸Þ¼­µå·Î Ãëµæ)°¡ µ¿ÀÏÇÑ °æ¿ì¿¡ ÀÌ ¸Þ¼­µå´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ±¸ÇöÀº RFC 2459 ¿ä°Ç¿¡ ÁØ°ÅÇÏ°í ÀÖ½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Principal ³»ÀÇ equals
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ equals
ÆĶó¹ÌÅÍ:
o - ÀÌ X500Principal¿Í µ¿ÀÏÇÑÁö ¾î¶²Áö°¡ ºñ±³µÇ´Â Object
¹Ýȯ°ª:
ÁöÁ¤ÇÑ ObjectÀÌ ÀÌ X500Principal¿Í µ¿ÀÏÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
ÀÌ X500Principal Çؽà Äڵ带 ¸®ÅÏÇÕ´Ï´Ù.

Çؽà ÄÚµå´Â getName(X500Principal.CANONICAL). hashCode()·Î °è»êµË´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Principal ³»ÀÇ hashCode
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ X500Principal Çؽà ÄÚµå
°ü·Ã Ç׸ñ:
Object.equals(java.lang.Object), Hashtable

JavaTM 2 Platform
Standard Ed. 5.0

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