JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.security
Ŭ·¡½º SignedObject

java.lang.Object 
  |
  +--java.security.SignedObject
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Serializable

public final class SignedObject
extends Object
implements Serializable

SignedObject ´Â ÀÎÁõ ½ÇÇà½Ã ¿ÀºêÁ§Æ®ÀÇ ÀÛ¼ºÀ» ¸ñÀûÀ¸·Î ÇÑ Å¬·¡½ºÀÔ´Ï´Ù. ÀÌ ½ÇÇà½Ã ¿ÀºêÁ§Æ®ÀÇ Á¤ÇÕ¼ºÀÌ ¼Õ»óµÇ¾úÀ» °æ¿ì´Â ¹Ýµå½Ã °ËÃâµË´Ï´Ù.

º¸´Ù ±¸Ã¼ÀûÀ¸·Î´Â SignedObject ´Â ´Ù¸¥ Serializable ¿ÀºêÁ§Æ®, ¼­¸í ÷ºÎ ¿ÀºêÁ§Æ®, ¹× ±× ¼­¸íÀ» º¸°ü À¯ÁöÇÕ´Ï´Ù.

¼­¸í ÷ºÎ ¿ÀºêÁ§Æ®´Â ¿øÀÇ ¿ÀºêÁ§Æ®ÀÇ Á÷·ÄÈ­ µÈ Çü½Ä¿¡¼­ÀÇ Á¤¹ÐÇÑ Ä«ÇÇÀÔ´Ï´Ù. ÇÑ ¹ø Ä«Çǰ¡ »ý¼ºµÇ¸é(ÀÚ), ¿øÀÇ ¿ÀºêÁ§Æ®¸¦ ÇÑÃþ ´õ Á¶ÀÛÇØµµ, Ä«ÇÇ¿¡ ¿µÇâÀ» ÁÙ °ÍÀº ¾ø½À´Ï´Ù.

±âº»À¸·Î µÇ´Â ¼­¸í ¾Ë°í¸®ÁòÀº constructor °ú verify ¸Þ¼Òµå¿¡°Ô °Ç³×Áö´Â Signature ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ ÁöÁ¤µË´Ï´Ù. ´ÙÀ½¿¡, ¼­¸íÀÇ ÀϹÝÀûÀÎ »ç¿ë¹ýÀ» ³ªÅ¸³À´Ï´Ù.

 Signature signingEngine = Signature.getInstance(algorithm,
                                                 provider);
 SignedObject so = new SignedObject(myobject, signingKey,
                                    signingEngine);
 

´ÙÀ½¿¡, °ËÁõÀÇ ÀϹÝÀûÀÎ »ç¿ë¹ýÀ» ³ªÅ¸³À´Ï´Ù (SignedObject so ¸¦ ¹Þ°í ÀÖ´Ù).

 Signature verificationEngine =
     Signature.getInstance(algorithm, provider);
 if (so.verify(publickey, verificationEngine))
     try {
         Object myobj = so.getObject();
     } catch (java.lang.ClassNotFoundException e) {};
 

À¯ÀÇÁ¡À» ¸î°³Àΰ¡ µì´Ï´Ù. ÃÖÃÊ·Î, ¼­¸í ¿£ÁøÀ̳ª °ËÁõ ¿£ÁøÀº constructor °ú verify ¸Þ¼Òµå³»¿¡¼­ ÀçÃʱâÈ­µÇ¹Ç·Î, ±×·¯ÇÑ ¿£ÁøÀ» ÃʱâÈ­ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ´ÙÀ½¿¡, °ËÁõÀ» ¼º°ø½ÃŰ·Á¸é , ÁöÁ¤µÈ °ø°³¿­¼è°¡, SignedObject ¸¦ »ý¼ºÇϴµ¥ »ç¿ëÇÏ´Â ºñ°ø°³¿­¼è¿¡ ÀÏÄ¡Çϰí ÀÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

