JavaTM 2 Platform
Standard Ed. 5.0

org.ietf.jgss
ÀÎÅÍÆäÀ̽º GSSContext


public interface GSSContext

ÀÌ ÀÎÅÍÆäÀ̽º´Â GSS-API ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ĸ½¶È­ÇØ, ±× ÄÁÅؽºÆ® À¸·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ½ÃÅ¥·¯Æ¼ ¼­ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®Àº ·ÎÄÿ¡ ÃëµæÇÑ ÀÚ°ÝÀ» »ç¿ëÇØ ÇǾ¿¡ È®¸³µË´Ï´Ù. 1 Á¶ÀÇ ÇǾ¿¡´Â °°Àº ÀÚ°Ý ¶Ç´Â ´Ù¸¥ ÀÚ°ÝÀ» »ç¿ëÇÏ´Â º¹¼öÀÇ ÄÁÅؽºÆ®ÀÌ µ¿½Ã¿¡ Á¸ÀçÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. GSS-API´Â ÇǾÀÇ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¿¡ ÀÇÇØ »ý¼ºµÇ´Â ÅäÅ«À» Àü¼Û ÇÒ °æ¿ì¿¡ ºÎÇÏÀÇ Àü¼Û ÇÁ·ÎÅäÄÝ¿¡´Â Á¸ÇÏÁö ¾Ê°í, ±× È£ÃâÃø ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÁ¸ÇÕ´Ï´Ù.

È£ÃâÃøÀÌ µðÆúÆ®ÀÇ GSSManagerÀνºÅϽº¸¦ »ç¿ëÇØ ÄÁÅؽºÆ®¸¦ ÀνºÅϽºÈ­ÇÏ´Â °æ¿ì´Â Kerberos v5 GSS-API µµ±¸¸¦ »ç¿ëÇØ ÄÁÅؽºÆ®ÀÌ È®¸³µË´Ï´Ù. ÀÌ µµ±¸´Â OID ¡¸1.2. 840.113554. 1.2. 2¡¹(À¸)·Î¼­ ½Äº°µÇ¾î RFC 1964¿¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù.

ÄÁÅؽºÆ® ÀÇ È®¸³ 󸮰¡ °³½ÃµÇ±â Àü¿¡ È®¸³µÇ´Â ÄÁÅؽºÆ® ÀÇ Æ¯¼ºÀ» ½ÃÀÛÃøÀÌ ¿ä±¸ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. È£ÃâÃøÀÌ ¿ä±¸ÇÑ Æ¯¼ºÀÌ, ºÎÇÏÀÇ µµ±¸¿¡ ÀÇÇØ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ÄÁÅؽºÆ®ÀÌ È®¸³Çϸé, È£ÃâÃøÀº ´Ù¾çÇÑ Äí¿¡¸® ¸Þ¼­µå¸¦ »ç¿ëÇØ, ±× ÄÁÅؽºÆ® À¸·ÎºÎÅÍ Á¦°øµÈ ½ÇÁ¦ÀÇ Æ¯¼ºÀ̳ª ¼­ºñ½º¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. µðÆúÆ®ÀÇ GSSManagerÀνºÅϽº·ÎºÎÅÍ Á¦°øµÇ´Â Kerberos v5 GSS-API µµ±¸¸¦ »ç¿ëÇÏ°í ÀÖÀ» ¶§´Â ¸ðµç ¿É¼Ç ¼­ºñ½º¸¦ ·ÎÄÿ¡ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î »óÈ£ ÀÎÁõ, ÀÚ°ÝÀÇ À§¾ç, ±â¹Ð¼º°ú Á¤ÇÕ¼ºÀÇ º¸È£, ¸Þ¼¼Áö¸¶´ÙÀÇ ¸®Ç÷¹ÀÌ °ËÃâÀ̳ª ¼ø¼­ºÎµîÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. GSS-API ¿¡¼­´Â ¸Þ¼¼ÁöÀÇ ±â¹Ð¼ºÀ» º¸È£ÇÏ·Á¸é, ¸Þ¼¼ÁöÀÇ Á¤ÇÕ¼ºÀ» º¸È£ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÄÁÅؽºÆ®ÀÌ È®¸³ÇÒ ¶§±îÁö, ½ÃÀÛ Ãø¿¡ ÇÑ initSecContext È£Ãâ°ú ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ ÇÑ acceptSecContext È£ÃâÀÌ ¹Ýº¹ÇØÁý´Ï´Ù. ÀÌ ·çÇÁ´Â ÄÁÅؽºÆ®ÀÌ È®¸³Çϸé Á¾·áÇÕ´Ï´Ù. ÀÌ ·çÇÁÀÇ Ã³¸®Áß¿¡ initSecContext ¹× acceptSecContext ¸Þ¼­µå°¡ ÅäÅ«À» »ý¼ºÇØ, ¾îÇø®ÄÉÀ̼ÇÀº ±× ÅäÅ«À» ÇǾ ¼Û½ÅÇÕ´Ï´Ù. ÇǾî´Â acceptSecContext ¶Ç´Â initSecContext¿¡ ´ëÇؼ­ ÀûÀýÇÑ ÅäÅ«À» ÀÔ·ÂÀ¸·Î¼­ °Ç³×ÁÝ´Ï´Ù.

ÄÁÅؽºÆ®ÀÌ ¿ÏÀüÇÏ°Ô È®¸³Çϱâ Àü¿¡¼­µµ, isProtReady ¸Þ¼­µå¸¦ È£ÃâÇØ, wrap ¹× getMIC ¿¡ ÇÑ ¸Þ¼¼Áö¸¶´ÙÀÇ Á¶ÀÛ¿¡ ÄÁÅؽºÆ®¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇϸé, ¿ÏÀüÇÏ°Ô È®¸³µÇ±â ÀüÀÇ ÄÁÅؽºÆ®¿¡ ´ëÇؼ­ ¸Þ¼¼Áö¸¶´ÙÀÇ Á¶ÀÛÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇÑ ÈÄ, Áï isProtReady ¸Þ¼­µå·ÎºÎÅÍ true°¡ ¸®ÅÏµÈ ÈÄ¿¡´Â È®¸³µÈ ÄÁÅؽºÆ® ÀÇ ½ÇÁ¦ÀÇ Æ¯¼ºÀ̳ª ¼­ºñ½º¸¦ È®ÀÎÇϱâ À§Çؼ­ Äí¿¡¸® ·çƾÀ» È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, wrap ¹× getMIC ¸Þ¼¼Áö¸¶´ÙÀÇ ¸Þ¼­µå¸¦ »ç¿ëÇØ, ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â µ¥ÀÌÅÍ¿¡ ´ëÇؼ­ ¾Ïȣȭ Á¶ÀÛÀ» ½Ç½ÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÄÁÅؽºÆ®ÀÌ ºÒÇÊ¿äÇÏ°Ô µÇ¸é, dispose¸¦ È£ÃâÇØ, ±× ÄÁÅؽºÆ®ÀÌ »ç¿ëÇÏ°í ÀÖ´Â ½Ã½ºÅÛ ÀÚ¿øÀ» ¸ðµÎ ÇعæÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®Àº º¸Åë, ó¸®ÇÏ´Â ÅäÅ«¿¡ °üÇÑ ¼ø¼­ºÎ¿Í ¸®Ç÷¹ÀÌ °ËÃâ Á¤º¸¸¦ º¸°ü À¯ÁöÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡ ÅäÅ«ÀÌ ÀÌ ÄÁÅؽºÆ®¿¡ °Ô °Ç³×Á® 󸮵Ǵ ¼ø¼­°¡ Áß¿äÇÏ°Ô µË´Ï´Ù. ¶Ç, ÀÌ ÀÎÅÍÆäÀ̽º³»ÀÇ ¸Þ¼­µå´Â µ¿±âÈ­ µÇÁö ¾Ê½À´Ï´Ù. º¹¼öÀÇ thread°£¿¡ GSSContext¸¦ °øÀ¯ÇÒ ¶§´Â ÇϵîÀÇ ¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ µ¿±âÈ­¸¦ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

GSS-API ÄÁÅؽºÆ®¸¦ »ç¿ëÇÒ ¶§ÀÇ ½ÃÅ¥·¯Æ¼ Á¦ÇÑÀº GSS-API µµ±¸ ÇÁ·Î¹ÙÀÌ´õ¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù. ÀÌ·¯ÇÑ Á¦ÇÑ¿¡ ´ëÇؼ­´Â °¢ µµ±¸ ÇÁ·Î¹ÙÀÌ´õÀÇ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ. ÀÌ·¯ÇÑ ½ÃÅ¥·¯Æ¼ Á¦ÇÑÀ» µµ±¸ Ãþ¿¡¼­ °Ë»çÇÏ´Â °æ¿ì´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀûÀýÇÑ ±ÇÇÑÀÌ ºÎ¿©µÇ°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

