|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
public interface GSSName
이 인터페이스는, 단일의 GSS-API 주체 엔티티를 캡슐화합니다. 어플리케이션에서는,GSSManager
클래스에 포함되는 createName
메소드의 어느쪽이든을 사용해 이 인터페이스의 구현을 가져옵니다. GSSName 는, 엔티티의 복수의 표현, 즉 복수의 프리미티브(primitive) 이름 요소 (지원되고 있는 부하의 기구 마다 1 개(살)씩)로 구성됩니다. GSS 에서는, 1 개(살)만의 기구의 요소를 포함한 GSSName 를 기구명 (MN)이라고 부릅니다.
주체의 식별로 사용되는 이름 공간은, 인증 기구 마다 다릅니다. 이 때문에, 복수 기구 환경에서는, GSS-API 의 네이밍 지원가 복잡하게 됩니다. 또, 단일 기구 환경의 경우에서도, 부하의 기구가 복수의 이름 공간을 지원하고 있을 때는, 똑같이 복잡하게 됩니다. 이름의 형식과 그 정의는,Oid's
에 의해 식별됩니다. 일부의 표준형은, 이 인터페이스에 정의되고 있습니다. 이름의 형식은, 그 이름형의 일의의 Oid
에 근거해 파생시킬 수가 있습니다.
다음의 코드예에서는,GSSName
인터페이스를 사용하고 있습니다. 우선,GSSName
를 작성해, 그것을 MN 로 변환합니다. 다음에, 이름을 비교해, 그 이름의 프린트 가능한 표현을 가져옵니다. 마지막으로, 그 이름을 byte 배열에 export 하고 나서 재임포트 해, 새로운 GSSName
를 가져옵니다.
GSSManager manager = GSSManager.getInstance(); // create a host based service name GSSName name = manager.createName("service@host", GSSName.NT_HOSTBASED_SERVICE); Oid krb5 = new Oid("1.2. 840.113554. 1.2. 2"); GSSName mechName = name.canonicalize(krb5); // the above two steps are equivalent to the following GSSName mechName = manager.createName("service@host", GSSName.NT_HOSTBASED_SERVICE, krb5); // perform name comparison if (name.equals(mechName)) print("Names are equals. "); // obtain textual representation of name and its printable // name type print(mechName.toString() + mechName.getStringNameType(). toString()); // export and re-import the name byte [] exportName = mechName.export(); // create a new name object from the exported buffer GSSName newName = manager.createName(exportName, GSSName.NT_EXPORT_NAME);
export()
,
equals(GSSName)
,
GSSManager.createName(String, Oid)
,
GSSManager.createName(String, Oid, Oid)
,
GSSManager.createName(byte[], Oid)
필드의 개요 | |
---|---|
static Oid |
NT_ANONYMOUS
익명의 엔티티를 나타내는 이름형입니다. |
static Oid |
NT_EXPORT_NAME
export 된 이름을 나타내는 이름형입니다. |
static Oid |
NT_HOSTBASED_SERVICE
호스트 베이스의 서비스의 이름형을 나타내는 OID 입니다. |
static Oid |
NT_MACHINE_UID_NAME
로컬 시스템상의 사용자에게 대응하는 수치 사용자 ID 를 나타내는 이름형입니다 (Uid 등). |
static Oid |
NT_STRING_UID_NAME
로컬 시스템상의 사용자의 수치 사용자 ID 를 나타내는, 숫자의 캐릭터 라인을 나타내는 이름형입니다. |
static Oid |
NT_USER_NAME
로컬 시스템상의 특정의 사용자를 나타내는 이름형입니다. |
메소드의 개요 | |
---|---|
GSSName |
canonicalize (Oid mech)
특정의 기구에 대해서 표준화 되는 이름을 작성합니다. |
boolean |
equals (GSSName another)
2 개의 GSSName 객체를 비교해, 그것들이 같은 엔티티를 참조하고 있을지 어떨지를 검사합니다. |
boolean |
equals (Object another)
이 GSSName 객체를,GSSName 일지도 모르는 다른 객체와 비교합니다. |
byte[] |
export ()
표준화 된 기구명 (MN)을 연속하는 바이트 표현으로서 돌려줍니다. |
Oid |
getStringNameType ()
이 이름의 프린트 가능한 표현의 이름형을 돌려줍니다. |
int |
hashCode ()
이 GSSName 의 해시 코드값를 돌려줍니다. |
boolean |
isAnonymous ()
이 이름 객체가 익명의 엔티티를 나타내고 있는지 어떤지 테스트합니다. |
boolean |
isMN ()
이 이름 객체가 기구명 (MN)을 나타내고 있는지 어떤지 테스트합니다. |
String |
toString ()
GSSName 객체의 텍스트 표현을 돌려줍니다. |
필드의 상세 |
---|
static final Oid NT_HOSTBASED_SERVICE
이 이름형은, 다음의 OID 치를 나타냅니다. { 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 2(gss-host-based-services) }
static final Oid NT_USER_NAME
이 이름형은, 다음의 OID 치를 나타냅니다. { iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) user_name(1) }
static final Oid NT_MACHINE_UID_NAME
이 이름형은, 다음의 OID 치를 나타냅니다. { iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) machine_uid_name(2) }
static final Oid NT_STRING_UID_NAME
이 이름형은, 다음의 OID 치를 나타냅니다. { iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) string_uid_name(3) }
static final Oid NT_ANONYMOUS
이 이름형은, 다음의 OID 치를 나타냅니다. { 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 3(gss-anonymous-name) }
static final Oid NT_EXPORT_NAME
이 이름형은, 다음의 OID 치를 나타냅니다. { 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name) }
메소드의 상세 |
---|
boolean equals(GSSName another) throws GSSException
GSSName
객체를 비교해, 그것들이 같은 엔티티를 참조하고 있을지 어떨지를 검사합니다.
another
- 이 이름과 비교하는 GSSName
GSSException
- 이름을 비교할 수 없는 경우, 다음의 메이저 에러 코드를
포함한다.
GSSException.BAD_NAMETYPE
,
GSSException.FAILURE
boolean equals(Object another)
GSSName
객체를,GSSName
일지도 모르는 다른 객체와 비교합니다. 이 메소드의 동작은, GSSException 를 throw 하지 않는 점을 제외해,equals
와 같습니다. 에러가 발생했을 경우는 false 를 돌려줍니다.
Object
내의 equals
another
- 이 이름과 비교하는 객체
GSSName
로,
2 개의 이름이 같은 엔티티를 참조하고 있는 경우는 trueequals(GSSName)
int hashCode()
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
GSSName canonicalize(Oid mech) throws GSSException
mech
- 이 이름을 표준화 할 때의 기준으로 한다
기구의 OID
GSSName
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.BAD_MECH
,
GSSException.BAD_NAMETYPE
,
GSSException.BAD_NAME
,
GSSException.FAILURE
byte[] export() throws GSSException
export 된 이름은, 큰 액세스 제어 리스트로 사용합니다. 액세스 제어 리스트가 큰 경우는, 각 이름에 대해서 GSSName
객체를 작성해, ACL 로부터 equals 메소드를 호출할 때의 오버헤드가 커지는 일이 있습니다.
export 된 이름을 재임포트 하려면 , byte 배열의 팩토리 메소드 GSSManager.createName
를 사용해, 이름형의 객체 식별자로서 NT_EXPORT_NAME 를 지정합니다. 그 결과적으로 반환되는 GSSName
명도 MN 입니다.
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.BAD_NAME
,
GSSException.BAD_NAMETYPE
,
GSSException.FAILURE
String toString()
GSSName
객체의 텍스트 표현을 돌려줍니다. 프린트 된 이름의 형식 (반환되는 캐릭터 라인의 구문을 결정한다)을 꺼내는 경우는,getStringNameType
메소드를 사용합니다.
Object
내의 toString
Oid getStringNameType() throws GSSException
_toString
메소드로부터는, 이 이름형으로 돌려주어집니다.
GSSException
- 다음의 메이저 에러 코드를
포함한다.
GSSException.FAILURE
boolean isAnonymous()
boolean isMN()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.