ÇÑÃþ ´õ Áß¿äÇÑ °ÍÀº À¯¿¬¼ºÀÔ´Ï´Ù. constructor °ú verify ¸Þ¼Òµå´Â Ä¿½ºÅ͸¶ÀÌÁî µÈ ¼­¸í ¿£Áø¿¡ ÀÇÇØ, ¾ÏÈ£ ÇÁ·Î¹ÙÀÌ´õÀÇ ÀϺημ­ Á¤½ÄÀ¸·Î ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº ¼­¸í ¾Ë°í¸®ÁòÀ» ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸, ¼­¸íÀÇ °ËÁõ¿¡´Â verify ¸Þ¼ÒµåÀÇ Signature ¿£Áø ÀÚ½ÅÀÇ ±¸ÇöÀÌ ºÒ·Á °¡¹Ç·Î, °ËÁõ¿ë Äڵ带 ±â¼úÇÏ´Â ÇÁ·Î±×·¡¸Ó´Â ¾î´À Signature ¿£ÁøÀÌ »ç¿ëÁßÀÎÁö¸¦ È®ÀÎÇÏ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé, ¾ÇÀǰ¡ ÀÖ´Â Signature ´Â ½ÃÅ¥·¯Æ¼ üũ¸¦ ¸éÇϱâ À§Çؼ­(¶§¹®¿¡) °ËÁõÀ¸·Î Ç×»ó true ¸¦ µ¹·ÁÁÖ·Á°í ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

¸¹Àº ¼­¸í ¾Ë°í¸®Áò Áß(¾È)¿¡¼­, DSA ¹× SHA-1 ¸¦ »ç¿ëÇÑ NIST Ç¥ÁØÀÇ DSA ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Ë°í¸®ÁòÀº ¼­¸í°ú °°Àº ±Ô¾àÀ» »ç¿ëÇØ ÁöÁ¤µË´Ï´Ù. ¿¹¸¦ µé¾î, SHA-1 ¸Þ¼¼Áö ´ÙÀÌÁ¦½ºÆ® ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ´Â DSA ¾Ë°í¸®ÁòÀº SHA/DSA ¶Ç´Â SHA-1/DSA (À̰͵éÀº µî°¡)¿Í °°ÀÌ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. RSA ÀÇ °æ¿ì´Â ¸Þ¼¼Áö ´ÙÀÌÁ¦½ºÆ® ¾Ë°í¸®Áò¿¡ º¹¼öÀÇ ¼±ÅûçÇ×ÀÌ ÀÖ½À´Ï´Ù. µû¶ó¼­, ¼­¸í ¾Ë°í¸®ÁòÀÇ ÁöÁ¤Àº MD2/RSA, MD5/RSA, ¶Ç´Â SHA-1/RSA ¿Í °°ÀÌ ÇÕ´Ï´Ù. µðÆúÆ®´Â ¾ø±â ¶§¹®¿¡, ¹Ýµå½Ã ¾Ë°í¸®ÁòÀÇ À̸§À» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

¾ÏÈ£ ÆÐŰÁö ÇÁ·Î¹ÙÀÌ´õÀÇ À̸§Àº constructor °ú verify ¸Þ¼Òµå¿¡ ´ëÇÑ Signature ÆÄ¶ó¹ÌÅÍ·Î ÁöÁ¤µË´Ï´Ù. ÀÌ ÇÁ·Î¹ÙÀÌ´õ¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ°¡ »ç¿ëµË´Ï´Ù. °¢ ÀνºÅçÀº ƯÁ¤ ÇÁ·Î¹ÙÀÌ´õ¸¦ µðÆúÆ®·Î¼­ »ç¿ëÇϵµ·Ï(µíÀÌ) ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

SignedObject ¸¦ »ç¿ëÇÏ´Â ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â ÀÌÇÏÀ» ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Signature , Á÷·ÄÈ­ µÈ Çü½Ä

»ý¼ºÀÚÀÇ °³¿ä
SignedObject (Serializable  object, PrivateKey  signingKey, Signature  signingEngine)
          ÀÓÀÇÀÇ Serializable ¿ÀºêÁ§Æ®·ÎºÎÅÍ SignedObject ¸¦ ±¸ÃàÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 String getAlgorithm ()
          ¼­¸í ¾Ë°í¸®ÁòÀÇ À̸§À» ÃëµæÇÕ´Ï´Ù.
 Object getObject ()
          Ä¸½¶È­µÈ ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÕ´Ï´Ù.
 byte[] getSignature ()
          ¼­¸í ÷ºÎ ¿ÀºêÁ§Æ®ÀÇ ¼­¸íÀ», ¹ÙÀÌÆ® ¹è¿­ÀÇ Çü½Ä¿¡¼­ ÃëµæÇÕ´Ï´Ù.
 boolean verify (PublicKey  verificationKey, Signature  verificationEngine)
          ÀÌ SignedObject ³»ÀÇ ¼­¸íÀÌ, ³»ºÎ¿¡ ÀúÀåµÈ ¿ÀºêÁ§Æ®ÀÇ À¯È¿ÇÑ ¼­¸íÀΰ¡ ¾î¶²°¡¸¦, ÁöÁ¤µÈ °ËÁõ ¿£ÁøÀ» »ç¿ëÇØ, ÁöÁ¤µÈ °ËÁõ¿­¼è·Î °ËÁõÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

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