´ÙÀ½¿¡ ³ªÅ¸³»´Â Äڵ忹´Â ½ÃÀÛÃø ÇǾîÀÇ GSSContextÀÎÅÍÆäÀ̽ºÀÇ »ç¿ë¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. GSSContext °´Ã¼¿¡ ´ëÇؼ­ °´Ã¼ÀÇ ÀνºÅϽºÈ­, ÁöÁ¤ÇÏ°í ½ÍÀº Ç÷¡±×ÀÇ ¼³Á¤, ÄÁÅؽºÆ® ÀÇ È®¸³, ½ÇÁ¦ÀÇ ÄÁÅؽºÆ® Ç÷¡±×ÀÇ Á¶È¸, ¾îÇø®ÄÉÀÌ¼Ç µ¥ÀÌÅÍ¿¡ ´ëÇÑ ¸Þ¼¼Áö¸¶´ÙÀÇ Á¶ÀÛ, ÄÁÅؽºÆ® ÀÇ ÃÖÁ¾ °ËÃâµîÀ» ½Ç½ÃÇÏ°í ÀÖ½À´Ï´Ù.


    // Create a context using default credentials 
    // and the implementation specific default mechanism
    GSSManager manager ...
    GSSName targetName ...
    GSSContext context = manager.createContext(targetName, null, null,
                                           GSSContext.INDEFINITE_LIFETIME);
 
    // set desired context options prior to context establishment
    context.requestConf(true);
    context.requestMutualAuth(true);
    context.requestReplayDet(true);
    context.requestSequenceDet(true);
    
    // establish a context between peers

    byte []inToken = new byte[0];

    // Loop while there still is a token to be processed

    while (! context.isEstablished()) {

        byte[] outToken 
            = context.initSecContext(inToken, 0, inToken.length);
        
        // send the output token if generated
        if (outToken ! = null)
            sendToken(outToken);
  
        if (! context.isEstablished()) {
            inToken = readToken();
    }
    
     // display context information
     System.out.println("Remaining lifetime in seconds = " 
                                          + context.getLifetime());
     System.out.println("Context mechanism = " + context.getMech());
     System.out.println("Initiator = " + context.getSrcName());
     System.out.println("Acceptor = " + context.getTargName());
  
     if (context.getConfState())
             System.out.println("Confidentiality (i.e., privacy) is available");
  
     if (context.getIntegState())
             System.out.println("Integrity is available");
  
     // perform wrap on an application supplied message, appMsg,
     // using QOP = 0, and requesting privacy service
     byte [] appMsg ...
  
     MessageProp mProp = new MessageProp(0, true);
  
     byte []tok = context.wrap(appMsg, 0, appMsg.length, mProp);
  
     sendToken(tok);
  
     // release the local-end of the context
     context.dispose();

 

µµÀÔµÈ ¹öÀü :
1.4

ÇÊµå °³¿ä
static int DEFAULT_LIFETIME
          ÄÁÅؽºÆ® ÀÇ µðÆúÆ®ÀÇ ¼ö¸íÀ» ³ªÅ¸³»´Â ¼ö¸í Á¤¼öÀÔ´Ï´Ù.
static int INDEFINITE_LIFETIME
          ÄÁÅؽºÆ® ÀÇ ¼ö¸íÀÌ ¹«±âÇÑÀÎ °ÍÀ» ³ªÅ¸³»´Â ¼ö¸í Á¤¼öÀÔ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 byte[] acceptSecContext (byte[] inToken, int offset, int len)
          ÇǾî·ÎºÎÅÍ ÅäÅ«ÀÌ Âø½ÅÇßÀ» ¶§¿¡ ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ ÀÇÇØ È£ÃâÇÕ´Ï´Ù.
 void acceptSecContext (InputStream  inStream, OutputStream  outStream)
          ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ ÀÇÇØ È£ÃâµÇ´Â ¸Þ¼­µåÀÔ´Ï´Ù.
 void dispose ()
          ÄÁÅؽºÆ® °´Ã¼¿¡ Æ÷ÇԵǰí ÀÖ´Â ½Ã½ºÅÛ ÀÚ¿ø°ú ¾Ïȣȭ Á¤º¸¸¦ ¸ðµÎ ÇعæÇØ, ±× ÄÁÅؽºÆ®¸¦ ¹«È¿·Î ÇÕ´Ï´Ù.
 byte[] export ()
          ÀÌ ÄÁÅؽºÆ®¸¦ export ÇØ, ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ ÀÓÆ÷Æ® ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.
 boolean getAnonymityState ()
          ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÌ ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ À͸íÀ¸·Î¼­ ÀÎÁõµÇ°í ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 boolean getConfState ()
          ÀÌ ÄÁÅؽºÆ® À¸·Î µ¥ÀÌÅÍÀÇ ±â¹Ð¼ºÀ» ÀÌ¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù.
 boolean getCredDelegState ()
          ÀÌ ÄÁÅؽºÆ® À¸·Î ÀÚ°ÝÀÇ À§¾çÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 GSSCredential getDelegCred ()
          ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀ¸·ÎºÎÅÍ ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ À§¾ç µÈ ÀÚ°ÝÀ» ÃëµæÇÕ´Ï´Ù.
 boolean getIntegState ()
          ÀÌ ÄÁÅؽºÆ® À¸·Î µ¥ÀÌÅÍÀÇ Á¤ÇÕ¼ºÀ» ÀÌ¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù.
 int getLifetime ()
          ÀÌ ÄÁÅؽºÆ® ÀÇ ³ª¸ÓÁöÀÇ ¼ö¸íÀ» °Ë»çÇÕ´Ï´Ù.
 Oid getMech ()
          ÀÌ ÄÁÅؽºÆ®¿¡ »ç¿ëµÇ°í ÀÖ´Â µµ±¸¸¦ °Ë»çÇÕ´Ï´Ù.
 byte[] getMIC (byte[] inMsg, int offset, int len, MessageProp  msgProp)
          ÁöÁ¤µÈ ¸Þ¼¼ÁöÀÇ ¾Ïȣȭ MIC (¸Þ¼¼Áö Á¤ÇÕ¼º ÄÚµå)¸¦ Æ÷ÇÔÇÑ ÅäÅ«À» ¸®ÅÏÇÕ´Ï´Ù.
 void getMIC (InputStream  inStream, OutputStream  outStream, MessageProp  msgProp)
          ½ºÆ®¸²À» »ç¿ëÇØ, ÁöÁ¤µÈ ¸Þ¼¼ÁöÀÇ ¾Ïȣȭ MIC¸¦ Æ÷ÇÔÇÑ ÅäÅ«À» ¸®ÅÏÇÕ´Ï´Ù.
 boolean getMutualAuthState ()
          ÀÌ ÄÁÅؽºÆ® À¸·Î »óÈ£ ÀÎÁõÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 boolean getReplayDetState ()
          ÀÌ ÄÁÅؽºÆ® ÀÇ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½º·Î ¸®Ç÷¹ÀÌ °ËÃâÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 boolean getSequenceDetState ()
          ÀÌ ÄÁÅؽºÆ® ÀÇ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½º·Î sequence check°¡ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 GSSName getSrcName ()
          ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÇ À̸§À» ¸®ÅÏÇÕ´Ï´Ù.
 GSSName getTargName ()
          ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊÀÇ À̸§À» ¸®ÅÏÇÕ´Ï´Ù.
 int getWrapSizeLimit (int qop, boolean confReq, int maxTokenSize)
          wrap¿¡ °Ç³×ÁÙ ¼ö ÀÖ´Â ¸Þ¼¼Áö »çÀÌÁîÀÇ Á¦ÇÑÀ» °áÁ¤ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù.
 byte[] initSecContext (byte[] inputBuf, int offset, int len)
          ÄÁÅؽºÆ® ÀÇ ½ÃÀÛ Ãø¿¡¾ß´Â È£ÃâµÇ´Â ¸Þ¼­µåÀÔ´Ï´Ù.
 int initSecContext (InputStream  inStream, OutputStream  outStream)
          ÄÁÅؽºÆ® ÀÇ ½ÃÀÛ Ãø¿¡¾ß´Â È£ÃâµÇ´Â ¸Þ¼­µåÀÔ´Ï´Ù.
 boolean isEstablished ()
          ÄÁÅؽºÆ®¸¦ È®¸³Çϱâ Àü¿¡ ÄÁÅؽºÆ® »óŸ¦ È®ÀÎÇÒ °æ¿ì¿¡ »ç¿ëÇÕ´Ï´Ù.
 boolean isInitiator ()
          ÀÌ ÇǾ ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÏÁö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù.
 boolean isProtReady ()
          ÀÌ ÄÁÅؽºÆ® À¸·Î ¸Þ¼¼Áö¸¶´ÙÀÇ Á¶ÀÛÀ» °ð¹Ù·Î °³½ÃÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù.
 boolean isTransferable ()
          export ¸Þ¼­µå¸¦ »ç¿ëÇØ ÀÌ ÄÁÅؽºÆ®¸¦ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ Àü¼Û ÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù.
 void requestAnonymity (boolean state)
          ½ÃÀÛÃøÀÇ ÀÚ°ÝÀ» ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ °ø°³ÇÏÁö ¾Ê°Ô ¿ä±¸ÇÕ´Ï´Ù.
 void requestConf (boolean state)
          wrap ¸Þ¼­µå·Î µ¥ÀÌÅÍÀÇ ±â¹Ð¼ºÀ» À¯È¿ÇÏ°Ô Çϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù.
 void requestCredDeleg (boolean state)
          ÄÁÅؽºÆ® ÀÇ È®¸³ ½Ã¿¡ ½ÃÀÛÃøÀÇ ÀÚ°ÝÀ» ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ À§¾ç Çϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù.
 void requestInteg (boolean state)
          wrap ¸Þ¼­µå¿Í getMIC ¸Þ¼­µå·Î µ¥ÀÌÅÍÀÇ Á¤ÇÕ¼ºÀ» À¯È¿ÇÏ°Ô Çϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù.
 void requestLifetime (int lifetime)
          ÄÁÅؽºÆ® ÀÇ ¼ö¸íÀ» ÃÊ´ÜÀ§·Î ¿ä±¸ÇÕ´Ï´Ù.
 void requestMutualAuth (boolean state)
          ÄÁÅؽºÆ®ÀÌ È®¸³ÇØ ÀÖÀ» ¶§, »óÈ£ ÀÎÁõÀ» Çϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù.
 void requestReplayDet (boolean state)
          ÄÁÅؽºÆ®ÀÌ È®¸³ÇÑ ÈÄ¿¡ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½ºÀÇ ¸®Ç÷¹ÀÌ °ËÃâÀÌ À¯È¿ÇÏ°Ô µÇµµ·Ï ¿ä±¸ÇÕ´Ï´Ù.
 void requestSequenceDet (boolean state)
          ÄÁÅؽºÆ®ÀÌ È®¸³ÇÑ ÈÄ¿¡ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½ºÀÇ sequence check°¡ À¯È¿ÇÏ°Ô µÇµµ·Ï ¿ä±¸ÇÕ´Ï´Ù.
 void setChannelBinding (ChannelBinding  cb)
          ÄÁÅؽºÆ®ÀÌ È®¸³ÇØ ÀÖÀ» ¶§ ä³Î ¹ÙÀεùÀÌ »ç¿ëµÇµµ·Ï ¼³Á¤ÇÕ´Ï´Ù.
 byte[] unwrap (byte[] inBuf, int offset, int len, MessageProp  msgProp)
          ÄÁÅؽºÆ® ÀÇ »ó´ëÃøÀÇ ÇǾî·Î wrap ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» ó¸®Çϱâ À§Çؼ­ »ç¿ëÇÕ´Ï´Ù.
 void unwrap (InputStream  inStream, OutputStream  outStream, MessageProp  msgProp)
          ½ºÆ®¸²À» »ç¿ëÇØ, ÄÁÅؽºÆ® ÀÇ »ó´ëÃøÀÇ ÇǾî·Î wrap ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» ó¸®ÇÕ´Ï´Ù.
 void verifyMIC (byte[] inToken, int tokOffset, int tokLen, byte[] inMsg, int msgOffset, int msgLen, MessageProp  msgProp)
          ÅäÅ« ÆĶó¹ÌÅÍ¿¡ Æ÷ÇԵǴ ¾Ïȣȭ MIC¸¦, ÁöÁ¤µÈ ¸Þ¼¼Áö¿¡ ´ëÇؼ­ °Ë»çÇÕ´Ï´Ù.
 void verifyMIC (InputStream  tokStream, InputStream  msgStream, MessageProp  msgProp)
          ½ºÆ®¸²À» »ç¿ëÇØ, ÅäÅ« ÆĶó¹ÌÅÍ¿¡ Æ÷ÇԵǴ ÁöÁ¤µÈ ¸Þ¼¼ÁöÀÇ ¾Ïȣȭ MIC¸¦ °ËÁõÇÕ´Ï´Ù.
 byte[] wrap (byte[] inBuf, int offset, int len, MessageProp  msgProp)
          È®¸³µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¿¡ ´ëÇؼ­ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½º¸¦ Àû¿ëÇÕ´Ï´Ù.
 void wrap (InputStream  inStream, OutputStream  outStream, MessageProp  msgProp)
          ½ºÆ®¸²À» »ç¿ëÇØ, È®¸³µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¿¡ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½º¸¦ Àû¿ëÇÕ´Ï´Ù.
 

ÇʵåÀÇ »ó¼¼

DEFAULT_LIFETIME

static final int DEFAULT_LIFETIME
ÄÁÅؽºÆ® ÀÇ µðÆúÆ®ÀÇ ¼ö¸íÀ» ³ªÅ¸³»´Â ¼ö¸í Á¤¼öÀÔ´Ï´Ù. ÀÌ °ªÀº 0 À¸·Î ¼³Á¤µË´Ï´Ù.

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

INDEFINITE_LIFETIME

static final int INDEFINITE_LIFETIME
ÄÁÅؽºÆ® ÀÇ ¼ö¸íÀÌ ¹«±âÇÑÀÎ °ÍÀ» ³ªÅ¸³»´Â ¼ö¸í Á¤¼öÀÔ´Ï´Ù. ÀÌ °ªÀº Java ÃÖ´ë Á¤¼ö°ª Integer.MAX_VALUE ·Î ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪
¸Þ¼­µåÀÇ »ó¼¼

initSecContext

byte[] initSecContext(byte[] inputBuf,
                      int offset,
                      int len)
                      throws GSSException 
ÄÁÅؽºÆ® ÀÇ ½ÃÀÛ Ãø¿¡¾ß´Â È£ÃâµÇ´Â ¸Þ¼­µåÀÔ´Ï´Ù. ÄÁÅؽºÆ® ÀÇ ÀÛ¼º 󸮸¦ °³½ÃÇØ, ÇǾîÀÇ acceptSecContext ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» ó¸®ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ãâ·Â ÅäÅ«Àº ÇǾîÀÇ acceptSecContext ¸Þ¼­µå·Î 󸮹ޱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ÇǾ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº isEstablished¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÄÁÅؽºÆ® ÀÇ ÀÌ Æí¿¡ ÄÁÅؽºÆ® ÀÇ È®¸³ 󸮰¡ ¿Ï·áÇß´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. isEstablished·Î ºÎÅÍ ¹Ýȯ°ª false°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì´Â initSecContext¿¡ ¶ÇÇÑ ÅäÅ«À» Á¦°øÇÒ ÇÊ¿ä°¡ ÀÖ´Â °ÍÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇϸé, ÀÌ¿ë °¡´ÉÇÑ ÄÁÅؽºÆ® ¿É¼ÇÀ» get ¸Þ¼­µå¸¦ »ç¿ëÇØ Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

initSecContext ¸Þ¼­µå·ÎºÎÅÍ ÇǾîÀÇ ÅäÅ«ÀÌ µ¹·ÁÁÖ°íÁ®isEstablished·Î ºÎÅ͵µ true°¡ ¸®ÅÏµÈ ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ÅäÅ«Àº ÇǾ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù¸¸, ÄÁÅؽºÆ® ÀÇ »ó´ëÃøÀº ±× ½ÃÁ¡¿¡¼­ ¿ÏÀüÇÏ°Ô È®¸³µÇ¾î ÀÖ½À´Ï´Ù.

ÀϺÎÀÇ µµ±¸ ÇÁ·Î¹ÙÀÌ´õ¿¡¼­´Â ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ½ÃÀÛÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ È£ÃâÇØ Ãø¿¡ ºÎ¿©µÇ°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. Á¢±Ù ±ÇÇÑÀÇ È®Àο¡ ½ÇÆÐÇßÀ» °æ¿ì, ÀÌ ¸Þ¼­µå·ÎºÎÅÍ SecurityExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.

ÆĶó¹ÌÅÍ:
inputBuf - ÇǾ ÀÇÇØ »ý¼ºµÈ ÅäÅ«. ÃÖÃÊÀÇ È£Ãâ¿¡¼­´Â ÇǾî·ÎºÎÅÍ ÅäÅ«À» ¼ö½ÅÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀÌ ÆĶó¹ÌÅÍ´Â ¹«½ÃµÇ´Â
offset - inputBuf ³»ÀÇ ¿ÀÇÁ¼Â(offset). ÀÌ Á¤µµÄ¡·ÎºÎÅÍ ÅäÅ«ÀÌ °³½ÃÇÏ´Â
len - ÅäÅ«ÀÇ ±æÀÌ
¹Ýȯ°ª:
ÇǾ ¼Û½ÅÇÏ´Â ÅäÅ«À» Æ÷ÇÔÇÑ byte[]. nullÀÎ °æ¿ì´Â ÅäÅ«ÀÌ »ý¼ºµÇÁö ¾Ê´Â °ÍÀ» ³ªÅ¸³½´Ù
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.DEFECTIVE_TOKEN, GSSException.BAD_MIC, GSSException.NO_CRED, GSSException.CREDENTIALS_EXPIRED, GSSException.BAD_BINDINGS, GSSException.OLD_TOKEN, GSSException.DUPLICATE_TOKEN, GSSException.BAD_NAMETYPE, GSSException.BAD_MECH, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

initSecContext

int initSecContext(InputStream  inStream,
                   OutputStream  outStream)
                   throws GSSException 
ÄÁÅؽºÆ® ÀÇ ½ÃÀÛ Ãø¿¡¾ß´Â È£ÃâµÇ´Â ¸Þ¼­µåÀÔ´Ï´Ù. ÄÁÅؽºÆ® ÀÇ ÀÛ¼º 󸮸¦ °³½ÃÇØ, ÇǾîÀÇ acceptSecContext ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» ½ºÆ®¸²À» »ç¿ëÇØ Ã³¸®ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå·ÎºÎÅÍ OutpuStream¿¡ ½á³»Áø Ãâ·Â ÅäÅ«Àº ÇǾîÀÇ acceptSecContext È£Ãâ·Î 󸮹ޱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ÇǾ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ÀÌ Ã³¸®¸¦ È®½ÇÈ÷ ½Ç½ÃÇϱâ À§Çؼ­ OutputStream¿¡ ´ëÇؼ­ flush ¸Þ¼­µå¸¦ È£ÃâÇØ 2°³ÀÇ ÇǾÀÇ Á¢¼ÓÀ» ĸ½¶È­ÇÕ´Ï´Ù. ÅäÅ«ÀÌ OutputStream¿¡ ½á³»Á³´ÂÁö ¾î¶°Çß´ÂÁö´Â ÀÌ ¸Þ¼­µåÀÇ ¹Ýȯ°ªÀ¸·ÎºÎÅÍ ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ýȯ°ª 0 Àº ÅäÅ«ÀÌ ½á³»ÁöÁö ¾Ê¾Ò´ø °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÄÁÅؽºÆ® ÀÇ ÀÌ Æí¿¡ ÄÁÅؽºÆ® ÀÇ È®¸³ 󸮰¡ ¿Ï·áÇß´ÂÁö ¾î¶°Çß´ÂÁö´Â isEstablished¸¦ È£ÃâÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. isEstablished·Î ºÎÅÍ ¹Ýȯ°ª false°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì´Â initSecContext¿¡ ¶ÇÇÑ ÅäÅ«À» Á¦°øÇÒ ÇÊ¿ä°¡ ÀÖ´Â °ÍÀ» ³ªÅ¸³» ÀÖ½À´Ï´Ù. ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇϸé, ÀÌ¿ë °¡´ÉÇÑ ÄÁÅؽºÆ® ¿É¼ÇÀ» get ¸Þ¼­µå¸¦ »ç¿ëÇØ Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

initSecContext ¸Þ¼­µå·ÎºÎÅÍ ÇǾîÀÇ ÅäÅ«ÀÌ µ¹·ÁÁÖ°íÁ®isEstablished·Î ºÎÅ͵µ true°¡ ¸®ÅÏµÈ ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ÅäÅ«Àº ÇǾ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù¸¸, ÄÁÅؽºÆ® ÀÇ »ó´ëÃøÀº ±× ½ÃÁ¡¿¡¼­ ¿ÏÀüÇÏ°Ô È®¸³µÇ¾î ÀÖ½À´Ï´Ù.

GSS-API ÀÎÁõ ÅäÅ«¿¡´Â °³½Ã ÅäÅ«°ú Á¾·á ÅäÅ«ÀÌ Á¤Àǵǰí ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå°¡ È£ÃâµÉ¶§ ¸¶´Ù ÀÌ·¯ÇÑ ÅäÅ«ÀÌ 1°³ ¾¿ ÀÐÈü´Ï´Ù. ÅäÅ«ÀÇ ÀϺΰ¡ ÀÐÈ÷Áö ¾Ê¾Ò´ø °æ¿ì, ±× ½ºÆ®¸²Àº ºí·Ï µË´Ï´Ù. ´Ù¸¥ ¸ðµç Á¡¿¡¼­´Â ÀÌ ¸Þ¼­µå´Â byte ¹è¿­À» º£À̽º·Î ÇÑ initSecContext ¿Í °°½À´Ï´Ù.

ÀϺÎÀÇ µµ±¸ ÇÁ·Î¹ÙÀÌ´õ¿¡¼­´Â ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ½ÃÀÛÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ È£ÃâÇØ Ãø¿¡ ºÎ¿©µÇ°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. Á¢±Ù ±ÇÇÑÀÇ È®Àο¡ ½ÇÆÐÇßÀ» °æ¿ì, ÀÌ ¸Þ¼­µå·ÎºÎÅÍ SecurityExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.

´ÙÀ½ÀÇ Äڵ忹´Â ÀÌ ¸Þ¼­µåÀÇ »ç¿ë ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.


     InputStream is ...
     OutputStream os ...
     GSSContext context ...

     // Loop while there is still a token to be processed

     while (! context.isEstablished()) {

         context.initSecContext(is, os);

         // send output token if generated
         os.flush();
     }
 

ÆĶó¹ÌÅÍ:
inStream - ÇǾ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» Æ÷ÇÔÇÑ InputStream. ÃÖÃÊÀÇ È£Ãâ¿¡¼­´Â ÇǾî·ÎºÎÅÍ ¼ö½ÅÇÏ´Â ÅäÅ«ÀÌ ¾ø±â ¶§¹®¿¡ ÀÌ ÆĶó¹ÌÅÍ´Â ¹«½ÃµÇ´Â
outStream - Ãâ·Â ÅäÅ«ÀÌ ½á³»Áö´Â OutputStream. ÄÁÅؽºÆ® È®¸³ÀÇ ÃÖÁ¾ ´Ü°è¿¡¼­´Â ½á³»Áö´Â ¹ÙÀÌÆ®°¡ ¾ø´Â °Íµµ ÀÖ´Ù
¹Ýȯ°ª:
ÇǾ ¼Û½ÅÇÏ´Â ÅäÅ«ÀÇ ÀϺημ­ OutputStream¿¡ ½á³»Áö´Â ¹ÙÀÌÆ®¼ö. °ª 0 Àº ÅäÅ«À» ¼Û½ÅÇÒ ÇÊ¿ä°¡ ¾ø´Â °ÍÀ» ³ªÅ¸³½´Ù
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.DEFECTIVE_TOKEN, GSSException.BAD_MIC, GSSException.NO_CRED, GSSException.CREDENTIALS_EXPIRED, GSSException.BAD_BINDINGS, GSSException.OLD_TOKEN, GSSException.DUPLICATE_TOKEN, GSSException.BAD_NAMETYPE, GSSException.BAD_MECH, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

acceptSecContext

byte[] acceptSecContext(byte[] inToken,
                        int offset,
                        int len)
                        throws GSSException 
ÇǾî·ÎºÎÅÍ ÅäÅ«ÀÌ Âø½ÅÇßÀ» ¶§¿¡ ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ ÀÇÇØ È£ÃâÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ãâ·Â ÅäÅ«À» ó¸®Çϱâ À§Çؼ­ ÇǾîÀÇ initSecContext ¸Þ¼­µå¿¡ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀº, isEstablished¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÀÌ ÇǾî·Î ÄÁÅؽºÆ® ÀÇ È®¸³ 󸮰¡ ¿Ï·áÇß´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. isEstablished·Î ºÎÅÍ ¹Ýȯ°ª false°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì´Â ÀÌ ¸Þ¼­µå¿¡ ¶ÇÇÑ ÅäÅ«À» Á¦°øÇÒ ÇÊ¿ä°¡ ÀÖ´Â °ÍÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇϸé, ÀÌ¿ë °¡´ÉÇÑ ÄÁÅؽºÆ® ¿É¼ÇÀ» get ¸Þ¼­µå¸¦ »ç¿ëÇØ Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

acceptSecContext ¸Þ¼­µå·ÎºÎÅÍ ÇǾîÀÇ ÅäÅ«ÀÌ µ¹·ÁÁÖ°íÁ®isEstablished·Î ºÎÅ͵µ true°¡ ¸®ÅÏµÈ ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ÅäÅ«Àº ÇǾ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù¸¸, ÄÁÅؽºÆ® ÀÇ »ó´ëÃøÀº ±× ½ÃÁ¡¿¡¼­ ¿ÏÀüÇÏ°Ô È®¸³µÇ¾î ÀÖ½À´Ï´Ù.

ÀϺÎÀÇ µµ±¸ ÇÁ·Î¹ÙÀÌ´õ¿¡¼­´Â ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ¹Þ¾ÆµéÀÌ´Â Á¢±Ù ±ÇÇÑÀÌ È£ÃâÇØ Ãø¿¡ ºÎ¿©µÇ°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. Á¢±Ù ±ÇÇÑÀÇ È®Àο¡ ½ÇÆÐÇßÀ» °æ¿ì, ÀÌ ¸Þ¼­µå·ÎºÎÅÍ SecurityExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.

´ÙÀ½ÀÇ Äڵ忹´Â ÀÌ ¸Þ¼­µåÀÇ »ç¿ë ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.


     byte[] inToken;
     byte[] outToken;
     GSSContext context ...

     // Loop while there is still a token to be processed

     while (! context.isEstablished()) {
         inToken = readToken();
         outToken = context.acceptSecContext(inToken, 0,
                                             inToken.length);
         // send output token if generated
         if (outToken ! = null)
             sendToken(outToken);
     }
 

ÆĶó¹ÌÅÍ:
inToken - ÇǾ ÀÇÇØ »ý¼ºµÈ ÅäÅ«
offset - inMsg ³»ÀÇ ¿ÀÇÁ¼Â(offset). ÀÌ Á¤µµÄ¡·ÎºÎÅÍ ÅäÅ«ÀÌ °³½ÃÇÏ´Â
len - ÅäÅ«ÀÇ ±æÀÌ
¹Ýȯ°ª:
ÇǾ ¼Û½ÅÇÏ´Â ÅäÅ«À» Æ÷ÇÔÇÑ byte[]. nullÀÎ °æ¿ì´Â ÅäÅ«ÀÌ »ý¼ºµÇÁö ¾Ê´Â °ÍÀ» ³ªÅ¸³½´Ù
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.DEFECTIVE_TOKEN, GSSException.BAD_MIC, GSSException.NO_CRED, GSSException.CREDENTIALS_EXPIRED, GSSException.BAD_BINDINGS, GSSException.OLD_TOKEN, GSSException.DUPLICATE_TOKEN, GSSException.BAD_MECH, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

acceptSecContext

void acceptSecContext(InputStream  inStream,
                      OutputStream  outStream)
                      throws GSSException 
ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ ÀÇÇØ È£ÃâµÇ´Â ¸Þ¼­µåÀÔ´Ï´Ù. ½ºÆ®¸²À» »ç¿ëÇØ ÇǾî·ÎºÎÅÍ ¼ö½ÅÇÑ ÅäÅ«À» ó¸®ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå·ÎºÎÅÍ OutpuStream¿¡ ½á³»Áø Ãâ·Â ÅäÅ«Àº ÇǾîÀÇ initSecContext ¸Þ¼­µå·Î 󸮹ޱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ÇǾ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ÀÌ Ã³¸®¸¦ È®½ÇÈ÷ ½Ç½ÃÇϱâ À§Çؼ­ OutputStream¿¡ ´ëÇؼ­ flush ¸Þ¼­µå¸¦ È£ÃâÇØ 2°³ÀÇ ÇǾÀÇ Á¢¼ÓÀ» ĸ½¶È­ÇÕ´Ï´Ù. ÄÁÅؽºÆ® ÀÇ ÀÌ Æí¿¡ ÄÁÅؽºÆ® ÀÇ È®¸³ 󸮰¡ ¿Ï·áÇß´ÂÁö ¾î¶°Çß´ÂÁö´Â isEstablished¸¦ È£ÃâÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. isEstablished·Î ºÎÅÍ ¹Ýȯ°ª false°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì´Â acceptSecContext¿¡ ¶ÇÇÑ ÅäÅ«À» Á¦°øÇÒ ÇÊ¿ä°¡ ÀÖ´Â °ÍÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇϸé, ÀÌ¿ë °¡´ÉÇÑ ÄÁÅؽºÆ® ¿É¼ÇÀ» get ¸Þ¼­µå¸¦ »ç¿ëÇØ Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

acceptSecContext ¸Þ¼­µå·ÎºÎÅÍ ÇǾîÀÇ ÅäÅ«ÀÌ µ¹·ÁÁÖ°íÁ®isEstablished·Î ºÎÅ͵µ true°¡ ¸®ÅÏµÈ ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ÅäÅ«Àº ÇǾ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù¸¸, ÄÁÅؽºÆ® ÀÇ »ó´ëÃøÀº ±× ½ÃÁ¡¿¡¼­ ¿ÏÀüÇÏ°Ô È®¸³µÇ¾î ÀÖ½À´Ï´Ù.

GSS-API ÀÎÁõ ÅäÅ«¿¡´Â °³½Ã ÅäÅ«°ú Á¾·á ÅäÅ«ÀÌ Á¤Àǵǰí ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå°¡ È£ÃâµÉ¶§ ¸¶´Ù ÀÌ·¯ÇÑ ÅäÅ«ÀÌ 1°³ ¾¿ ÀÐÈü´Ï´Ù. ÅäÅ«ÀÇ ÀϺΰ¡ ÀÐÈ÷Áö ¾Ê¾Ò´ø °æ¿ì, ±× ½ºÆ®¸²Àº ºí·Ï µË´Ï´Ù. ´Ù¸¥ ¸ðµç Á¡¿¡¼­´Â ÀÌ ¸Þ¼­µå´Â byte ¹è¿­À» º£À̽º·Î ÇÑ acceptSecContext ¿Í °°½À´Ï´Ù.

ÀϺÎÀÇ µµ±¸ ÇÁ·Î¹ÙÀÌ´õ¿¡¼­´Â ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ¹Þ¾ÆµéÀÌ´Â Á¢±Ù ±ÇÇÑÀÌ È£ÃâÇØ Ãø¿¡ ºÎ¿©µÇ°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. Á¢±Ù ±ÇÇÑÀÇ È®Àο¡ ½ÇÆÐÇßÀ» °æ¿ì, ÀÌ ¸Þ¼­µå·ÎºÎÅÍ SecurityExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.

´ÙÀ½ÀÇ Äڵ忹´Â ÀÌ ¸Þ¼­µåÀÇ »ç¿ë ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.


     InputStream is ...
     OutputStream os ...
     GSSContext context ...

     // Loop while there is still a token to be processed

     while (! context.isEstablished()) {

         context.acceptSecContext(is, os);

         // send output token if generated
         os.flush();
     }
 

ÆĶó¹ÌÅÍ:
inStream - ÇǾ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» Æ÷ÇÔÇÑ InputStream
outStream - Ãâ·Â ÅäÅ«ÀÌ ½á³»Áö´Â OutputStream. ÄÁÅؽºÆ® È®¸³ÀÇ ÃÖÁ¾ ´Ü°è¿¡¼­´Â ½á³»Áö´Â ¹ÙÀÌÆ®°¡ ¾ø´Â °Íµµ ÀÖ´Ù
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.DEFECTIVE_TOKEN, GSSException.BAD_MIC, GSSException.NO_CRED, GSSException.CREDENTIALS_EXPIRED, GSSException.BAD_BINDINGS, GSSException.OLD_TOKEN, GSSException.DUPLICATE_TOKEN, GSSException.BAD_MECH, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

isEstablished

boolean isEstablished()
ÄÁÅؽºÆ®¸¦ È®¸³Çϱâ Àü¿¡ ÄÁÅؽºÆ® »óŸ¦ È®ÀÎÇÒ °æ¿ì¿¡ »ç¿ëÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ÄÁÅؽºÆ®ÀÌ È£ÃâÇØ ¿·¿¡¼­ ¿ÏÀüÇÏ°Ô È®¸³µÇ¾î ÇǾî·ÎºÎÅÍ ÅäÅ«À» ¼ö½ÅÇÒ ÇÊ¿ä°¡ ¾ø´Â °æ¿ì´Â true.

dispose

void dispose()
             throws GSSException 
ÄÁÅؽºÆ® °´Ã¼¿¡ Æ÷ÇԵǰí ÀÖ´Â ½Ã½ºÅÛ ÀÚ¿ø°ú ¾Ïȣȭ Á¤º¸¸¦ ¸ðµÎ ÇعæÇØ, ±× ÄÁÅؽºÆ®¸¦ ¹«È¿·Î ÇÕ´Ï´Ù.

¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

getWrapSizeLimit

int getWrapSizeLimit(int qop,
                     boolean confReq,
                     int maxTokenSize)
                     throws GSSException 
wrap¿¡ °Ç³×ÁÙ ¼ö ÀÖ´Â ¸Þ¼¼Áö »çÀÌÁîÀÇ Á¦ÇÑÀ» °áÁ¤ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÃÖ´ë ¸Þ¼¼Áö »çÀÌÁ ¸®ÅÏÇÕ´Ï´Ù. confReq ¹× qop ÆĶó¹ÌÅÍ°¡ °°Àº wrap ¸Þ¼­µå¿¡ ÀÌ »çÀÌÁîÀÇ ¸Þ¼¼Áö¸¦ °Ç³×ÁÖ¸é, maxTokenSize ¹ÙÀÌÆ® ¾Æ·¡ÀÇ Ãâ·Â ÅäÅ«ÀÌ »ý¼ºµË´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ÃÖ´ë ¸Þ¼¼Áö »çÀÌÁ »ç¿ëÇÏ´Â ÇÁ·ÎÅäÄÝÀ» °³ÀÔ½ÃÄÑ Åë½ÅÇÏ´Â °ÍÀ» ÀüÁ¦·Î ÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇϸé, ¸Þ¼¼Áö¸¦ ´ÜÆíÈ­ÇÏ°í ³ª¼­ º¸È£¸¦ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

GSS-API ±¸Çö¿¡¼­´Â getWrapSizeLimit¸¦ È£ÃâÇßÀ» ¶§¿¡ QOP °ªÀÌ À¯È¿ÇÑ°¡ ¾î¶²°¡¸¦ °ËÃâÇϵµ·Ï Ãßõ ÇÏ°í ÀÖ½À´Ï´Ù. ´Ù¸¸, Çʼö°¡ ¾Æ´Õ´Ï´Ù. ÀÌ ·çƾ¿¡¼­´Â ÃÖ´ë ¸Þ¼¼Áö »çÀÌÁÀÌ º¸ÁõµÇ¾î ¸Þ¼¼Áö º¸È£·Î ÁöÁ¤ÇÑ QOP Ä¡¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¿¡ ´ëÇؼ­´Â º¸ÁõµÇÁö ¾Ê½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
qop - ·¦¿¡ ¿ä±¸ÇÏ´Â º¸È£ ·¹º§
confReq - ·¦¿¡ ÇÁ¶óÀ̹ö½Ã¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â true. ¿ä±¸ÇÏÁö ¾Ê´Â °æ¿ì´Â false
maxTokenSize - ·¦¿¡ ÀÇÇØ »ý¼ºµÇ´Â ÅäÅ«ÀÇ ÃÖ´ë »çÀÌÁî·Î¼­ ÁöÁ¤ÇÏ´Â °ª
¹Ýȯ°ª:
ÁöÁ¤µÈ Ãâ·Â ÅäÅ« »çÀÌÁî¿¡ ´ëÇÑ, ÀÔ·Â ÅäÅ«ÀÇ ÃÖ´ë »çÀÌÁî
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.CONTEXT_EXPIRED, GSSException.BAD_QOP, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

wrap

byte[] wrap(byte[] inBuf,
            int offset,
            int len,
            MessageProp  msgProp)
            throws GSSException 
È®¸³µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¿¡ ´ëÇؼ­ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½º¸¦ Àû¿ëÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â µ¥ÀÌÅÍ¿Í ±×¿¡ ´ëÇÑ ¾Ïȣȭ MIC¸¦ Æ÷ÇÔÇÑ ÅäÅ«À» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ µ¥ÀÌÅÍ´Â ±â¹Ð¼º (ÇÁ¶óÀ̹ö½Ã)ÀÌ ¿ä±¸µÇ¾úÀ» °æ¿ì, ¾ÏȣȭµË´Ï´Ù.

MessageProp °´Ã¼´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ ÀνºÅϽºÈ­ µË´Ï´Ù. ÀÌ °´Ã¼¸¦ »ç¿ëÇØ, ¾Ïȣȭ ¾Ë°í¸®ÁòÀ» ¼±ÅÃÇϱâ À§ÇÑ QOP Ä¡³ª, ÀÓÀÇ ÁöÁ¤À¸·Î ¸Þ¼¼Áö¸¦ ¾ÏȣȭÇϱâ À§ÇÑ ÇÁ¶óÀ̹ö½Ã ¼­ºñ½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ È£Ãâ¿¡ »ç¿ëµÇ´Â ºÎÇÏÀÇ µµ±¸¿¡ ¼­´Â ÀÌ ÇÁ¶óÀ̹ö½Ã ¼­ºñ½º¸¦ Á¦°øÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ±× °æ¿ì´Â ºÎÇÏÀÇ µµ±¸°¡ Á¦°øÇÏ´Â ½ÇÁ¦ÀÇ ÇÁ¶óÀ̹ö½Ã ¼­ºñ½º°¡ ÀÌ MessageProp °´Ã¼·Î ¼³Á¤µË´Ï´Ù. È£ÃâÃøÀº º¹±ÍÇÏÀÚ ¸¶ÀÚ ÇÁ¶óÀ̹ö½Ã ¼­ºñ½º¸¦ Á¶È¸ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ºÎÇÏÀÇ µµ±¸°¡ ¿ä±¸µÈ QOP¸¦ Á¦°øÇÒ ¼ö ¾ø´Â °æ¿ì´Â BAD_QOP Äڵ尡 ¼³Á¤µÈ GSSException°¡ ¹ß»ý µË´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â ·¦¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» »ç¿ëÇØ ¡¸¼¼Å¥¾ÆÈÄ·¹À̹֡¹À» Á¦°øÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ ±¸Çö¿¡¼­´Â ±æÀÌ 0 ¸Þ¼¼ÁöÀÇ ·¦À» Áö¿ø ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ÅäÅ«À» ÇǾ ¼Û½ÅÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
inBuf - º¸È£µÇ´Â ¾îÇø®ÄÉÀÌ¼Ç µ¥ÀÌÅÍ
offset - inBuf ³»ÀÇ ¿ÀÇÁ¼Â(offset). ÀÌ Á¤µµÄ¡·ÎºÎÅÍ µ¥ÀÌÅÍ°¡ °³½ÃÇÏ´Â
len - µ¥ÀÌÅÍÀÇ ±æÀÌ
msgProp - MessageProp ÀνºÅϽº. ÇÊ¿äÇÑ QOP¿Í ÇÁ¶óÀ̹ö½Ã »óŸ¦ ¼³Á¤Çϱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÑ´Ù. µðÆúÆ®ÀÇ QOP¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â ÁöÁ¤ÇÏ´Â QOP ·Î¼­ 0À» ¼³Á¤ÇÑ´Ù. ÀÌ ¸Þ¼­µå·ÎºÎÅÍ º¹±ÍÇϸé, ÀÌ °´Ã¼¿¡´Â ºÎÇÏÀÇ µµ±¸¿¡ ÀÇÇØ ¸Þ¼¼Áö¿¡ Àû¿ëµÈ ½ÇÁ¦ÀÇ ÇÁ¶óÀ̹ö½Ã »óÅ°¡ Æ÷ÇԵȴÙ
¹Ýȯ°ª:
ÇǾ ¼Û½ÅµÇ´Â ÅäÅ«À» Æ÷ÇÔÇÑ byte[]
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.CONTEXT_EXPIRED, GSSException.BAD_QOP, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

wrap

void wrap(InputStream  inStream,
          OutputStream  outStream,
          MessageProp  msgProp)
          throws GSSException 
½ºÆ®¸²À» »ç¿ëÇØ, È®¸³µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¿¡ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½º¸¦ Àû¿ëÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â µ¥ÀÌÅÍ¿Í ±×¿¡ ´ëÇÑ ¾Ïȣȭ MIC¸¦ Æ÷ÇÔÇÑ ÅäÅ«À» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ µ¥ÀÌÅÍ´Â ±â¹Ð¼º (ÇÁ¶óÀ̹ö½Ã)ÀÌ ¿ä±¸µÇ¾úÀ» °æ¿ì¿¡ ¾ÏȣȭµË´Ï´Ù. ÀÌ ¸Þ¼­µå´Â byte ¹è¿­À» º£À̽º·Î ÇÑ wrap ¸Þ¼­µå¿Í °°½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ÅäÅ«À» ÇǾ ¼Û½ÅÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ÀÌ Ã³¸®¸¦ È®½ÇÈ÷ ½Ç½ÃÇϱâ À§Çؼ­ OutputStream¿¡ ´ëÇؼ­ flush ¸Þ¼­µå¸¦ È£ÃâÇØ 2°³ÀÇ ÇǾÀÇ Á¢¼ÓÀ» ĸ½¶È­ÇÕ´Ï´Ù.

MessageProp °´Ã¼´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ ÀνºÅϽºÈ­ µË´Ï´Ù. ÀÌ °´Ã¼¸¦ »ç¿ëÇØ, ¾Ïȣȭ ¾Ë°í¸®ÁòÀ» ¼±ÅÃÇϱâ À§ÇÑ QOP Ä¡³ª, ÀÓÀÇ ÁöÁ¤À¸·Î ¸Þ¼¼Áö¸¦ ¾ÏȣȭÇϱâ À§ÇÑ ÇÁ¶óÀ̹ö½Ã ¼­ºñ½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ È£Ãâ¿¡ »ç¿ëµÇ´Â ºÎÇÏÀÇ µµ±¸¿¡ ¼­´Â ÀÌ ÇÁ¶óÀ̹ö½Ã ¼­ºñ½º¸¦ Á¦°øÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ±× °æ¿ì´Â ºÎÇÏÀÇ µµ±¸°¡ Á¦°øÇÏ´Â ½ÇÁ¦ÀÇ ÇÁ¶óÀ̹ö½Ã ¼­ºñ½º°¡ ÀÌ MessageProp °´Ã¼·Î ¼³Á¤µË´Ï´Ù. È£ÃâÃøÀº º¹±ÍÇÏÀÚ ¸¶ÀÚ ÇÁ¶óÀ̹ö½Ã ¼­ºñ½º¸¦ Á¶È¸ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ºÎÇÏÀÇ µµ±¸°¡ ¿ä±¸µÈ QOP¸¦ Á¦°øÇÒ ¼ö ¾ø´Â °æ¿ì´Â BAD_QOP Äڵ尡 ¼³Á¤µÈ GSSException°¡ ¹ß»ý µË´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â ·¦¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» »ç¿ëÇØ ¡¸¼¼Å¥¾ÆÈÄ·¹À̹֡¹À» Á¦°øÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ ±¸Çö¿¡¼­´Â ±æÀÌ 0 ¸Þ¼¼ÁöÀÇ ·¦À» Áö¿ø ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
inStream - º¸È£µÇ´Â ¾îÇø®ÄÉÀÌ¼Ç µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ InputStream. InStream ³»ÀÇ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ°¡ ¸ðµÎ »ç¿ëµÇ´Â
outStream - º¸È£µÈ ¸Þ¼¼Áö¸¦ ½á³»´Â OutputStream
msgProp - MessageProp ÀνºÅϽº. ÇÊ¿äÇÑ QOP¿Í ÇÁ¶óÀ̹ö½Ã »óŸ¦ ¼³Á¤Çϱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÑ´Ù. µðÆúÆ®ÀÇ QOP¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â ÁöÁ¤ÇÏ´Â QOP ·Î¼­ 0À» ¼³Á¤ÇÑ´Ù. ÀÌ ¸Þ¼­µå·ÎºÎÅÍ º¹±ÍÇϸé, ÀÌ °´Ã¼¿¡´Â ºÎÇÏÀÇ µµ±¸¿¡ ÀÇÇØ ¸Þ¼¼Áö¿¡ Àû¿ëµÈ ½ÇÁ¦ÀÇ ÇÁ¶óÀ̹ö½Ã »óÅ°¡ Æ÷ÇԵȴÙ
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.CONTEXT_EXPIRED, GSSException.BAD_QOP, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

unwrap

byte[] unwrap(byte[] inBuf,
              int offset,
              int len,
              MessageProp  msgProp)
              throws GSSException 
ÄÁÅؽºÆ® ÀÇ »ó´ëÃøÀÇ ÇǾî·Î wrap ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» ó¸®Çϱâ À§Çؼ­ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÇÇ¾î ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ±× ·¦ È£Ãâ¿¡°Ô °Ç³×Áø ¸Þ¼¼Áö¸¦ µ¹·ÁÁÖ°í, µ¿½Ã¿¡ ±× ¸Þ¼¼Áö¿¡ ÆĹ¯Èù MIC¸¦ °Ë»çÇÕ´Ï´Ù.

MessageProp °´Ã¼´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ ÀνºÅϽºÈ­ µË´Ï´Ù. ÀÌ °´Ã¼´Â QOP, ¸Þ¼¼Áö¿¡ ±â¹Ð¼ºÀÌ Àû¿ëµÇ°í ÀÖ´ÂÁö ¾î¶²Áö ¹× ¸Þ¼¼Áö »óÅ¿¡ °üÇÑ ±× ¿ÜÀÇ º¸Ãæ Á¤º¸¸¦ È£ÃâÇØ Ãø¿¡ µ¹·ÁÁÖ±â À§Çؼ­ ºÎÇÏÀÇ µµ±¸¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â ·¦¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» »ç¿ëÇØ ¡¸¼¼Å¥¾ÆÈÄ·¹À̹֡¹À» Á¦°øÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ ±¸Çö¿¡¼­´Â ±æÀÌ 0 ¸Þ¼¼ÁöÀÇ ·¦ ¹× ·¦ ÇØÁ¦¸¦ Áö¿ø ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
inBuf - ÇǾî·ÎºÎÅÍ ¼ö½ÅÇÑ ·¦ ÅäÅ«À» Æ÷ÇÔÇÑ byte ¹è¿­
offset - ÅäÅ«ÀÌ °³½ÃÇÏ´Â ¿ÀÇÁ¼Â(offset)
len - ÅäÅ«ÀÇ ±æÀÌ
msgProp - ÀÌ ¸Þ¼­µå·ÎºÎÅÍ º¹±ÍÇϸé, ÀÌ °´Ã¼¿¡´Â Àû¿ëµÈ QOP, ¸Þ¼¼ÁöÀÇ ÇÁ¶óÀ̹ö½Ã »óÅ ¹× ÅäÅ«ÀÇ º¸Ãæ Á¤º¸ (Áߺ¹ ÇÏ°í ÀÖ´Â ³°Àº ¼ø¼­°¡ ¿Ã¹Ù¸£Áö ¾ÊÀº °¸ÀÇ ÈÄ¿¡ Âø½ÅÇß´ÂÁö ¾î¶°Çß´ÂÁö)°¡ Æ÷ÇԵȴÙ
¹Ýȯ°ª:
ÀÔ·Â ÅäÅ«À¸·ÎºÎÅÍ ·¦ ÇØÁ¦µÈ ¸Þ¼¼Áö¸¦ Æ÷ÇÔÇÑ byte[]
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.DEFECTIVE_TOKEN, GSSException.BAD_MIC, GSSException.CONTEXT_EXPIRED, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

unwrap

void unwrap(InputStream  inStream,
            OutputStream  outStream,
            MessageProp  msgProp)
            throws GSSException 
½ºÆ®¸²À» »ç¿ëÇØ, ÄÁÅؽºÆ® ÀÇ »ó´ëÃøÀÇ ÇǾî·Î wrap ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» ó¸®ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÇÇ¾î ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ±× ·¦ È£Ãâ¿¡°Ô °Ç³×Áø ¸Þ¼¼Áö¸¦ µ¹·ÁÁÖ°í, µ¿½Ã¿¡ ±× ¸Þ¼¼Áö¿¡ ÆĹ¯Èù MIC¸¦ °Ë»çÇÕ´Ï´Ù.

MessageProp °´Ã¼´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ ÀνºÅϽºÈ­ µË´Ï´Ù. ÀÌ °´Ã¼´Â QOP, ¸Þ¼¼Áö¿¡ ±â¹Ð¼ºÀÌ Àû¿ëµÇ°í ÀÖ´ÂÁö ¾î¶²Áö ¹× ¸Þ¼¼Áö »óÅ¿¡ °üÇÑ ±× ¿ÜÀÇ º¸Ãæ Á¤º¸¸¦ È£ÃâÇØ Ãø¿¡ µ¹·ÁÁÖ±â À§Çؼ­ ºÎÇÏÀÇ µµ±¸¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â ·¦¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» »ç¿ëÇØ ¡¸¼¼Å¥¾ÆÈÄ·¹À̹֡¹À» Á¦°øÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ ±¸Çö¿¡¼­´Â ±æÀÌ 0 ¸Þ¼¼ÁöÀÇ ·¦ ¹× ·¦ ÇØÁ¦¸¦ Áö¿ø ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¸Þ¼­µå°¡ Àо´Â ÀÔ·Â ÅäÅ«ÀÇ Çü½ÄÀº »ç¿ëÇÏ´Â ºÎÇÏÀÇ µµ±¸ ÀÇ »ç¾ç¿¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå°¡ È£ÃâµÉ¶§ ¸¶´Ù ÀÌ·¯ÇÑ ÅäÅ«ÀÌ 1°³ ¾¿ ÀÐÈü´Ï´Ù. ÀÌ µµ±¸ ÀÇ ÅäÅ«¿¡ °³½Ã ÅäÅ«°ú Á¾·á ÅäÅ«ÀÌ Á¤Àǵǰí ÀÖ´Â °æ¿ì, ÀϺÎÀÇ ÅäÅ«ÀÌ ÀÐÈ÷Áö ¾Ê¾ÒÀ» ¶§´Â InputStream´Â ºí·Ï µË´Ï´Ù. °³½Ã ÅäÅ«°ú Á¾·á ÅäÅ«ÀÌ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº °æ¿ì´Â »ç¿ëÇÒ ¼ö ÀÖ´Â ¸ðµç ¹ÙÀÌÆ®°¡ ±× ÅäÅ«ÀÇ ÀϺζó°í º¸¿©Áý´Ï´Ù.

ÀÔ·Â ½ºÆ®¸²ÀÇ ºí·ÏÀÌ ¹ß»ýÇÏ´Â ÀÏÀÌ ÀÖ´Â Á¡À» Á¦¿ÜÇϸé, ÀÌ ¸Þ¼­µå´Â byte ¹è¿­À» º£À̽º·Î ÇÑ unwrap ¸Þ¼­µå¿Í °°½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
inStream - ÇǾ ÀÇÇØ »ý¼ºµÈ ·¦ ÅäÅ«À» Æ÷ÇÔÇÑ InputStream
outStream - ¾îÇø®ÄÉÀÌ¼Ç ¸Þ¼¼Áö¸¦ ½á³»´Â OutputStream
msgProp - ÀÌ ¸Þ¼­µå·ÎºÎÅÍ º¹±ÍÇϸé, ÀÌ °´Ã¼¿¡´Â Àû¿ëµÈ QOP, ¸Þ¼¼ÁöÀÇ ÇÁ¶óÀ̹ö½Ã »óÅ ¹× ÅäÅ«ÀÇ º¸Ãæ Á¤º¸ (Áߺ¹ ÇÏ°í ÀÖ´Â ³°Àº ¼ø¼­°¡ ¿Ã¹Ù¸£Áö ¾ÊÀº °¸ÀÇ ÈÄ¿¡ Âø½ÅÇß´ÂÁö ¾î¶°Çß´ÂÁö)°¡ Æ÷ÇԵȴÙ
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.DEFECTIVE_TOKEN, GSSException.BAD_MIC, GSSException.CONTEXT_EXPIRED, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

getMIC

byte[] getMIC(byte[] inMsg,
              int offset,
              int len,
              MessageProp  msgProp)
              throws GSSException 
ÁöÁ¤µÈ ¸Þ¼¼ÁöÀÇ ¾Ïȣȭ MIC (¸Þ¼¼Áö Á¤ÇÕ¼º ÄÚµå)¸¦ Æ÷ÇÔÇÑ ÅäÅ«À» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ÅäÅ«Àº ÇÇ¾î ¾îÇø®ÄÉÀ̼ǿ¡ Àü¼Û µË´Ï´Ù. ·¦À» »ç¿ëÇßÀ» °æ¿ì´Â »ç¿ëÀÚ ¸Þ¼¼Áö¸¦ ĸ½¶È­ÇÑ ÅäÅ«ÀÌ ¸®Åϵ˴ϴ٠¸¸, ÀÌ ¸Þ¼­µå¿¡¼­´Â ¸Þ¼¼ÁöÀÇ MIC ¸¸À» Æ÷ÇÔÇÑ Ãâ·Â ÅäÅ«ÀÌ ¸®Åϵ˴ϴ٠.

ÇÁ¶óÀ̹ö½Ã´Â ·¦À» È£ÃâÇßÀ» ¶§¿¡¸¸ Àû¿ëµË´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â getMIC¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» »ç¿ëÇØ ¡¸¼¼Å¥¾ÆÈÄ·¹À̹֡¹À» Á¦°øÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ ±¸Çö¿¡¼­´Â ±æÀÌ 0 ¸Þ¼¼Áö·ÎºÎÅÍ ÆÄ»ýÇÑ MIC¸¦ Áö¿ø ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
inMsg - MIC »ý¼ºÀÇ ´ë»óÀÌ µÇ´Â ¸Þ¼¼Áö
offset - inMsg ³»ÀÇ ¿ÀÇÁ¼Â(offset). ÀÌ Á¤µµÄ¡·ÎºÎÅÍ ¸Þ¼¼Áö°¡ °³½ÃÇÏ´Â
len - ¸Þ¼¼ÁöÀÇ ±æÀÌ
msgProp - MessageProp ÀνºÅϽº. ÇÊ¿äÇÑ QOP¸¦ ¼³Á¤Çϱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÑ´Ù. µðÆúÆ®ÀÇ QOP¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â msgProp·Î ÁöÁ¤ÇÏ´Â QOP ·Î¼­ 0À» ¼³Á¤ÇÏ´ÂÁö, msgProp¿¡ nullÀ» °Ç³×ÁØ´Ù
¹Ýȯ°ª:
ÇǾ ¼Û½ÅµÇ´Â ÅäÅ«À» Æ÷ÇÔÇÑ byte[]
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.CONTEXT_EXPIRED, GSSException.BAD_QOP, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

getMIC

void getMIC(InputStream  inStream,
            OutputStream  outStream,
            MessageProp  msgProp)
            throws GSSException 
½ºÆ®¸²À» »ç¿ëÇØ, ÁöÁ¤µÈ ¸Þ¼¼ÁöÀÇ ¾Ïȣȭ MIC¸¦ Æ÷ÇÔÇÑ ÅäÅ«À» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ÅäÅ«Àº ÇÇ¾î ¾îÇø®ÄÉÀ̼ǿ¡ Àü¼Û µË´Ï´Ù. ·¦À» »ç¿ëÇßÀ» °æ¿ì´Â »ç¿ëÀÚ ¸Þ¼¼Áö¸¦ ĸ½¶È­ÇÑ ÅäÅ«ÀÌ ¸®Åϵ˴ϴ٠¸¸, ÀÌ ¸Þ¼­µå¿¡¼­´Â ¸Þ¼¼ÁöÀÇ MIC ¸¸À» Æ÷ÇÔÇÑ Ãâ·Â ÅäÅ«ÀÌ ¸®Åϵ˴ϴ٠. ÀÌ ¸Þ¼­µå´Â byte ¹è¿­À» º£À̽º·Î ÇÑ getMIC ¸Þ¼­µå¿Í °°½À´Ï´Ù. ÇÁ¶óÀ̹ö½Ã´Â ·¦À» È£ÃâÇßÀ» ¶§¿¡¸¸ Àû¿ëµË´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â getMIC¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» »ç¿ëÇØ ¡¸¼¼Å¥¾ÆÈÄ·¹À̹֡¹À» Á¦°øÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ ±¸Çö¿¡¼­´Â ±æÀÌ 0 ¸Þ¼¼Áö·ÎºÎÅÍ ÆÄ»ýÇÑ MIC¸¦ Áö¿ø ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
inStream - MIC »ý¼ºÀÇ ´ë»óÀÌ µÇ´Â ¸Þ¼¼Áö¸¦ Æ÷ÇÔÇÑ InputStream. InStream ³»¿¡¼­ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ°¡ ¸ðµÎ »ç¿ëµÇ´Â
outStream - Ãâ·Â ÅäÅ«À» ½á³»´Â OutputStream
msgProp - MessageProp ÀνºÅϽº. ÇÊ¿äÇÑ QOP¸¦ ¼³Á¤Çϱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÑ´Ù. µðÆúÆ®ÀÇ QOP¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â msgProp·Î ÁöÁ¤ÇÏ´Â QOP ·Î¼­ 0À» ¼³Á¤ÇÏ´ÂÁö, msgProp¿¡ nullÀ» °Ç³×ÁØ´Ù
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.CONTEXT_EXPIRED, GSSException.BAD_QOP, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

verifyMIC

void verifyMIC(byte[] inToken,
               int tokOffset,
               int tokLen,
               byte[] inMsg,
               int msgOffset,
               int msgLen,
               MessageProp  msgProp)
               throws GSSException 
ÅäÅ« ÆĶó¹ÌÅÍ¿¡ Æ÷ÇԵǴ ¾Ïȣȭ MIC¸¦, ÁöÁ¤µÈ ¸Þ¼¼Áö¿¡ ´ëÇؼ­ °Ë»çÇÕ´Ï´Ù.

MessageProp °´Ã¼´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ ÀνºÅϽºÈ­ µË´Ï´Ù. ÀÌ °´Ã¼´Â ¸Þ¼¼Áö¿¡ Àû¿ëµÈ º¸È£ÀÇ °­ÇÔÀ» ³ªÅ¸³»´Â QOP ¹× ¸Þ¼¼Áö »óÅ¿¡ °üÇÑ ±× ¿ÜÀÇ º¸Ãæ Á¤º¸¸¦ È£ÃâÇØ Ãø¿¡ µ¹·ÁÁÖ±â À§Çؼ­ ºÎÇÏÀÇ µµ±¸¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â getMIC¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» »ç¿ëÇØ ¡¸¼¼Å¥¾ÆÈÄ·¹À̹֡¹À» Á¦°øÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ ±¸Çö¿¡¼­´Â ±æÀÌ 0 ¸Þ¼¼Áö¿¡ ´ëÇÑ MIC¸¦ °è»ê ¹× °Ë»çÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
inToken - ÇǾîÀÇ getMIC ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«
tokOffset - inMsg ³»ÀÇ ¿ÀÇÁ¼Â(offset). ÀÌ Á¤µµÄ¡·ÎºÎÅÍ ÅäÅ«ÀÌ °³½ÃÇÏ´Â
tokLen - ÅäÅ«ÀÇ ±æÀÌ
inMsg - ¾Ïȣȭ MIC °Ë»çÀÇ ´ë»óÀÌ µÇ´Â ¾îÇø®ÄÉÀÌ¼Ç ¸Þ¼¼Áö
msgOffset - inMsg ³»ÀÇ ¿ÀÇÁ¼Â(offset). ÀÌ Á¤µµÄ¡·ÎºÎÅÍ ¸Þ¼¼Áö°¡ °³½ÃÇÏ´Â
msgLen - ¸Þ¼¼ÁöÀÇ ±æÀÌ
msgProp - ÀÌ ¸Þ¼­µå·ÎºÎÅÍ º¹±ÍÇϸé, ÀÌ °´Ã¼¿¡´Â Àû¿ëµÈ QOP ¹× ÅäÅ«ÀÇ º¸Ãæ Á¤º¸ (Áߺ¹ ÇÏ°í ÀÖ´Â ³°Àº ¼ø¼­°¡ ¿Ã¹Ù¸£Áö ¾ÊÀº °¸ÀÇ ÈÄ¿¡ Âø½ÅÇß´ÂÁö ¾î¶°Çß´ÂÁö)°¡ Æ÷ÇԵȴÙ
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.DEFECTIVE_TOKEN, GSSException.BAD_MIC, GSSException.CONTEXT_EXPIRED, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

verifyMIC

void verifyMIC(InputStream  tokStream,
               InputStream  msgStream,
               MessageProp  msgProp)
               throws GSSException 
½ºÆ®¸²À» »ç¿ëÇØ, ÅäÅ« ÆĶó¹ÌÅÍ¿¡ Æ÷ÇԵǴ ÁöÁ¤µÈ ¸Þ¼¼ÁöÀÇ ¾Ïȣȭ MIC¸¦ °ËÁõÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â byte ¹è¿­À» º£À̽º·Î ÇÑ verifyMIC ¸Þ¼­µå¿Í °°½À´Ï´Ù. MessageProp °´Ã¼´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ ÀνºÅϽºÈ­ µË´Ï´Ù. ÀÌ °´Ã¼´Â ¸Þ¼¼Áö¿¡ Àû¿ëµÈ º¸È£ÀÇ °­ÇÔÀ» ³ªÅ¸³»´Â QOP ¹× ¸Þ¼¼Áö »óÅ¿¡ °üÇÑ ±× ¿ÜÀÇ º¸Ãæ Á¤º¸¸¦ È£ÃâÇØ Ãø¿¡ µ¹·ÁÁÖ±â À§Çؼ­ ºÎÇÏÀÇ µµ±¸¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â getMIC¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» »ç¿ëÇØ ¡¸¼¼Å¥¾ÆÈÄ·¹À̹֡¹À» Á¦°øÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ ±¸Çö¿¡¼­´Â ±æÀÌ 0 ¸Þ¼¼Áö¿¡ ´ëÇÑ MIC¸¦ °è»ê ¹× °Ë»çÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¸Þ¼­µå°¡ Àо´Â ÀÔ·Â ÅäÅ«ÀÇ Çü½ÄÀº »ç¿ëÇÏ´Â ºÎÇÏÀÇ µµ±¸ ÀÇ »ç¾ç¿¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå°¡ È£ÃâµÉ¶§ ¸¶´Ù ÀÌ·¯ÇÑ ÅäÅ«ÀÌ 1°³ ¾¿ ÀÐÈü´Ï´Ù. ÀÌ µµ±¸ ÀÇ ÅäÅ«¿¡ °³½Ã ÅäÅ«°ú Á¾·á ÅäÅ«ÀÌ Á¤Àǵǰí ÀÖ´Â °æ¿ì, ÀϺÎÀÇ ÅäÅ«ÀÌ ÀÐÈ÷Áö ¾Ê¾ÒÀ» ¶§´Â InputStream´Â ºí·Ï µË´Ï´Ù. °³½Ã ÅäÅ«°ú Á¾·á ÅäÅ«ÀÌ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº °æ¿ì´Â »ç¿ëÇÒ ¼ö ÀÖ´Â ¸ðµç ¹ÙÀÌÆ®°¡ ±× ÅäÅ«ÀÇ ÀϺζó°í º¸¿©Áý´Ï´Ù.

ÀÔ·Â ½ºÆ®¸²ÀÇ ºí·ÏÀÌ ¹ß»ýÇÏ´Â ÀÏÀÌ ÀÖ´Â Á¡À» Á¦¿ÜÇϸé, ÀÌ ¸Þ¼­µå´Â byte ¹è¿­À» º£À̽º·Î ÇÑ verifyMIC ¸Þ¼­µå¿Í °°½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
tokStream - ÇǾîÀÇ getMIC ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ ÅäÅ«À» Æ÷ÇÔÇÑ InputStream
msgStream - ¾Ïȣȭ MIC °Ë»çÀÇ ´ë»óÀÌ µÇ´Â ¾îÇø®ÄÉÀÌ¼Ç ¸Þ¼¼Áö¸¦ Æ÷ÇÔÇÑ InputStream. msgStream ³»¿¡¼­ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ°¡ ¸ðµÎ »ç¿ëµÇ´Â
msgProp - ÀÌ ¸Þ¼­µå·ÎºÎÅÍ º¹±ÍÇϸé, ÀÌ °´Ã¼¿¡´Â Àû¿ëµÈ QOP ¹× ÅäÅ«ÀÇ º¸Ãæ Á¤º¸ (Áߺ¹ ÇÏ°í ÀÖ´Â ³°Àº ¼ø¼­°¡ ¿Ã¹Ù¸£Áö ¾ÊÀº °¸ÀÇ ÈÄ¿¡ Âø½ÅÇß´ÂÁö ¾î¶°Çß´ÂÁö)°¡ Æ÷ÇԵȴÙ
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.DEFECTIVE_TOKEN, GSSException.BAD_MIC, GSSException.CONTEXT_EXPIRED, GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

export

byte[] export()
              throws GSSException 
ÀÌ ÄÁÅؽºÆ®¸¦ export ÇØ, ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ ÀÓÆ÷Æ® ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇϸé, º¹¼öÀÇ ÇÁ·Î¼¼½º°£¿¡ ÄÁÅؽºÆ®¸¦ °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ·çƾÀº º¸Åë, ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊÀ¸·Î »ç¿ëµË´Ï´Ù. ´ÜÀÏ ÇÁ·Î¼¼½º°¡ Âø½Å Á¢¼Ó ¿ä±¸¸¦ ¼ö½ÅÇØ, ±×·¯ÇÑ ¿ä±¸¿¡ ´ëÇÑ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. ´ÙÀ½¿¡ È®¸³µÈ ÄÁÅؽºÆ®¸¦ ´Ù¸¥ ¸î°³ÀÇ ÇÁ·Î¼¼½º¿¡ °Ç³×ÁÖ¾î, ¸Þ¼¼Áö¸¦ ±³È¯ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ Á¾·áÇØ, ÇÁ·Î¼¼½º°£ ÅäÅ«À» ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ ÇÁ·Î¼¼½º°£ÅäÅ«À» ´Ù¸¥ ÇÁ·Î¼¼½ºÀÇ GSSManager.createContext¿¡ °Ç³×ÁÖ¸é, ±× ÇÁ·Î¼¼½º·Î ±× ÄÁÅؽºÆ®ÀÌ ÀçÂ÷ ½ÃÀ۵˴ϴÙ. ƯÁ¤ÀÇ ÄÁÅؽºÆ® ÀÇ ÀνºÅϽº´Â 1¹ø¿¡ 1°³ ¹Û¿¡ ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ ¶§¹®¿¡ export ÇÑ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ÄÁÅؽºÆ® ÀÇ exportÃø¿¡¼­ ¾×¼¼½º ÇÏ·Á°í Çϸé, ½ÇÆÐÇÕ´Ï´Ù.

ÀÌ ±¸Çö¿¡¼­´Â ÇÁ·Î¼¼½º°£ ÅäÅ«À» ÀÓÆ÷Æ® ÇÏ´Â ÇÁ·Î¼¼½º°¡ ·ÎÄà ½ÃÅ¥·¯Æ¼ Á¤Ã¥ ¶Ç´Â ±¸ÇöÀÇ ¼³Á¤¿¡ ÀÇÇØ Á¦ÇѵǴ ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î °°Àº ¾îÄ«¿îÆ®·Î µ¿ÀÛÇÏ´Â ÇÁ·Î¼¼½º°£¿¡¸¸ ÄÁÅؽºÆ®ÀÌ °Ç³×¹Þ°Å³ª °°Àº ÇÁ·Î¼¼½º ±×·ìÀÇ ÇÁ·Î¼¼½º°£¿¡¸¸ °Ç³×¹Þ°Å³ª ÇÕ´Ï´Ù.

ÇÁ·Î¼¼½º°£ ÅäÅ«¿¡´Â ±â¹Ð Á¤º¸ (¾Ïȣȭ۵î)°¡ Æ÷ÇԵǾî ÀÖ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±â¹Ð Á¤º¸´Â °¡´ÉÇÑ ÇÑ ÇÁ·Î¼¼½º°£ ÅäÅ«¿¡ Æ÷ÇÔÇÏÁö ¾Ê°Ô ÇÏ´ÂÁö, ÅäÅ«À» ¾ÏȣȭÇÏ°í ³ª¼­ ¾îÇø®ÄÉÀ̼ǿ¡ µ¹·ÁÁÖ¼¼¿ä. ´Ù¸¸, Ç¥ÁØÀûÀÎ GSS-API ±¸Çö¿¡¼­´Â ÀÌ·¯ÇÑ ´ëÀÀÀ» Àû¿ëÇÒ ¼ö ¾ø´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÇÁ·Î¼¼½º°£ ÅäÅ«À» »ç¿ëÇÏ´Â °æ¿ì´Â ½ÃÅ¥·¯Æ¼¿¡ ÃæºÐÈ÷ ¹è·ÁÇØ, ½Å·ÚÇÒ ¼ö ÀÖ´Â ÇÁ·Î¼¼½º¿¡ Àü¼ÛÀÇÇØ ÁÖ¼¼¿ä.

½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ® ÀÇ ÇÁ·Î¼¼½º°£ Àü¼ÛÀº ±¸Çö¿¡ µû¶ó¼­´Â Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. isTransferable ¸Þ¼­µå¸¦ È£ÃâÇϸé, ÄÁÅؽºÆ® °´Ã¼¸¦ Àü¼Û ÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

export ÇÒ ¼ö ¾ø´Â ÄÁÅؽºÆ®¿¡ ´ëÇؼ­ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ¿¡·¯ ÄÚµå GSSException.UNAVAILABLE¸¦ Æ÷ÇÔÇÑ ¿¹¿Ü°¡ ¹ß»ý µË´Ï´Ù.

¹Ýȯ°ª:
export µÈ ÄÁÅؽºÆ®¸¦ Æ÷ÇÔÇÑ byte[]
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.UNAVAILABLE, GSSException.CONTEXT_EXPIRED, GSSException.NO_CONTEXT, GSSException.FAILURE À» Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
GSSManager.createContext(byte[])

requestMutualAuth

void requestMutualAuth(boolean state)
                       throws GSSException 
ÄÁÅؽºÆ®ÀÌ È®¸³ÇØ ÀÖÀ» ¶§, »óÈ£ ÀÎÁõÀ» Çϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¿ä±¸´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀ¸·ÎºÎÅÍ, initSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÀÎÁõ µµ±¸¿¡ µû¶ó¼­´Â »óÈ£ ÀÎÁõÀÌ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ¶Ç, ¾îÇø®ÄÉÀ̼ÇÀº »óÈ£ ÀÎÁõÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê¾Æµµ, ÀÎÁõ µµ±¸°¡ »óÈ£ ÀÎÁõÀ» ÇÊ¿ä·Î ÇÏ°í ÀÖ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡ ÀÌ ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇϱâ À§ÇØ, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î getMutualAuthState ¸Þ¼­µå¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
state - »óÈ£ ÀÎÁõÀ» »ç¿ëÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â boolean Ä¡
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
getMutualAuthState()

requestReplayDet

void requestReplayDet(boolean state)
                      throws GSSException 
ÄÁÅؽºÆ®ÀÌ È®¸³ÇÑ ÈÄ¿¡ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½ºÀÇ ¸®Ç÷¹ÀÌ °ËÃâÀÌ À¯È¿ÇÏ°Ô µÇµµ·Ï ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¿ä±¸´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀ¸·ÎºÎÅÍ, initSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÄÁÅؽºÆ®ÀÌ È®¸³ÇØ ÀÖ´Â µ¿¾ÈÀº ¸®Ç÷¹ÀÌ °ËÃâÀº ¿É¼ÇÀº ¾Æ´Ï°í, ºÎÇÏÀÇ µµ±¸ ÀÇ ±â´ÉÀÌ µË´Ï´Ù.

ÀÎÁõ µµ±¸¿¡ µû¶ó¼­´Â ¸®Ç÷¹ÀÌ °ËÃâÀÌ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ¶Ç, ¾îÇø®ÄÉÀ̼ÇÀº ¸®Ç÷¹ÀÌ °ËÃâÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê¾Æµµ, ÀÎÁõ µµ±¸°¡ ¸®Ç÷¹ÀÌ °ËÃâÀ» ÇÊ¿ä·Î ÇÏ°í ÀÖ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡ ÀÌ ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇϱâ À§ÇØ, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î getReplayDetState ¸Þ¼­µå¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¸®Ç÷¹ÀÌ °ËÃâÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´Â °æ¿ì, MessageProp.isDuplicateToken ¸Þ¼­µå¿Í MessageProp.isOldToken ¸Þ¼­µå´Â unwrap ¸Þ¼­µå ¶Ç´Â verifyMIC ¸Þ¼­µå¿¡°Ô °Ç³×Áö´Â MessageProp °´Ã¼¿¡ ´ëÇؼ­ À¯È¿ÇÑ °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
state - È®¸³ÇÑ ÄÁÅؽºÆ®¿¡ ´ëÇؼ­ ¸®Ç÷¹ÀÌ °ËÃâÀ» À¯È¿ÇÏ°Ô ÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â boolean Ä¡
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
getReplayDetState()

requestSequenceDet

void requestSequenceDet(boolean state)
                        throws GSSException 
ÄÁÅؽºÆ®ÀÌ È®¸³ÇÑ ÈÄ¿¡ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½ºÀÇ sequence check°¡ À¯È¿ÇÏ°Ô µÇµµ·Ï ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¿ä±¸´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀ¸·ÎºÎÅÍ, initSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÄÁÅؽºÆ®ÀÌ È®¸³ÇØ ÀÖ´Â µ¿¾ÈÀº sequence check´Â ¿É¼ÇÀº ¾Æ´Ï°í, ºÎÇÏÀÇ µµ±¸ ÀÇ ±â´ÉÀÌ µË´Ï´Ù.

ÀÎÁõ µµ±¸¿¡ µû¶ó¼­´Â sequence check°¡ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ¶Ç, ¾îÇø®ÄÉÀ̼ÇÀº sequence check¸¦ ÇÊ¿ä·Î ÇÏÁö ¾Ê¾Æµµ, ÀÎÁõ µµ±¸°¡ sequence check¸¦ ÇÊ¿ä·Î ÇÏ°í ÀÖ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡ ÀÌ ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇϱâ À§ÇØ, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î getSequenceDetState ¸Þ¼­µå¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. sequence check°¡ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´Â °æ¿ì, MessageProp.isDuplicateToken, MessageProp.isOldToken, MessageProp.isUnseqToken, MessageProp.isGapToken °¢ ¸Þ¼­µå´Â unwrap ¸Þ¼­µå ¶Ç´Â verifyMIC ¸Þ¼­µå¿¡°Ô °Ç³×Áö´Â MessageProp °´Ã¼¿¡ ´ëÇؼ­ À¯È¿ÇÑ °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
state - È®¸³µÈ ÄÁÅؽºÆ®¿¡ ´ëÇؼ­ sequence check¸¦ À¯È¿ÇÏ°Ô ÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â boolean Ä¡
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
getSequenceDetState()

requestCredDeleg

void requestCredDeleg(boolean state)
                      throws GSSException 
ÄÁÅؽºÆ® ÀÇ È®¸³ ½Ã¿¡ ½ÃÀÛÃøÀÇ ÀÚ°ÝÀ» ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ À§¾ç Çϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¿ä±¸´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛ Ãø¿¡¼­ÀÇ º¸°í ½Ç½ÃÇÒ ¼ö°¡ ÀÖ¾îinitSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÎÁõ µµ±¸¿¡ µû¶ó¼­´Â ÀÚ°ÝÀÇ À§¾çÀÌ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡ À§¾çÀ» ÇÊ¿ä·Î ÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀº ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇϱâ À§Çؼ­ getCredDelegState ¸Þ¼­µå¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. À§¾çÀ» »ç¿ëÇؼ­´Â ¾È µÇ¸é ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ³ªÅ¸³µÀ» °æ¿ì, µµ±¸´Â ±× ¿ä±¸¸¦ ¹Þ¾Æ À§¾çÀº ÇàÇØÁöÁö ¾Ê½À´Ï´Ù. ÀÌ°ÍÀº ÀÏ¹Ý ±ÔÄ¢¿¡ ´ëÇÑ ¿¹¿Ü·Î ¾î´À ¼­ºñ½º°¡ ¿ä±¸µÇÁö ¾Ê¾Æµµ µµ±¸°¡ ±× ¼­ºñ½º¸¦ À¯È¿ÇÏ°Ô ÇÏ´Â ÀÏÀÌ ÀÖ´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
state - ÀÚ°ÝÀ» À§¾ç ÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â boolean Ä¡
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
getCredDelegState()

requestAnonymity

void requestAnonymity(boolean state)
                      throws GSSException 
½ÃÀÛÃøÀÇ ÀÚ°ÝÀ» ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ °ø°³ÇÏÁö ¾Ê°Ô ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¿ä±¸´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛ Ãø¿¡¼­ÀÇ º¸°í ½Ç½ÃÇÒ ¼ö°¡ ÀÖ¾îinitSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÎÁõ µµ±¸¿¡ µû¶ó¼­´Â ½ÃÀÛÃøÀÇ À͸íÀÌ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡ ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇϱâ À§ÇØ, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î getAnonymityState ¸Þ¼­µå¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
state - ½ÃÀÛÃøÀÌ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ À͸í ÁÖü·Î¼­ ÀÎÁõµÉÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â boolean Ä¡
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
getAnonymityState()

requestConf

void requestConf(boolean state)
                 throws GSSException 
wrap ¸Þ¼­µå·Î µ¥ÀÌÅÍÀÇ ±â¹Ð¼ºÀ» À¯È¿ÇÏ°Ô Çϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¿ä±¸´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛ Ãø¿¡¼­ÀÇ º¸°í ½Ç½ÃÇÒ ¼ö°¡ ÀÖ¾îinitSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÎÁõ µµ±¸¿¡ µû¶ó¼­´Â ±â¹Ð¼ºÀ» Áö¿ø ÇÏ°í ÀÖÁö ¾Ê´Â °ÍÀ̳ª, ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ¿ä±¸µÇÁö ¾Ê´Â °æ¿ì¿¡¼­µµ ±â¹Ð¼ºÀ» À¯È¿ÇÏ°Ô ÇÏ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇÏ·Á¸é, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î getConfState ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù. ±â¹Ð¼ºÀÌ À¯È¿µÇ°í ÀÖ´Â °æ¿ì¿¡ ÇÑÁ¤ÇØ, wrap ¸Þ¼­µå¿¡°Ô °Ç³×Áø MessageProp °´Ã¼¿¡ Æ÷ÇԵǴ ÇÁ¶óÀ̹ö½Ã ¿ä±¸¸¦ ÀÎÁõ µµ±¸°¡ ¹Þ¾ÆµéÀÔ´Ï´Ù.

±â¹Ð¼ºÀ» À¯È¿ÇÏ°Ô Çϸé, Á¤ÇÕ¼ºµµ ÀÚµ¿ÀûÀ¸·Î À¯È¿ÇÏ°Ô µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
state - ±â¹Ð¼ºÀ» À¯È¿ÇÏ°Ô ÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â boolean Ä¡
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
getConfState(), getIntegState(), requestInteg(boolean), MessageProp

requestInteg

void requestInteg(boolean state)
                  throws GSSException 
wrap ¸Þ¼­µå¿Í getMIC ¸Þ¼­µå·Î µ¥ÀÌÅÍÀÇ Á¤ÇÕ¼ºÀ» À¯È¿ÇÏ°Ô Çϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¿ä±¸´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛ Ãø¿¡¼­ÀÇ º¸°í ½Ç½ÃÇÒ ¼ö°¡ ÀÖ¾îinitSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÎÁõ µµ±¸¿¡ µû¶ó¼­´Â Á¤ÇÕ¼ºÀÌ Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ¶Ç, ¾îÇø®ÄÉÀ̼ÇÀÌ Á¤ÇÕ¼ºÀ» ¿ä±¸ÇÏÁö ¾Ê¾Æµµ, ÀÎÁõ µµ±¸°¡ Á¤ÇÕ¼ºÀ» À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀÌ ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇÏ·Á¸é, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î getIntegState ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù.

Á¤ÇÕ¼ºÀ» ¹«È¿·Î Çϸé, ±â¹Ð¼ºµµ ÀÚµ¿ÀûÀ¸·Î ¹«È¿°¡ µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
state - Á¤ÇÕ¼ºÀ» À¯È¿ÇÏ°Ô ÇÒÁö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â boolean Ä¡
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
getIntegState()

requestLifetime

void requestLifetime(int lifetime)
                     throws GSSException 
ÄÁÅؽºÆ® ÀÇ ¼ö¸íÀ» ÃÊ´ÜÀ§·Î ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µåÀÇ È£ÃâÀº ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀ¸·ÎºÎÅÍ, initSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÄÁÅؽºÆ® ÀÇ ½ÇÁ¦ÀÇ ¼ö¸íÀº ºÎÇÏÀÇ µµ±¸ ÀÇ ±â´É¿¡ µû¶ó¼­ ´Ù¸£±â ¶§¹®¿¡ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î getLifetime ¸Þ¼­µå¸¦ È£ÃâÇØ È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
lifetime - ÄÁÅؽºÆ® À¸·Î ÁöÁ¤ÇÏ°í ½ÍÀº ¼ö¸í (ÃÊ´ÜÀ§). ¹«±âÇÑÀÇ ¼ö¸íÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â INDEFINITE_LIFETIME¸¦ »ç¿ëÇØ, µðÆúÆ®ÀÇ ¼ö¸íÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â DEFAULT_LIFETIME¸¦ »ç¿ëÇÑ´Ù
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
getLifetime()

setChannelBinding

void setChannelBinding(ChannelBinding  cb)
                       throws GSSException 
ÄÁÅؽºÆ®ÀÌ È®¸³ÇØ ÀÖÀ» ¶§ ä³Î ¹ÙÀεùÀÌ »ç¿ëµÇµµ·Ï ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø ¹× ¹Þ¾Æ µéÀÌ´Â ÂÊÀ¸·ÎºÎÅÍ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ´Ù¸¸, ÄÁÅؽºÆ® ÀÇ È®¸³À» °³½ÃÇϱâ Àü¿¡ È£ÃâÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. Áï, ½ÃÀÛÃø¿¡¼­ È£ÃâÇÒ ¶§´Â initSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¹Þ¾Æ µéÀÌ´Â ÂÊÀ¸·ÎºÎÅÍ È£ÃâÇÒ ¶§´Â acceptSecContext¸¦ ÃÖÃʷΠȣÃâÇϱâ Àü¿¡ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
cb - »ç¿ëÇϴ ä³Î ¹ÙÀεù
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

getCredDelegState

boolean getCredDelegState()
ÀÌ ÄÁÅؽºÆ® À¸·Î ÀÚ°ÝÀÇ À§¾çÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀ̶ó°í ºÒ·¯ ¹æÆíÃøÀÇ ¾î´À ÂÊÀ¸·ÎºÎÅÍ¿¡¼­µµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ¿Ã¹Ù¸¥ ÆÇÁ¤ °á°ú¸¦ ¾òÀ¸·Á¸é, ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇÏ°í ³ª¼­ È£ÃâÇØ ÁÖ¼¼¿ä. ½ÃÀÛÃøÀÌ ÀÚ°ÝÀÇ À§¾çÀ» ¹«È¿·Î Çϵµ·Ï ¿ä±¸ÇßÀ» °æ¿ì, requestCredDeleg ¸Þ¼­µå´Â ±× ¿ä±¸¸¦ ¹Þ¾Æµé¿© ±× ½ÃÁ¡À¸·ÎºÎÅÍ ½ÃÀÛ Ãø¿¡ ´ëÇØ false¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
À§¾çÀÌ À¯È¿ÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
requestCredDeleg(boolean)

getMutualAuthState

boolean getMutualAuthState()
ÀÌ ÄÁÅؽºÆ® À¸·Î »óÈ£ ÀÎÁõÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø ¹× È£ÃâÇØ ¿·À¸·ÎºÎÅÍ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ´Ù¸¸, ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇÏ°í ³ª¼­ È£ÃâÇØ ÁÖ¼¼¿ä. »óÈ£ ÀÎÁõÀ» ¿ä±¸ÇÑ ½ÃÀÛÃøÀº ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇÑ ÈÄ¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇØ, ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ¾ø¾ú´ø °æ¿ì´Â ±× ÄÁÅؽºÆ®¸¦ ÆıâÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
»óÈ£ ÀÎÁõÀÌ À¯È¿ÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
requestMutualAuth(boolean)

getReplayDetState

boolean getReplayDetState()
ÀÌ ÄÁÅؽºÆ® ÀÇ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½º·Î ¸®Ç÷¹ÀÌ °ËÃâÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø ¹× È£ÃâÇØ ¿·À¸·ÎºÎÅÍ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ´Ù¸¸, ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇÏ°í ³ª¼­ È£ÃâÇØ ÁÖ¼¼¿ä. ¸®Ç÷¹ÀÌ °ËÃâÀ» ¿ä±¸ÇÑ ½ÃÀÛÃøÀº ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇÑ ÈÄ¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇØ, ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ¾ø¾ú´ø °æ¿ì´Â ±× ÄÁÅؽºÆ®¸¦ ÆıâÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
¸®Ç÷¹ÀÌ °ËÃâÀÌ À¯È¿ÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
requestReplayDet(boolean)

getSequenceDetState

boolean getSequenceDetState()
ÀÌ ÄÁÅؽºÆ® ÀÇ ¸Þ¼¼Áö¸¶´ÙÀÇ ½ÃÅ¥·¯Æ¼ ¼­ºñ½º·Î sequence check°¡ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø ¹× È£ÃâÇØ ¿·À¸·ÎºÎÅÍ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ´Ù¸¸, ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇÏ°í ³ª¼­ È£ÃâÇØ ÁÖ¼¼¿ä. sequence check¸¦ ¿ä±¸ÇÑ ½ÃÀÛÃøÀº ÄÁÅؽºÆ® ÀÇ È®¸³ÀÌ ¿Ï·áÇÑ ÈÄ¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇØ, ¿ä±¸¸¦ ¹Þ¾ÆµéÀÏ ¼ö ¾ø¾ú´ø °æ¿ì´Â ±× ÄÁÅؽºÆ®¸¦ ÆıâÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
sequence check°¡ À¯È¿ÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
requestSequenceDet(boolean)

getAnonymityState

boolean getAnonymityState()
ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÌ ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ À͸íÀ¸·Î¼­ ÀÎÁõµÇ°í ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø ¹× È£ÃâÇØ ¿·À¸·ÎºÎÅÍ, ÀÓÀÇÀÇ Å¸Àֿ̹¡ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ½ÃÀÛÃøÀ¸·ÎºÎÅÍ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇßÀ» °æ¿ì´Â initSecContext¿¡ ÀÇÇØ ±× ½ÃÁ¡±îÁö »ý¼ºµÈ ÄÁÅؽºÆ® È®¸³ ÅäÅ«ÀÇ ¾î´À ÂÊÀΰ¡¿¡ ½ÃÀÛÃøÀÇ ID°¡ °ø°³µÇ°í ÀÖ´ÂÁö ¾î¶²Áö°¡ °Ë»çµË´Ï´Ù. À͸íÀ¸·Î¼­ÀÇ ÀÎÁõÀÌ ÇÊ¿äÇÑ °æ¿ì´Â initSecContext¸¦ È£ÃâÇÏ°í ³ª¼­ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇØ, »ý¼ºµÈ ÅäÅ«À» ÇǾ ¼Û½ÅÇÏ´ÂÁö, ±× ÄÁÅؽºÆ®¸¦ ÁßÁöÇұ °áÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¹Þ¾Æ µéÀÌ´Â ÂÊÀ¸·ÎºÎÅÍ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇßÀ» °æ¿ì´Â acceptSecContext¿¡ ÀÇÇØ ±× ½ÃÁ¡±îÁö ó¸®µÈ ÅäÅ«ÀÇ ¾î´À ÂÊÀΰ¡¿¡ ½ÃÀÛÃøÀÇ ID°¡ °ø°³µÇ°í ÀÖ´ÂÁö ¾î¶²Áö°¡ °Ë»çµË´Ï´Ù.

¹Ýȯ°ª:
ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÌ À͸íÀ¸·Î¼­ ÀÎÁõµÇ°í ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
requestAnonymity(boolean)

isTransferable

boolean isTransferable()
                       throws GSSException 
export ¸Þ¼­µå¸¦ »ç¿ëÇØ ÀÌ ÄÁÅؽºÆ®¸¦ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ Àü¼Û ÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù. ÀÌ È£ÃâÀº ¿ÏÀüÇÏ°Ô È®¸³µÈ ÄÁÅؽºÆ®¿¡ ´ëÇؼ­¸¸ À¯È¿ÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ÄÁÅؽºÆ®¸¦ export ÇÒ ¼ö ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

isProtReady

boolean isProtReady()
ÀÌ ÄÁÅؽºÆ® À¸·Î ¸Þ¼¼Áö¸¶´ÙÀÇ Á¶ÀÛÀ» °ð¹Ù·Î °³½ÃÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù. ÀϺÎÀÇ µµ±¸¿¡ ¼­´Â ÄÁÅؽºÆ®ÀÌ ¿ÏÀüÇÏ°Ô È®¸³µÇ±â Àü¿¡ ¸Þ¼¼Áö¸¶´ÙÀÇ Á¶ÀÛÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
ÇöÀçÀÇ ÄÁÅؽºÆ® È®¸³ ´Ü°è¿¡¼­ wrap, unwrap, getMIC, verifyMIC µîÀÇ ¸Þ¼­µå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

getConfState

boolean getConfState()
ÀÌ ÄÁÅؽºÆ® À¸·Î µ¥ÀÌÅÍÀÇ ±â¹Ð¼ºÀ» ÀÌ¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø°ú ¹Þ¾Æ µéÀÌ´Â ÂÊÀÇ ¾î´À ÂÊÀ¸·ÎºÎÅÍ¿¡¼­µµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ´Ù¸¸, isProtReady ¶Ç´Â isEstablished ·ÎºÎÅÍ true°¡ ¸®ÅÏµÈ ´ÙÀ½ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. ÀÌ ¸Þ¼­µå°¡ true¸¦ µ¹·ÁÁÖ´Â °æ¿ì´Â getIntegState µµ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
±â¹Ð¼º ¼­ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
requestConf(boolean)

getIntegState

boolean getIntegState()
ÀÌ ÄÁÅؽºÆ® À¸·Î µ¥ÀÌÅÍÀÇ Á¤ÇÕ¼ºÀ» ÀÌ¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø°ú ¹Þ¾Æ µéÀÌ´Â ÂÊÀÇ ¾î´À ÂÊÀ¸·ÎºÎÅÍ¿¡¼­µµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ´Ù¸¸, isProtReady ¶Ç´Â isEstablished ·ÎºÎÅÍ true°¡ ¸®ÅÏµÈ ´ÙÀ½ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. getConfState °¡ true¸¦ µ¹·ÁÁÖ´Â °æ¿ì´Â ÀÌ ¸Þ¼­µåµµ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
Á¤ÇÕ¼º ¼­ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
requestInteg(boolean)

getLifetime

int getLifetime()
ÀÌ ÄÁÅؽºÆ® ÀÇ ³ª¸ÓÁöÀÇ ¼ö¸íÀ» °Ë»çÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø°ú ¹Þ¾Æ µéÀÌ´Â ÂÊÀÇ ¾î´À ÂÊÀ¸·ÎºÎÅÍ¿¡¼­µµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ´Ù¸¸, ¿Ã¹Ù¸¥ °á°ú¸¦ ¾ò±â À§Çؼ­´Â isEstablished ·ÎºÎÅÍ true°¡ ¸®ÅÏµÈ ´ÙÀ½ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

¹Ýȯ°ª:
³ª¸ÓÁöÀÇ ¼ö¸í (ÃÊ´ÜÀ§)
°ü·Ã Ç׸ñ:
requestLifetime(int)

getSrcName

GSSName  getSrcName()
                   throws GSSException 
ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÇ À̸§À» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ È£ÃâÀº, isProtReady ¶Ç´Â isEstablished ·ÎºÎÅÍ true°¡ ¸®ÅÏµÈ ´ÙÀ½¿¡ ¸¶¼Å À¯È¿ÇÕ´Ï´Ù.

¹Ýȯ°ª:
GSSName. ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÇ À̸§À» Æ÷ÇÔÇÑ MN
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ
°ü·Ã Ç׸ñ:
GSSName

getTargName

GSSName  getTargName()
                    throws GSSException 
ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊÀÇ À̸§À» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ È£ÃâÀº, isProtReady ¶Ç´Â isEstablished ·ÎºÎÅÍ true°¡ ¸®ÅÏµÈ ´ÙÀ½¿¡ ¸¶¼Å À¯È¿ÇÕ´Ï´Ù.

¹Ýȯ°ª:
GSSName. ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊÀÇ À̸§À» Æ÷ÇÔÇÑ MN
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

getMech

Oid  getMech()
            throws GSSException 
ÀÌ ÄÁÅؽºÆ®¿¡ »ç¿ëµÇ°í ÀÖ´Â µµ±¸¸¦ °Ë»çÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ®ÀÌ ¿ÏÀüÇÏ°Ô È®¸³µÇ±â Àü¿¡ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ´Ù¸¸, GSS-API µµ±¸ ÀÇ ³×°í½Ã¿¡À̼ÇÀÌ ¿Ï·áÇÑ ÈÄ¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ¸®ÅÏµÈ µµ±¸°¡ ¹Ù²î´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
»ç¿ëµÇ°í ÀÖ´Â µµ±¸ ÀÇ OID
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

getDelegCred

GSSCredential  getDelegCred()
                           throws GSSException 
ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀ¸·ÎºÎÅÍ ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ¿¡ À§¾ç µÈ ÀÚ°ÝÀ» ÃëµæÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊÀ¸·ÎºÎÅÍ ¸¶¼Å, ÄÁÅؽºÆ®ÀÌ ¿ÏÀüÇÏ°Ô È®¸³µÈ ÈÄ¿¡ È£ÃâÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. À§¾ç µÈ ÀÚ°ÝÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È£ÃâÃø¿¡¼­ È®ÀÎÇÏ·Á¸é, ¸Þ¼­µå getCredDelegState¸¦ »ç¿ëÇÕ´Ï´Ù.

¹Ýȯ°ª:
½ÃÀÛÃøÀ¸·ÎºÎÅÍ À§¾ç µÈ ÀÚ°ÝÀÌ Æ÷ÇԵǴ GSSCredential. À§¾ç µÈ ÀÚ°ÝÀÌ ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

isInitiator

boolean isInitiator()
                    throws GSSException 
ÀÌ ÇǾ ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÏÁö ¾î¶³Áö¸¦ °Ë»çÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃø ¹× ¹Þ¾Æ µéÀÌ´Â ÂÊÀ¸·ÎºÎÅÍ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù .

¹Ýȯ°ª:
ÄÁÅؽºÆ® ÀÇ ½ÃÀÛÃøÀÎ °æ¿ì´Â true, ÄÁÅؽºÆ® ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊÀÎ °æ¿ì´Â false
¿¹¿Ü:
GSSException - ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.FAILURE¸¦ Æ÷ÇÔÇÑ´Ù

JavaTM 2 Platform
Standard Ed. 5.0

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