|
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 도 참조해 주세요.