|
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 µµ ÂüÁ¶ÇϽʽÿÀ.