SignedObject

public SignedObject(Serializable  object,
                    PrivateKey  signingKey,
                    Signature  signingEngine)
             throws IOException ,
                    InvalidKeyException ,
                    SignatureException 
ÀÓÀÇÀÇ Serializable ¿ÀºêÁ§Æ®·ÎºÎÅÍ SignedObject À» ±¸ÃàÇÕ´Ï´Ù. ÁöÁ¤µÈ ¿ÀºêÁ§Æ®´Â ÁöÁ¤µÈ ¼­¸í ¿£ÁøÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¼­¸í¿­¼è·Î ¼­¸íµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
object - ¼­¸í ´ë»óÀÇ ¿ÀºêÁ§Æ®
signingKey - ¼­¸íÀ» À§ÇÑ ºñ°ø°³¿­¼è
signingEngine - ¼­¸í ¿£Áø
¿¹¿Ü:
IOException - Á÷·ÄÈ­·Î ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
InvalidKeyException - ¿­¼è°¡ ¹«È¿ÀÎ °æ¿ì
SignatureException - ¼­¸íÀÌ ½ÇÆÐÇßÀ» °æ¿ì
¸Þ¼ÒµåÀÇ »ó¼¼

getObject

public Object  getObject()
                 throws IOException ,
                        ClassNotFoundException 
ĸ½¶È­µÈ ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÕ´Ï´Ù. ÀÌ ¿ÀºêÁ§Æ®´Â º¹±ÍÇϱâ Àü¿¡ Á÷·ÄÈ­°¡ º¹¿øµË´Ï´Ù.

¹Ýȯ°ª:
ĸ½¶È­µÈ ¿ÀºêÁ§Æ®
¿¹¿Ü:
IOException - Á÷·ÄÈ­ º¹¿øÀ¸·Î ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
ClassNotFoundException - Á÷·ÄÈ­ º¹¿øÀ¸·Î ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

getSignature

public byte[] getSignature()
¼­¸í ÷ºÎ ¿ÀºêÁ§Æ®ÀÇ ¼­¸íÀ», ¹ÙÀÌÆ® ¹è¿­ÀÇ Çü½Ä¿¡¼­ ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
¼­¸í

getAlgorithm

public String  getAlgorithm()
¼­¸í ¾Ë°í¸®ÁòÀÇ À̸§À» ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
¼­¸í ¾Ë°í¸®Áò¸í

verify

public boolean verify(PublicKey  verificationKey,
                      Signature  verificationEngine)
               throws InvalidKeyException ,
                      SignatureException 
ÀÌ SignedObject ³»ÀÇ ¼­¸íÀÌ, ³»ºÎ¿¡ ÀúÀåµÈ ¿ÀºêÁ§Æ®ÀÇ À¯È¿ÇÑ ¼­¸íÀΰ¡ ¾î¶²°¡¸¦, ÁöÁ¤µÈ °ËÁõ ¿£ÁøÀ» »ç¿ëÇØ, ÁöÁ¤µÈ °ËÁõ¿­¼è·Î °ËÁõÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
verificationKey - °ËÁõ¿ëÀÇ °ø°³¿­¼è
verificationEngine - ¼­¸í °ËÁõ ¿£Áø
¹Ýȯ°ª:
¼­¸íÀÌ À¯È¿ÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
SignatureException - ¼­¸í °ËÁõÀÌ ½ÇÆÐÇßÀ» °æ¿ì
InvalidKeyException - °ËÁõ¿­¼è°¡ ¹«È¿ÀÎ °æ¿ì

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.