GSSName

GSSName (GSS 이름)

단일 GSS-API 프린시펄 엔티티를 캡슐화하는 인터페이스입니다.

출처: Java API Reference

본문

애플리케이션은 GSSManager 클래스의 createName 메서드 중 하나를 통해 이 인터페이스의 구현을 얻습니다. 개념적으로 GSSName은 엔티티의 많은 표현, 즉 지원되는 각 하위 메커니즘별로 하나씩의 원시 이름 요소를 담습니다. GSS 용어로, 단 하나의 메커니즘 요소만 담은 GSSName을 메커니즘 이름(MN, Mechanism Name)이라고 해요.

서로 다른 인증 메커니즘이 프린시펄 식별에 서로 다른 네임스페이스를 사용할 수 있으므로, 다중 메커니즘 환경(또는 하위 메커니즘이 여러 네임스페이스를 지원하는 일부 단일 메커니즘 환경)에서는 GSS-API의 이름 지원이 복잡할 수밖에 없습니다. 서로 다른 이름 형식과 그 정의는 Oid로 식별되며, 이 인터페이스에 몇 가지 표준 타입이 정의되어 있어요.

static final Oid NT_HOSTBASED_SERVICE   // "service@host" 형식의 호스트 기반 서비스 이름
static final Oid NT_USER_NAME
static final Oid NT_MACHINE_UID_NAME
static final Oid NT_STRING_UID_NAME
static final Oid NT_ANONYMOUS
static final Oid NT_EXPORT_NAME
boolean equals(GSSName another) throws GSSException
boolean equals(Object another)
int hashCode()
GSSName canonicalize(Oid mech) throws GSSException
byte[] export() throws GSSException
String toString()
Oid getStringNameType() throws GSSException
boolean isAnonymous()
boolean isMN()

canonicalize 메서드는 이름을 특정 메커니즘으로 정규화해 MN을 만들고, export는 이름을 바이트 배열로 내보냅니다. 보안 매니저가 설치된 환경에서 Kerberos 이름 요소를 영역(realm) 없이 담는 GSSName을 만들려면 ServicePermission이 필요하며, 권한이 없으면 GSSException.FAILURE 코드를 담은 GSSException이 던져져요.

더 알아보기 (Learn more)

Java 공식 API