|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--org.ietf.jgss.GSSManager
ÀÌ Å¬·¡½º´Â ´Ù¸¥ Áß¿äÇÑ GSS-API Ŭ·¡½ºÀÇ ÆÑÅ丮·Î¼ ±â´ÉÇØ, ¼Æ÷Æ®µÇ°í ÀÖ´Â ±â±¸¿¡ °üÇÑ Á¤º¸µµ Á¦°øÇÕ´Ï´Ù. ¶Ç,GSSName
,GSSCredential
, ¹× GSSContext
¶ó°í ÇÏ´Â 3 °³ÀÇ GSS-API ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ±â±¸ÀÇ À϶÷ ¹× °¢ ±â±¸°¡ ¼Æ÷Æ®Çϰí ÀÖ´Â À̸§ÇüÀ» Á¶È¸Çϱâ À§ÇÑ ¸Þ¼Òµåµµ Â¥³Ö¾îÁö°í ÀÖ½À´Ï´Ù.
µðÆúÆ®ÀÇ GSSManager
¼ºê Ŭ·¡½º´Â static ¸Þ¼Òµå getInstance
¸¦ »ç¿ëÇØ ÀνºÅϽºÈÇÒ ¼ö ÀÖ½À´Ï´Ù. µðÆúÆ® ÀÌ¿ÜÀÇ GSSManager
¼ºê Ŭ·¡½º´Â ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ÀÓÀÇ¿¡ ÀνºÅϽºÈÇÒ ¼ö ÀÖ½À´Ï´Ù. µðÆúÆ®ÀÇ GSSManager
ÀνºÅϽº¿¡¼´Â Kerberos v5 µîÀÇ ¸ðµç GSS-API ±â±¸°¡ ¼Æ÷Æ®µË´Ï´Ù. Kerberos v5 ±â±¸´Â OID "1.2. 840.113554. 1.2. 2" ·Î¼ ½Äº°µÇ¾î RFC 1964 ¿¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù.
GSSManager
Ãß»ó Ŭ·¡½ºÀÇ È®ÀåÀ¸·Î¼ ÀÛ¼ºÇÑ ¼ºê Ŭ·¡½º´Â ±âÁ¸ÀÇ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ »ç¾çÀ» ÀÌ¿ëÇÏ´Â ¸ðµâÈµÈ ÇÁ·Î¹ÙÀÌ´õ º£À̽ºÃþÀ¸·Î¼ ±¸ÇöµË´Ï´Ù. GSSManager
API ¸¦ »ç¿ëÇϸé, ÀÌ·¯ÇÑ ¼ºê Ŭ·¡½ºÀÇ ±¸Çö¿¡ ´ëÇØ¼ ÇÁ·Î¹ÙÀÌ´õÀÇ ¿ì¼± ¼øÀ§¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ º£À̽ºÀÇ ±¸¼ºÀÌ ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ¸íÈ®ÇÏ°Ô Á¤ÀÇµÈ ¿¹¿Ü°¡ ½½·Î¿ì µË´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀ» À̽ÄÇÒ °¡´É¼ºÀÌ ÀÖ´Â °æ¿ì´Â À̰ÍÀ» ÀνÄÇØ, ¿¹¿Ü¸¦ ijġ ÇÏ´Â °Í¿¡ ÀÇÇØ, ÀûÀýÈ÷ ȸº¹ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÇÁ·Î¹ÙÀÌ´õÀÇ »ç¿ë ¹æ¹ýÀ¸·Î¼ ´ÙÀ½ÀÇ 3 °³ÀÇ ¹æ¹ýÀ» »óÁ¤Çϰí ÀÖ½À´Ï´Ù.
GSSManager
Ŭ·¡½º¿¡´Â ÀÌ·¯ÇÑ »ç¿ë ¹æ¹ýÀ» À¯È¿ÇÏ°Ô Çϱâ À§Çؼ,addProviderAtFront
¹× addProviderAtEnd
¸Þ¼Òµå°¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå¸¦ ½ÇÇàÇϸé(ÀÚ),<ÇÁ·Î¹ÙÀÌ´õ¿Í OID> ÀÇ Æä¾îÀÇ ¼ø¼ ÷ºÎ ¸®½ºÆ®°¡ ÀÛ¼ºµË´Ï´Ù. ÀÌ ¸®½ºÆ®´Â °¢ OID ¿Í ±× OID ¿¡ ¿ì¼±ÀûÀ¸·Î »ç¿ëµÇ´Â ÇÁ·Î¹ÙÀÌ´õÀÇ Æí¼ºÀÌ Ãâ·ÂµË´Ï´Ù.
GSSManager ¿¡ ÀÇÇØ ÀÛ¼ºµÈ GSS-API ¿ÀºêÁ§Æ®°£À¸·Î´Â ´ëȸ¦ ÇÕ´Ï´Ù. ÀÌ ¶§, ƯÁ¤ÀÇ ±â±¸¿¡ »ç¿ëµÇ´Â ÇÁ·Î¹ÙÀÌ´õ¸¦, ¸ðµç ¿ÀºêÁ§Æ®·Î »ç¿ë ½À±âÂ÷¸é ¾È µÇ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¾î´À GSSCredential °¡, ±â±¸ m ¿¡ »ç¿ëµÇ´Â ÇÁ·Î¹ÙÀÌ´õ p ÀÇ ÀÚ°Ý ¿ä¼Ò·Î ±¸¼ºµÇ¾î ÀÖ´Ù°í ÇÕ´Ï´Ù. ÀÌ ÀÚ°ÝÀº Åë»ó, ÀÌ ÇÁ·Î¹ÙÀÌ´õ p ¸¦ »ç¿ëÇÏ´Â GSSContext ¿¡ °Ç³×ÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù. À̽ļºÀ» ÃÖ´ëÈÇÏ·Á¸é , ´Ù¸¥ GSSManager ·Î ÀÛ¼ºÇÑ ¿ÀºêÁ§Æ®¸¦ È¥Àç½ÃŰÁö ¾Ê´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. ¿ÀºêÁ§Æ®¸¦ ¹ú½á ÀÛ¼ºÇÑ GSSManager »ó¿¡¼ addProviderAtFront
¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °æ¿ì´Â ÇÒ ¼ö ÀÖ´Â ÇÑ ´Ù¸¥ GSSManager ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÁÖ¼¼¿ä.
´ÙÀ½ÀÇ Äڵ忹´Â GSSManager ÀÇ »ç¿ë ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.
GSSManager manager = GSSManager.getInstance(); Oid krb5Mechanism = new Oid("1.2. 840.113554. 1.2. 2"); Oid krb5PrincipalNameType = new Oid("1.2. 840.113554. 1.2. 2.1"); // Identify who the client wishes to be GSSName userName = manager.createName("duke", GSSName.NT_USER_NAME); // Identify the name of the server. This uses a Kerberos specific // name format. GSSName serverName = manager.createName("nfs/foo.sun.com", krb5PrincipalNameType); // Acquire credentials for the user GSSCredential userCreds = manager.createCredential(userName, GSSCredential.DEFAULT_LIFETIME, krb5Mechanism, GSSCredential.INITIATE_ONLY); // Instantiate and initialize a security context that will be // established with the server GSSContext context = manager.createContext(serverName, krb5Mechanism, userCreds, GSSContext.DEFAULT_LIFETIME);
¼¹öÃø¿¡¼´Â ´ÙÀ½ÀÇ ¼Ò½º°¡ »ç¿ëµË´Ï´Ù.
// Acquire credentials for the server GSSCredential serverCreds = manager.createCredential(serverName, GSSCredential.DEFAULT_LIFETIME, krb5Mechanism, GSSCredential.ACCEPT_ONLY); // Instantiate and initialize a security context that will // wait for an establishment request token from the client GSSContext context = manager.createContext(serverCreds);
GSSName
,
GSSCredential
,
GSSContext
»ý¼ºÀÚÀÇ °³¿ä | |
GSSManager ()
|
¸Þ¼ÒµåÀÇ °³¿ä | |
abstract void |
addProviderAtEnd (Provider p,
Oid mech)
ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ ±â±¸¸¦ ¼Æ÷Æ®ÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ¹ß°ßµÇÁö ¾ÊÀ» ¶§¿¡ »ç¿ëÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ¸¦, GSSManager ·Î ¼³Á¤ÇÕ´Ï´Ù. |
abstract void |
addProviderAtFront (Provider p,
Oid mech)
ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ, ¼Æ÷Æ®°¡ ÇÊ¿äÇÑ ±â±¸¿¡ ´ëÇØ¼ ƯÁ¤ÀÇ ÇÁ·Î¹ÙÀÌ´õ¸¦ ¿ì¼±ÇØ »ç¿ëÇÏ´Â °ÍÀ» GSSManager ·Î ¼³Á¤ÇÕ´Ï´Ù. |
abstract GSSContext |
createContext (byte[] interProcessToken)
ÀÌÀü¿¡ export µÈ ¹®¸ÆÀ» ÀÛ¼ºÇϱâ À§ÇÑ ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSContext |
createContext (GSSCredential myCred)
¹Þ¾Æ µéÀÌ´Â ÂÊÀ¸·Î ¹®¸ÆÀ» ÀÛ¼ºÇϱâ À§ÇÑ ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSContext |
createContext (GSSName peer,
Oid mech,
GSSCredential myCred,
int lifetime)
±âµ¿Ãø¿¡¼ ¹®¸ÆÀ» ÀÛ¼ºÇϱâ À§ÇÑ ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSCredential |
createCredential (GSSName name,
int lifetime,
Oid [] mechs,
int usage)
º¹¼öÀÇ ±â±¸¸¦ »ç¿ëÇØ ÀÚ°ÝÀ» ÃëµæÇϱâ À§ÇÑ ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSCredential |
createCredential (GSSName name,
int lifetime,
Oid mech,
int usage)
±â±¸ÀÇ ÀÚ°ÝÀ» 1 °³¸¸ ÃëµæÇϱâ À§ÇÑ ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSCredential |
createCredential (int usage)
µðÆúÆ®ÀÇ ÀÚ°ÝÀ» ÃëµæÇϱâ À§ÇÑ ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSName |
createName (byte[] name,
Oid nameType)
ÁöÁ¤µÈ ³×ÀÓ ½ºÆäÀ̽ºÀÇ byte ¹è¿À» GSSName ¿ÀºêÁ§Æ®·Î º¯È¯ÇÏ´Â ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSName |
createName (byte[] name,
Oid nameType,
Oid mech)
ÁöÁ¤µÈ ³×ÀÓ ½ºÆäÀ̽ºÀÇ À̸§À» Æ÷ÇÔÇÑ byte ¹è¿À» GSSName ¿ÀºêÁ§Æ®·Î º¯È¯ÇØ, ±×°ÍÀ» ±â±¸¿¡ ´ëÇØ¼ Ç¥ÁØÈ ÇÏ´Â ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSName |
createName (String nameStr,
Oid nameType)
ÁöÁ¤µÈ ³×ÀÓ ½ºÆäÀ̽ºÀÇ Ä³¸¯ÅÍ ¶óÀθíÀ» GSSName ¿ÀºêÁ§Æ®·Î º¯È¯ÇÏ´Â ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
abstract GSSName |
createName (String nameStr,
Oid nameType,
Oid mech)
ÁöÁ¤µÈ ³×ÀÓ ½ºÆäÀ̽ºÀÇ Ä³¸¯ÅÍ ¶óÀθíÀ» GSSName ¿ÀºêÁ§Æ®·Î º¯È¯ÇØ, ±×°ÍÀ» ±â±¸¿¡ ´ëÇØ¼ Ç¥ÁØÈ ÇÏ´Â ÆÑÅ丮 ¸Þ¼ÒµåÀÔ´Ï´Ù. |
static GSSManager |
getInstance ()
µðÆúÆ®ÀÇ GSSManager ±¸ÇöÀ» µ¹·ÁÁÝ´Ï´Ù. |
abstract Oid [] |
getMechs ()
ÀÌ GSSManager »ó¿¡¼ GSS-API ÀÇ È£ÃâÃøÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ±â±¸ÀÇ ¸®½ºÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract Oid [] |
getMechsForName (Oid nameType)
ÁöÁ¤µÈ À̸§ÇüÀ» ¼Æ÷Æ®Çϰí ÀÖ´Â ±â±¸ÀÇ ¸®½ºÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract Oid [] |
getNamesForMech (Oid mech)
ÁöÁ¤µÈ ±â±¸°¡ ¼Æ÷Æ®Çϰí ÀÖ´Â À̸§ÇüÀ» µ¹·ÁÁÝ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
»ý¼ºÀÚÀÇ »ó¼¼ |
public GSSManager()
¸Þ¼ÒµåÀÇ »ó¼¼ |
public static GSSManager getInstance()
public abstract Oid [] getMechs()
getInstance()
¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â µðÆúÆ®ÀÇ GSSManager ÀÇ ¸®½ºÆ®¿¡´Â OID "1.2. 840.113554. 1.2. 2" °¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ OID ´Â RFC 1964 ¿¡ Á¤Àǵǰí ÀÖ´Â Kerberos v5 GSS-API ±â±¸ÀÇ ½Äº° ID ÀÔ´Ï´Ù.
null
Ä¡°¡ µ¹·ÁÁÖ¾îÁø´Ùpublic abstract Oid [] getNamesForMech(Oid mech) throws GSSException
µðÆúÆ®ÀÇ GSSManager ÀνºÅϽº¿¡¼´Â Kerberos v5 ±â±¸°¡ ¼Æ÷Æ®µË´Ï´Ù. ÀÌ ±â±¸ ("1.2. 840.113554. 1.2. 2")¸¦ ÁöÁ¤ÇßÀ» °æ¿ì´Â GSSName.NT_HOSTBASED_SERVICE
,GSSName.NT_EXPORT_NAME
, ¹× Kerberos v5 °íÀ¯ÀÇ OID "1.2. 840.113554. 1.2. 2.1" À» Æ÷ÇÔÇÑ À̸§Çü ¸®½ºÆ®°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. OID "1.2. 840.113554. 1.2. 2.1" ÀÇ ³×ÀÓ ½ºÆäÀ̽º´Â RFC 1964 ¿¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù.
mech
- Á¶È¸ÇÏ´Â ±â±¸ÀÇ OID
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.BAD_MECH
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑgetMechsForName(Oid)
public abstract Oid [] getMechsForName(Oid nameType)
ÁöÁ¤µÈ À̸§ÇüÀÌ GSSName.NT_HOSTBASED_SERVICE
,GSSName.NT_EXPORT_NAME
, ¶Ç´Â "1.2. 840.113554. 1.2. 2.1" ÀÇ °æ¿ì, ÀÌ ¸®½ºÆ®¿¡´Â Ç×»ó Kerberos v5 ±â±¸ ("1.2. 840.113554. 1.2. 2")°¡ Æ÷ÇԵ˴ϴÙ.
nameType
- °Ë»ö ´ë»óÀÇ À̸§ÇüÀÇ OID
null
°¡ µ¹·ÁÁÖ¾îÁö´ÂgetNamesForMech(Oid)
public abstract GSSName createName(String nameStr, Oid nameType) throws GSSException
GSSName
¿ÀºêÁ§Æ®¿¡´Â Åë»ó, º¹¼öÀÇ À̸§ Ç¥Çö (¼Æ÷Æ®µÇ°í ÀÖ´Â ±â±¸ ¸¶´Ù 1 kr¾¿)ÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ´Ù¸¸, ³×ÀÓ ½ºÆäÀ̽ºÀÇ ÇüÅ ÆÄ¶ó¹ÌÅÍ¿¡ NT_EXPORT_NAME °¡ ÁöÁ¤µÇ°í ÀÖÀ» ¶§, ¶Ç´Â ÀÌ GSS-API ±¸ÇöÀÌ º¹¼ö ±â±¸°¡ ¾Æ´Ñ °æ¿ì µîÀº ¿¹¿ÜÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â NT_EXPORT_NAME Çü¿¡´Â »ç¿ëÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä. ÀÌÀü¿¡ export µÈ À̸§ÀÌ ÀÓÀÇÀÇ ¹ÙÀÌÆ®·Î ±¸¼ºµÇ´Â °æ¿ì, ±× À̸§À» String ·Î¼ Ç¥ÇöÇϸé(ÀÚ), ij¸¯ÅÍ ÀÎÄÚµù ¹æ½ÄÀ¸·Î ¹®Á¦°¡ ¹ß»ýÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ À̸§À» º¯È¯ÇÏ´Â °æ¿ì´Â ÀÌ ¸Þ¼Òµå¸¦ overload ÇÑ createName
¿¡ ±×·¯ÇÑ ¹ÙÀÌÆ®¸¦ Á÷Á¢ °Ç³×ÁÖ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
nameStr
- ÀÛ¼ºÇÏ´Â À̸§ÀÇ ÇÁ¸°Æ® °¡´É Çü½ÄÀ» ³ªÅ¸³»´Â ij¸¯ÅÍ ¶óÀÎnameType
- ÁöÁ¤µÈ ÇÁ¸°Æ® °¡´É¸íÀÇ ³×ÀÓ ½ºÆäÀ̽º¸¦ ÁöÁ¤ÇÏ´Â OID. nameStr ¸¦ °Ë»çÇÒ °æ¿ì¿¡, °¢ ±â±¸ °íÀ¯ÀÇ µðÆúÆ®ÀÇ ÇÁ¸°Æ® °¡´É ±¸¹®À» »ç¿ëÇÏ´Â °æ¿ì´Â null
¸¦ ÁöÁ¤ÇÑ´Ù. À̸§Çü NT_EXPORT_NAME ´Â °¡´ÉÇÑ ÇÑ »ç¿ëÇÏÁö ¾Ê´Â´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.BAD_NAMETYPE
,GSSException.BAD_NAME
,GSSException.BAD_MECH
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSName
,
GSSName.NT_EXPORT_NAME
public abstract GSSName createName(byte[] name, Oid nameType) throws GSSException
GSSName
¿ÀºêÁ§Æ®¿¡´Â Åë»ó, º¹¼öÀÇ À̸§ Ç¥Çö (¼Æ÷Æ®µÇ°í ÀÖ´Â ±â±¸ ¸¶´Ù 1 kr¾¿)ÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ´Ù¸¸, ³×ÀÓ ½ºÆäÀ̽ºÀÇ ÇüÅ ÆÄ¶ó¹ÌÅÍ¿¡ NT_EXPORT_NAME °¡ ÁöÁ¤µÇ°í ÀÖÀ» ¶§, ¶Ç´Â ÀÌ GSS-API ±¸ÇöÀÌ º¹¼ö ±â±¸°¡ ¾Æ´Ñ °æ¿ì µîÀº ¿¹¿ÜÀÔ´Ï´Ù. °Ç³×¹Þ´Â ¹ÙÀÌÆ®´Â ÁöÁ¤µÈ À̸§Çü¿¡ ¼±Åõǰí ÀÖ´Â ÀÎÄÚµù ¹æ½ÄÀ¸·Î ÀÀÇØ, ºÎÇÏÀÇ °¢ ±â±¸¿¡ ÀÇÇØ ÇØ¼®µË´Ï´Ù.
name
- ÀÛ¼ºÇÏ´Â À̸§À» Æ÷ÇÔÇÑ byte ¹è¿nameType
- byte ¹è¿·Î ÁöÁ¤µÈ À̸§ÀÇ ³×ÀÓ ½ºÆäÀ̽º¸¦ ³ªÅ¸³»´Â OID. byte ¹è¿À» °Ë»çÇÒ °æ¿ì¿¡, °¢ ±â±¸ °íÀ¯ÀÇ µðÆúÆ®ÀÇ ±¸¹®ÀÌ »ç¿ëÇÏ´Â °æ¿ì´Â null
¸¦ ÁöÁ¤ÇÑ´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.BAD_NAMETYPE
,GSSException.BAD_NAME
,GSSException.BAD_MECH
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSName
,
GSSName.NT_EXPORT_NAME
public abstract GSSName createName(String nameStr, Oid nameType, Oid mech) throws GSSException
createName
¹× GSSName.canonicalize
È£ÃâÀ» ½ÇÇàÇÏ´Â °æ¿ì¿Í °°Àº 󸮸¦ ½ÇÇàÇÏ´Â À¯Æ¿¸®Æ¼ÀÔ´Ï´Ù.
nameStr
- ÀÛ¼ºÇÏ´Â À̸§ÀÇ ÇÁ¸°Æ® °¡´É Çü½ÄÀ» ³ªÅ¸³»´Â ij¸¯ÅÍ ¶óÀÎnameType
- ÁöÁ¤µÈ ÇÁ¸°Æ® °¡´É¸íÀÇ ³×ÀÓ ½ºÆäÀ̽º¸¦ ÁöÁ¤ÇÏ´Â OID. nameStr ¸¦ °Ë»çÇÒ °æ¿ì¿¡, °¢ ±â±¸ °íÀ¯ÀÇ µðÆúÆ®ÀÇ ÇÁ¸°Æ® °¡´É ±¸¹®À» »ç¿ëÇÏ´Â °æ¿ì´Â null
¸¦ ÁöÁ¤ÇÑ´Ù. À̸§Çü NT_EXPORT_NAME ´Â °¡´ÉÇÑ ÇÑ »ç¿ëÇÏÁö ¾Ê´Âmech
- ±â±¸¸¦ ³ªÅ¸³»´Â OID. ÀÌ ±â±¸¿¡ ´ëÇØ¼ À̸§ÀÌ Ç¥ÁØÈ µÈ´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.BAD_NAMETYPE
,GSSException.BAD_NAME
,GSSException.BAD_MECH
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSName.canonicalize(Oid)
,
GSSName.NT_EXPORT_NAME
public abstract GSSName createName(byte[] name, Oid nameType, Oid mech) throws GSSException
createName
¹× GSSName.canonicalize
È£ÃâÀ» ½ÇÇàÇÏ´Â °æ¿ì¿Í °°Àº 󸮸¦ ½ÇÇàÇÏ´Â À¯Æ¿¸®Æ¼ÀÔ´Ï´Ù.
name
- ÀÛ¼ºÇÏ´Â À̸§À» Æ÷ÇÔÇÑ byte ¹è¿nameType
- byte ¹è¿·Î ÁöÁ¤µÈ À̸§ÀÇ ³×ÀÓ ½ºÆäÀ̽º¸¦ ³ªÅ¸³»´Â OID. byte ¹è¿À» °Ë»çÇÒ °æ¿ì¿¡, °¢ ±â±¸ °íÀ¯ÀÇ µðÆúÆ®ÀÇ ±¸¹®ÀÌ »ç¿ëÇÏ´Â °æ¿ì´Â null
¸¦ ÁöÁ¤ÇÏ´Âmech
- ±â±¸¸¦ ³ªÅ¸³»´Â OID. ÀÌ ±â±¸¿¡ ´ëÇØ¼ À̸§ÀÌ Ç¥ÁØÈ µÈ´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.BAD_NAMETYPE
,GSSException.BAD_NAME
,GSSException.BAD_MECH
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSName.canonicalize(Oid)
,
GSSName.NT_EXPORT_NAME
public abstract GSSCredential createCredential(int usage) throws GSSException
GSS-API ÀÇ ±â±¸ ÇÁ·Î¹ÙÀÌ´õ´Â È£Ãâ Ãø¿¡ ·ÎÄà ¾×¼¼½º Á¦¾î Æú¸®½Ã¸¦ Àû¿ëÇØ, ±ÇÇÑÀÌ ¾ø´Â È£ÃâÃøÀÌ ÁÖ¾îÁöÁö ¾ÊÀº ÀÚ°ÝÀ» ÃëµæÇÒ ¼ö ¾ø°Ô ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. °¢ ±â±¸ ÇÁ·Î¹ÙÀÌ´õ°¡ ÇÊ¿ä·Î ÇÏ´Â ¾×¼¼½º±ÇÀÇ Á¾·ù´Â ±â±¸ ¸¶´Ù ¹®¼¿¡ Á¤¸®Çϰí ÀÖ½À´Ï´Ù. ¾×¼¼½º±ÇÀÇ È®Àο¡ ½ÇÆÐÇϸé(ÀÚ), ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ SecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
usage
- ÀÌ ÀÚ°Ý ¿ÀºêÁ§Æ®ÀÇ »ç¿ë ¸ñÀû. ÀÌ ÆÄ¶ó¹ÌÅÍÀÇ °ªÀº GSSCredential.INITIATE_AND_ACCEPT
,GSSCredential.ACCEPT_ONLY
,GSSCredential.INITIATE_ONLY
ÀÇ ¾ðÁ¨°¡°¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.BAD_MECH
,GSSException.BAD_NAMETYPE
,GSSException.BAD_NAME
,GSSException.CREDENTIALS_EXPIRED
,GSSException.NO_CRED
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSCredential
public abstract GSSCredential createCredential(GSSName name, int lifetime, Oid mech, int usage) throws GSSException
GSS-API ÀÇ ±â±¸ ÇÁ·Î¹ÙÀÌ´õ´Â È£Ãâ Ãø¿¡ ·ÎÄà ¾×¼¼½º Á¦¾î Æú¸®½Ã¸¦ Àû¿ëÇØ, ±ÇÇÑÀÌ ¾ø´Â È£ÃâÃøÀÌ ÁÖ¾îÁöÁö ¾ÊÀº ÀÚ°ÝÀ» ÃëµæÇÒ ¼ö ¾ø°Ô ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. °¢ ±â±¸ ÇÁ·Î¹ÙÀÌ´õ°¡ ÇÊ¿ä·Î ÇÏ´Â ¾×¼¼½º±ÇÀÇ Á¾·ù´Â ±â±¸ ¸¶´Ù ¹®¼¿¡ Á¤¸®Çϰí ÀÖ½À´Ï´Ù. ¾×¼¼½º±ÇÀÇ È®Àο¡ ½ÇÆÐÇϸé(ÀÚ), ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ SecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
µðÆúÆ® ÀÌ¿ÜÀÇ lifetime Ä¡´Â ºÎÇÏÀÇ ±â±¸¿¡¼´Â ¹Þ¾ÆµéÀÏ ¼ö ¾ø½À´Ï´Ù. ÀÌ °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº µ¹·ÁÁÖ¾îÁø ÀÚ°Ý¿¡ ´ëÇØ¼ getRemainingLifetime
¸¦ È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
name
- ÀÌ ÀÚ°ÝÀ» ÃëµæÇÏ´Â ÁÖüÀÇ À̸§. µðÆúÆ®ÀÇ ÁÖü¸¦ ÁöÁ¤ÇÏ´Â °æ¿ì´Â null
¸¦ »ç¿ëÇÏ´Âlifetime
- ÀÚ°ÝÀÇ ³ª¸ÓÁöÀÇ ¼ö¸í (ÃÊ´ÜÀ§). ÀÚ°ÝÀÇ ¼ö¸íÀ» ¹«±âÇÑÀ¸·Î ÇÏ´Â °ÍÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â GSSCredential.INDEFINITE_LIFETIME
¸¦ »ç¿ëÇÑ´Ù. µðÆúÆ®ÀÇ ¼ö¸íÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â GSSCredential.DEFAULT_LIFETIME
¸¦ »ç¿ëÇÏ´Âmech
- ¸ñÀûÀÇ ±â±¸ÀÇ OID. µðÆúÆ®ÀÇ ±â±¸¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â (Oid) null
¸¦ »ç¿ëÇÏ´Âusage
- ÀÌ ÀÚ°Ý ¿ÀºêÁ§Æ®ÀÇ »ç¿ë ¸ñÀû. ÀÌ ÆÄ¶ó¹ÌÅÍÀÇ °ªÀº GSSCredential.INITIATE_AND_ACCEPT
,GSSCredential.ACCEPT_ONLY
,GSSCredential.INITIATE_ONLY
ÀÇ ¾ðÁ¨°¡°¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.BAD_MECH
,GSSException.BAD_NAMETYPE
,GSSException.BAD_NAME
,GSSException.CREDENTIALS_EXPIRED
,GSSException.NO_CRED
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSCredential
public abstract GSSCredential createCredential(GSSName name, int lifetime, Oid [] mechs, int usage) throws GSSException
GSSCredential.getMechs
¸Þ¼Òµå¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
GSS-API ÀÇ ±â±¸ ÇÁ·Î¹ÙÀÌ´õ´Â È£Ãâ Ãø¿¡ ·ÎÄà ¾×¼¼½º Á¦¾î Æú¸®½Ã¸¦ Àû¿ëÇØ, ±ÇÇÑÀÌ ¾ø´Â È£ÃâÃøÀÌ ÁÖ¾îÁöÁö ¾ÊÀº ÀÚ°ÝÀ» ÃëµæÇÒ ¼ö ¾ø°Ô ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. °¢ ±â±¸ ÇÁ·Î¹ÙÀÌ´õ°¡ ÇÊ¿ä·Î ÇÏ´Â ¾×¼¼½º±ÇÀÇ Á¾·ù´Â ±â±¸ ¸¶´Ù ¹®¼¿¡ Á¤¸®Çϰí ÀÖ½À´Ï´Ù. ¾×¼¼½º±ÇÀÇ È®Àο¡ ½ÇÆÐÇϸé(ÀÚ), ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ SecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
µðÆúÆ® ÀÌ¿ÜÀÇ lifetime Ä¡´Â ºÎÇÏÀÇ ±â±¸¿¡¼´Â ¹Þ¾ÆµéÀÏ ¼ö ¾ø½À´Ï´Ù. ÀÌ °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº µ¹·ÁÁÖ¾îÁø ÀÚ°Ý¿¡ ´ëÇØ¼ getRemainingLifetime
¸¦ È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
name
- ÀÌ ÀÚ°ÝÀ» ÃëµæÇÏ´Â ÁÖüÀÇ À̸§. µðÆúÆ®ÀÇ ÁÖü¸¦ ÁöÁ¤ÇÏ´Â °æ¿ì´Â null
¸¦ »ç¿ëÇÏ´Âlifetime
- ÀÚ°ÝÀÇ ³ª¸ÓÁöÀÇ ¼ö¸í (ÃÊ´ÜÀ§). ÀÚ°ÝÀÇ ¼ö¸íÀ» ¹«±âÇÑÀ¸·Î ÇÏ´Â °ÍÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â GSSCredential.INDEFINITE_LIFETIME
¸¦ »ç¿ëÇÑ´Ù. µðÆúÆ®ÀÇ ¼ö¸íÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â GSSCredential.DEFAULT_LIFETIME
¸¦ »ç¿ëÇÏ´Âmechs
- ÀÌ ÀÚ°ÝÀ» ÃëµæÇÏ´Â ±â±¸¸¦ ³ªÅ¸³»´Â OID ÀÇ ¹è¿. ½Ã½ºÅÛ °íÀ¯ÀÇ µðÆúÆ®ÀÇ ±â±¸¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â (Oid[]) null
¸¦ »ç¿ëÇÏ´Âusage
- ÀÌ ÀÚ°Ý ¿ÀºêÁ§Æ®ÀÇ »ç¿ë ¸ñÀû. ÀÌ ÆÄ¶ó¹ÌÅÍÀÇ °ªÀº GSSCredential.INITIATE_AND_ACCEPT
,GSSCredential.ACCEPT_ONLY
,GSSCredential.INITIATE_ONLY
ÀÇ ¾ðÁ¨°¡°¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.BAD_MECH
,GSSException.BAD_NAMETYPE
,GSSException.BAD_NAME
,GSSException.CREDENTIALS_EXPIRED
,GSSException.NO_CRED
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSCredential
public abstract GSSContext createContext(GSSName peer, Oid mech, GSSCredential myCred, int lifetime) throws GSSException
SecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
µðÆúÆ® ÀÌ¿ÜÀÇ lifetime Ä¡´Â ºÎÇÏÀÇ ±â±¸¿¡¼´Â ¹Þ¾ÆµéÀÏ ¼ö ¾ø½À´Ï´Ù. ÀÌ °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº µ¹·ÁÁÖ¾îÁø ¹®¸Æ¿¡ ´ëÇØ¼ getLifetime
¸¦ È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
peer
- Ÿ°Ù ÇǾîÀÇ À̸§mech
- ¸ñÀûÀÇ ±â±¸ÀÇ OID. µðÆúÆ®ÀÇ ±â±¸¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â null
¸¦ »ç¿ëÇÏ´ÂmyCred
- ±âµ¿ÃøÀÇ ÀÚ°Ý. µðÆúÆ®ÀÇ ±âµ¿Ãø ÁÖü·Î¼ ±â´É½ÃŰ´Â °æ¿ì´Â null
¸¦ »ç¿ëÇÏ´Âlifetime
- ¹®¸Æ¿¡ ¿ä±¸µÈ ¼ö¸í (ÃÊ´ÜÀ§). ¹®¸ÆÀÇ ¼ö¸íÀ» ¹«±âÇÑÀ¸·Î ÇÏ´Â °ÍÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â GSSContext.INDEFINITE_LIFETIME
¸¦ »ç¿ëÇÑ´Ù. µðÆúÆ®ÀÇ ¼ö¸íÀ» ¿ä±¸ÇÏ´Â °æ¿ì´Â GSSContext.DEFAULT_LIFETIME
¸¦ »ç¿ëÇÑ´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.NO_CRED
,GSSException.CREDENTIALS_EXPIRED
,GSSException.BAD_NAMETYPE
,GSSException.BAD_MECH
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSContext
public abstract GSSContext createContext(GSSCredential myCred) throws GSSException
SecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
myCred
- ¹Þ¾Æ µéÀÌ´Â ÂÊÀÇ ÀÚ°Ý. µðÆúÆ®ÀÇ ¹Þ¾Æ µéÀÌ´Â ÂÊ ÁÖü·Î¼ ±â´É½ÃŰ´Â °æ¿ì´Â null
¸¦ »ç¿ëÇÑ´Ù
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.NO_CRED
,GSSException.CREDENTIALS_EXPIRED
,GSSException.BAD_MECH
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSContext
public abstract GSSContext createContext(byte[] interProcessToken) throws GSSException
±¸Çö¿¡ µû¶ó¼´Â ½ÃÅ¥·¯Æ¼ ¹®¸ÆÀÇ ÇÁ·Î¼¼½º°£ Àü¼ÛÀÌ ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ¹®¸ÆÀ» export Çϱâ Àü¿¡,GSSContext.isTransferable
¸¦ È£ÃâÇϸé(ÀÚ), ±× ¹®¸ÆÀÌ Àü¼Û °¡´ÉÇÑÁö ¾î¶²Áö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î¼¼½º°£ Àü¼ÛÀ» ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â ±¸ÇöÀ¸·Î ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), ¿¡·¯ ÄÚµå GSSException.UNAVAILABLE
°¡ ¼³Á¤µÈ GSSException
°¡ ½½·Î¿ì µË´Ï´Ù. ÀϺÎÀÇ ±â±¸ ÇÁ·Î¹ÙÀÌ´õ¿¡¼´Â ½ÃÅ¥·¯Æ¼ ¹®¸ÆÀ» ±âµ¿ÇÏ´Â ¾×¼¼½º±Ç ¶Ç´Â ¹Þ¾ÆµéÀÌ´Â ¾×¼¼½º±ÇÀÌ È£ÃâÇØ Ãø¿¡ ºÎ¿©µÇ°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ¾×¼¼½º±ÇÀÇ È®Àο¡ ½ÇÆÐÇϸé(ÀÚ), ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ SecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
interProcessToken
- ÀÌÀü¿¡ export ¸Þ¼Òµå·ÎºÎÅÍ »ý¼ºµÈ ÅäÅ«
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.NO_CONTEXT
,GSSException.DEFECTIVE_TOKEN
,GSSException.UNAVAILABLE
,GSSException.UNAUTHORIZED
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑGSSContext
public abstract void addProviderAtFront(Provider p, Oid mech) throws GSSException
Oid
´Â ¾Æ´Ï°í null Ä¡¸¦ »ç¿ëÇßÀ» ¶§´Â »ç¿ëÇÏ´Â ±â±¸¿¡ °ü°è¾øÀÌ, ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ°¡ ¿ì¼±ÇØ »ç¿ëµË´Ï´Ù. ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ°¡ ÇÊ¿äÇÑ ±â±¸¸¦ ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì¿¡¸¸, ´Ù¸¥ ÇÁ·Î¹ÙÀÌ´õ°¡ »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¹Ýº¹ÇØ È£ÃâÇØµµ, ÀÌÀüÀÇ ¼³Á¤Àº º¸°ü À¯ÁöµË´Ï´Ù. ´Ù¸¸, ±×·¯ÇÑ ¿ì¼± ¼øÀ§°¡ ³·¾ÆÁ®, ÀÛ¼ºµÈ ÇÁ·Î¹ÙÀÌ´õ¿Í Oid
ÀÇ Æä¾îÀÇ ¼ø¼ ÷ºÎ ¸®½ºÆ®°¡ ÃÖ¿ì¼± µË´Ï´Ù.
Oid
¿¡ null ¸¦ ÁöÁ¤ÇØ addProviderAtFront ¸¦ È£ÃâÇϸé(ÀÚ), GSSManager ÀνºÅϽº·Î ÀÌ ÇÁ·Î¹ÙÀÌ´õ·Î ¼³Á¤µÈ ÀÌÀüÀÇ ¿ì¼± ¼øÀ§°¡ ¸ðµÎ »èÁ¦µË´Ï´Ù. Oid
¿¡ null ÀÌ¿ÜÀÇ °ªÀ» ÁöÁ¤ÇØ addProviderAtFront ¸¦ È£ÃâÇϸé(ÀÚ), ÀÌ ±â±¸¿Í ÀÌ ÇÁ·Î¹ÙÀÌ´õ¸¦ »ç¿ëÇØ ¼³Á¤µÈ ÀÌÀüÀÇ ¿ì¼± ¼øÀ§°¡ ¸ðµÎ »èÁ¦µË´Ï´Ù.
GSSManager ±¸ÇöÀÌ Ç÷¯±× ÀÎ °¡´ÉÇÑ ÇÁ·Î¹ÙÀÌ´õ ¾ÆÅ°ÅØÃĸ¦ °®Ãá SPI ¸¦ ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â »óÅ ÄÚµå GSSException.UNAVAILABLE °¡ ¼³Á¤µÈ GSSException °¡ ½½·Î¿ì µÇ¾î ÀÌ Á¶ÀÛÀ» ÀÌ¿ëÇÒ ¼ö ¾ø´Â °ÍÀÌ ³ªÅ¸³³´Ï´Ù.
¿¹¸¦ µé¾î, ±â±¸°¡ ÇÊ¿äÇÑ ¶§´Â ÇÁ·Î¹ÙÀÌ´õ A ¸¦ ÃÖÃÊ·Î È®ÀÎÇϵµ·Ï(µíÀÌ) ¼³Á¤ÇÏ·Á¸é , ´ÙÀ½ÀÇ È£ÃâÀ» ½Ç½ÃÇÕ´Ï´Ù.
GSSManager mgr = GSSManager.getInstance(); // mgr may at this point have its own pre-configured list // of provider preferences. The following will prepend to // any such list: mgr.addProviderAtFront(A, null);ÀÌÀüÀ¸·Î ¼³Á¤µÈ A ¸¦ È®ÀÎÇϱâ Àü¿¡, OID °¡ m1 ÀÎ ±â±¸¸¦ ÇÁ·Î¹ÙÀÌ´õ B ·ÎºÎÅÍ ÃëµæÇÏ´Â °æ¿ì´Â ´ÙÀ½ÀÇ È£ÃâÀ» ½Ç½ÃÇÕ´Ï´Ù.
mgr.addProviderAtFront(B, m1);GSSManager ´Â m1 °¡ ÇÊ¿äÇÑ °æ¿ì, ¿ì¼± B ¸¦ È®ÀÎÇÕ´Ï´Ù. B °¡ m1 ¸¦ ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â ´ÙÀ½¿¡ A ¸¦ È®ÀÎÇÕ´Ï´Ù. ±â±¸ m2 °¡ ÇÊ¿äÇØ, m2 °¡ m1 ¿Í ´Ù¸¥ °æ¿ì´Â B ¸¦ »ý·« ÇØ Á÷Á¢ A ¸¦ È®ÀÎÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, °°Àº GSSManager ÀνºÅϽº¿¡ ´ëÇØ¼, ´ÙÀ½ÀÇ È£ÃâÀ» ½Ç½ÃÇÑ´Ù°í ÇÕ´Ï´Ù.
mgr.addProviderAtFront(B, null)Æä¾î (B, m1)ÀÇ ÀÌÀüÀÇ ¼³Á¤ÀÌ ÀÌ ¼³Á¤¿¡ Æ÷ÇÔ µÇ¾î, »èÁ¦µË´Ï´Ù. ÀÌ °á°ú, ¿ì¼± ¼øÀ§ÀÇ ¸®½ºÆ®´Â {(B, null), (A, null), ... //ÀÌÀüÀ¸·Î ¼³Á¤µÈ ¸®½ºÆ®} °¡ µË´Ï´Ù.
´Ù¸¸, ´ÙÀ½ÀÇ È£Ãâ¿¡´Â ÁÖÀÇÇØ ÁÖ¼¼¿ä.
mgr.addProviderAtFront(A, m3)ÀÌ È£ÃâÀ» ½ÇÇàÇØµµ, ÀÌÀüÀÇ ¼³Á¤ (A, null)À» Æ÷ÇÔ ÇÏÁö ¾Ê°í ¸®½ºÆ®´Â {(A, m3), (B, null), (A, null), ...} (ÀÌ)°¡ µË´Ï´Ù.
p
- mech ·Î ÁöÁ¤ÇÑ ±â±¸ÀÇ ¼Æ÷Æ®°¡ ÇÊ¿äÇÑ ¶§¿¡, »ç¿ëÇÏ´Â ÇÁ·Î¹ÙÀÌ´õÀÇ ÀνºÅϽºmech
- ÀÌ ÇÁ·Î¹ÙÀÌ´õ°¡ ¼³Á¤µÇ¾î ÀÖ´Â ±â±¸
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.UNAVAILABLE
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑ´Ùpublic abstract void addProviderAtEnd(Provider p, Oid mech) throws GSSException
Oid
´Â ¾Æ´Ï°í null Ä¡°¡ »ç¿ëÇßÀ» ¶§´Â ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ°¡ ¸ðµç ±â±¸¿¡ »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¹Ýº¹ÇØ È£ÃâÇØµµ, ÀÌÀüÀÇ ¼³Á¤Àº º¸°ü À¯ÁöµË´Ï´Ù. ´Ù¸¸, ±×·¯ÇÑ ¿ì¼± ¼øÀ§´Â »õ·Î¿î ¼³Á¤º¸´Ù ³ô¾ÆÁ®, ÀÛ¼ºµÈ ÇÁ·Î¹ÙÀÌ´õ¿Í Oid
ÀÇ Æä¾îÀÇ ¼ø¼ ÷ºÎ ¸®½ºÆ®ÀÇ ¿ì¼± ¼øÀ§°¡ °¡Àå ³·¾ÆÁý´Ï´Ù. Áï, ÀÌ ¸®½ºÆ®°¡ »ç¿ëµÇ±â Àü¿¡, ¿ì¼± ÀÌÀüÀÇ ÇÁ·Î¹ÙÀÌ´õ ¼³Á¤ÀÌ »ç¿ëµË´Ï´Ù.
ÀÌÀüÀ¸·Î ¼³Á¤ÇÑ ±âÁ¸ÀÇ ¿ì¼± ¼øÀ§¾È¿¡, ¿©±â¼ ¼³Á¤ÇÏ´Â ¿ì¼± ¼øÀ§¿Í °æÇÕ ÇÏ´Â °ÍÀÌ ÀÖ´Â °æ¿ì, ÀÌ ¿ä±¸´Â ¹«½ÃµË´Ï´Ù.
GSSManager ±¸ÇöÀÌ Ç÷¯±× ÀÎ °¡´ÉÇÑ ÇÁ·Î¹ÙÀÌ´õ ¾ÆÅ°ÅØÃĸ¦ °®Ãá SPI ¸¦ ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â »óÅ ÄÚµå GSSException.UNAVAILABLE °¡ ¼³Á¤µÈ GSSException °¡ ½½·Î¿ì µÇ¾î ÀÌ Á¶ÀÛÀ» ÀÌ¿ëÇÒ ¼ö ¾ø´Â °ÍÀÌ ³ªÅ¸³³´Ï´Ù.
¿¹¸¦ µé¾î, OID °¡ m1 ÀÎ ±â±¸°¡ ÇÊ¿äÇÑ ¶§´Â ½Ã½ºÅÛÀÇ µðÆúÆ® ÇÁ·Î¹ÙÀÌ´õ¸¦ ÃÖÃÊ·Î È®ÀÎÇØ, m1 °¡ ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀ» ¶§¿¡¸¸ ÇÁ·Î¹ÙÀÌ´õ A ¸¦ È®ÀÎÇÏ´Â °æ¿ì´Â ´ÙÀ½ÀÇ È£ÃâÀ» ½Ç½ÃÇÕ´Ï´Ù.
GSSManager mgr = GSSManager.getInstance(); mgr.addProviderAtEnd(A, m1);¼³Á¤ÇÑ ÇÁ·Î¹ÙÀÌ´õ¸¦ ¸ðµÎ È®ÀÎÇÏ°í ³ª¼, ¸ðµç ±â±¸¿¡ ´ëÇØ ÇÁ·Î¹ÙÀÌ´õ B ¸¦ È®ÀÎÇÏ´Â °æ¿ì´Â ´ÙÀ½ÀÇ È£ÃâÀ» ½Ç½ÃÇÕ´Ï´Ù.
mgr.addProviderAtEnd(B, null);¿ì¼± ¼øÀ§ÀÇ ¸®½ºÆ®°¡,{..., (A, m1), (B, null)} °¡ µË´Ï´Ù.
¿¹¸¦ µé¾î, °°Àº GSSManager ÀνºÅϽº¿¡ ´ëÇØ¼, ´ÙÀ½ÀÇ È£ÃâÀ» ½Ç½ÃÇÑ´Ù°í ÇÕ´Ï´Ù.
mgr.addProviderAtEnd(B, m2)Æä¾î (B, null)ÀÇ ÀÌÀüÀÇ ¼³Á¤ÀÌ ÀÌ ¼³Á¤À» Æ÷ÇÔ ÇØ, ÀÌ ¿ä±¸´Â ¹«½ÃµË´Ï´Ù. ±âÁ¸ÀÇ Æä¾î (A, m1) ¶Ç´Â (B, null)¿¡ ´ëÇØ¼ ¿ä±¸ÇßÀ» °æ¿ìµµ °°Àº °á°ú°¡ µË´Ï´Ù.
´Ù¸¸, ´ÙÀ½ÀÇ È£Ãâ¿¡´Â ÁÖÀÇÇØ ÁÖ¼¼¿ä.
mgr.addProviderAtEnd(A, null)ÀÌ È£ÃâÀ» ½ÇÇàÇØµµ, ÀÌÀüÀÇ ¼³Á¤ (A, m1)¿¡ ÀÇÇØ Æ÷ÇÔ µÇÁö ¾Ê°í ¸®½ºÆ®´Â {..., (A, m1), (B, null), (A, null)} °¡ µË´Ï´Ù.
p
- mech ·Î ÁöÁ¤ÇÑ ±â±¸ÀÇ ¼Æ÷Æ®°¡ ÇÊ¿äÇÑ ¶§¿¡, »ç¿ëÇÏ´Â ÇÁ·Î¹ÙÀÌ´õÀÇ ÀνºÅϽºmech
- ÀÌ ÇÁ·Î¹ÙÀÌ´õ°¡ ¼³Á¤µÇ¾î ÀÖ´Â ±â±¸
GSSException
- ¸ÞÀÌÀú ¿¡·¯ ÄÚµå GSSException.UNAVAILABLE
,GSSException.FAILURE
¸¦ Æ÷ÇÔÇÑ´Ù
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
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.