|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectorg.ietf.jgss.GSSManager
public abstract class 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
¸Þ¼µåÀÇ 2°³°¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼µå¸¦ ½ÇÇàÇϸé, <ÇÁ·Î¹ÙÀÌ´õ, 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°³
¾¿)ÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ´Ù¸¸, À̸§ °ø°£ÀÇ ÇüÅ ÆÄ¶ó¹ÌÅÍ¿¡ NT_EXPORT_NAME°¡ ÁöÁ¤µÇ°í ÀÖÀ» ¶§, ¶Ç´Â ÀÌ GSS-API ±¸ÇöÀÌ º¹¼ö µµ±¸°¡ ¾Æ´Ñ °æ¿ì µîÀº ¿¹¿ÜÀÔ´Ï´Ù. ÀÌ ¸Þ¼µå´Â NT_EXPORT_NAME Çü¿¡´Â »ç¿ëÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä. ÀÌÀü¿¡ export µÈ À̸§ÀÌ ÀÓÀÇÀÇ ¹ÙÀÌÆ®·Î ±¸¼ºµÇ´Â °æ¿ì, ±× À̸§À» String ·Î¼ Ç¥ÇöÇϸé, ¹®ÀÚ ÀÎÄÚµù ¹æ½ÄÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °ÍÀÌ Àֱ⠶§¹®¿¡ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ À̸§À» º¯È¯ÇÏ´Â °æ¿ì´Â ÀÌ ¸Þ¼µå¸¦ 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°³
¾¿)ÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ´Ù¸¸, À̸§ °ø°£ÀÇ ÇüÅ ÆÄ¶ó¹ÌÅÍ¿¡ 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°¡ Throw µÇ¾î ÀÌ Á¶ÀÛÀ» ÀÌ¿ëÇÒ ¼ö ¾ø´Â °ÍÀÌ ³ªÅ¸³³´Ï´Ù.
¿¹¸¦ µé¾î µµ±¸°¡ ÇÊ¿äÇÑ ¶§´Â ÇÁ·Î¹ÙÀÌ´õ 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°¡ Throw µÇ¾î ÀÌ Á¶ÀÛÀ» ÀÌ¿ëÇÒ ¼ö ¾ø´Â °ÍÀÌ ³ªÅ¸³³´Ï´Ù.
¿¹¸¦ µé¾î 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 Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.