JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

java.lang.Object 
  |
  +--javax.security.auth.x500.X500Principal
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Principal , Serializable

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 ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀº 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 (¾î´ÀÂÊÀ̳ª °¡´É)À¸·Î Á¤ÀÇµÈ ¹®¹ýÀ» »ç¿ëÇØ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

ÀÌ constructor Àº 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 Ç¥ÇöÀ» º¹È£È­(decode) ÇÏ´Â °ÍÀ¸·Î ¾òÀ» ¼ö ÀÖ´Â Unicode ij¸¯ÅÍ ¶óÀÎÀÌ µË´Ï´Ù.

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

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

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

ÆÄ¶ó¹ÌÅÍ:
format - »ç¿ëÇÏ´Â Çü½Ä
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Çü½ÄÀ» »ç¿ëÇÑ, ÀÌ X500Principal ÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½Ä
¿¹¿Ü:
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 ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇö

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

hashCode

public int hashCode()
ÀÌ X500Principal ÀÇ ÇØ½Ã Äڵ带 µ¹·ÁÁÝ´Ï´Ù.

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

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Principal ³»ÀÇ hashCode
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ X500Principal ÀÇ ÇØ½Ã ÄÚµå

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.