JavaTM Platform
Standard Ed. 6

javax.security.auth.kerberos
클래스 KerberosTicket

java.lang.Object 
  상위를 확장 javax.security.auth.kerberos.KerberosTicket
모든 구현된 인터페이스:
Serializable , Destroyable , Refreshable


public class KerberosTicket
extends Object
implements Destroyable , Refreshable , Serializable

이 클래스는, Kerberos 티켓과 관련 정보를 클라이언트의 관점으로부터 캡슐화합니다. Key Distribution Center (KDC)로부터 클라이언트에 송신한, 대답 메세지 KDC-REP 내의 모든 정보를 수중에 넣습니다. KDC-REP 는 Kerberos 프로토콜 스펙 (RFC 1510 )으로 정의되고 있습니다.  

KDC 에 대해서 사용자를 인증하는 모든 Kerberos JAAS 로그인 모듈로, 이 클래스를 사용할 필요가 있습니다. 이용 가능한 경우, 로그인 모듈은, KDC 와 직접 통신하는 것이 아니라 operating system의 티켓 캐쉬로부터, 이 정보를 읽어내는 일도 있습니다. JAAS 인증 프로세스의 위탁 국면중에, JAAS 로그인 모듈이 이 클래스를 인스턴스화해 Subject 의 비공개 자격 세트에 포함합니다.

Subject 로부터 KerberosTicket 인스턴스에 액세스 할 필요가 있는 경우는, 어플리케이션에 PrivateCredentialPermission 를 줄 필요가 있는 일이 있습니다. 어플리케이션이 KerberosTicket 에 액세스 하는데 디폴트의 JGSS Kerberos 기구에 의존하고 있는 경우, 이 액세스권은 필요 없습니다. 다만 그 경우, 어플리케이션에는 적절한 ServicePermission 가 필요합니다.  

이 클래스는, 티켓을 부여하는 티켓과 그 다른 일반 서비스 티켓과의 양쪽 모두에 적용 가능합니다. 티켓을 부여하는 티켓은, 보다 일반화된 서비스 티켓의 특수한 예에 지나지 않습니다.

도입된 버젼:
1.4
관련 항목:
Subject , PrivateCredentialPermission , LoginContext , GSSCredential , GSSManager , 직렬화 된 형식

생성자 의 개요
KerberosTicket (byte[] asn1Encoding, KerberosPrincipal  client, KerberosPrincipal  server, byte[] sessionKey, int keyType, boolean[] flags, Date  authTime, Date  startTime, Date  endTime, Date  renewTill, InetAddress [] clientAddresses)
          클라이언트가 KDC 로부터 취득한, 또는 캐쉬로부터 읽어낸 자격 정보를 사용해, KerberosTicket 를 구축합니다.
 
메소드의 개요
 void destroy ()
          티켓과 티켓에 포함되고 있는 중요한 정보를 파기합니다.
 boolean equals (Object  other)
          지정된 Object 가 이 KerberosTicket 와 동일한지 어떤지 비교합니다.
 Date getAuthTime ()
          클라이언트가 인증되었을 때 각을 돌려줍니다.
 KerberosPrincipal getClient ()
          이 티켓에 관련한 클라이언트의 주체를 돌려줍니다.
 InetAddress [] getClientAddresses ()
          이 티켓을 사용 가능한 주소의 리스트를 돌려줍니다.
 byte[] getEncoded ()
          티켓 전체의 ASN. 1 encode를 돌려줍니다.
 Date getEndTime ()
          이 티켓의 유효기간의 기한 마감 시각을 돌려줍니다.
 boolean[] getFlags ()
          이 티켓에 관련하는 플래그를 돌려줍니다.
 Date getRenewTill ()
          모든 갱신을 포함한, 이 티켓의 최신의 유효기간을 돌려줍니다.
 KerberosPrincipal getServer ()
          이 티켓에 관련한 서비스의 주체를 돌려줍니다.
 SecretKey getSessionKey ()
          이 티켓에 관련한 세션열쇠를 돌려줍니다.
 int getSessionKeyType ()
          Kerberos 프로토콜 스펙으로 정의된, 이 티켓에 관련하는 세션열쇠의 열쇠 타입을 돌려줍니다.
 Date getStartTime ()
          이 티켓의 유효기간의 개시시각을 돌려줍니다.
 int hashCode ()
          이 KerberosTicket 의 해시 코드를 돌려줍니다.
 boolean isCurrent ()
          이 티켓이 최신인 채일지 어떨지를 판정합니다.
 boolean isDestroyed ()
          이 티켓이 파기되었는지의 여부를 판정합니다.
 boolean isForwardable ()
          이 티켓이 전송 가능한지 어떤지를 판정합니다.
 boolean isForwarded ()
          이 티켓이 전송 되어 왔는지, 인증에 의해 발행되었는지의 여부를 판정합니다 (전송 되어 온 티켓 인가 티켓을 포함한다).
 boolean isInitial ()
          이 티켓이 Kerberos AS-Exchange 프로토콜을 사용해 발행되고 있어, 티켓 인가 티켓을 바탕으로 발행되어 있지 않은지 어떤지를 판정합니다.
 boolean isPostdated ()
          이 티켓이 사후의 일자일지 어떨지를 판정합니다.
 boolean isProxiable ()
          이 티켓이 프록시 가능한지 어떤지를 판정합니다.
 boolean isProxy ()
          이 티켓이 프록시 티켓일지 어떨지를 판정합니다.
 boolean isRenewable ()
          이 티켓이 갱신 가능한지 어떤지를 판정합니다.
 void refresh ()
          이 티켓의 유효기간을 연장합니다.
 String toString ()
          객체의 캐릭터 라인 표현을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

KerberosTicket

public KerberosTicket(byte[] asn1Encoding,
                      KerberosPrincipal  client,
                      KerberosPrincipal  server,
                      byte[] sessionKey,
                      int keyType,
                      boolean[] flags,
                      Date  authTime,
                      Date  startTime,
                      Date  endTime,
                      Date  renewTill,
                      InetAddress [] clientAddresses)
클라이언트가 KDC 로부터 취득한, 또는 캐쉬로부터 읽어낸 자격 정보를 사용해, KerberosTicket 를 구축합니다.

파라미터:
asn1Encoding - Kerberos 프로토콜 스펙에 정의된, 티켓의 ASN. 1 DER encode
client - 서비스 티켓을 소유하는 클라이언트
server - 티켓이 사용되는 서비스
sessionKey - 서버에 송신되는 Authenticator를 암호화하기 위해서 사용되는 세션열쇠의 raw 바이트
keyType - Kerberos 프로토콜 스펙으로 정의된, 세션열쇠의 열쇠 타입
flags - 티켓 플래그. 이 배열의 각 요소는, 티켓 플래그를 나타내는 ASN. 1 BitString 의 대응하는 비트의 값을 나타낸다. 이 배열의 요소수가 Kerberos 프로토콜로 사용되는 플래그의 수보다 적은 경우, 부족한 플래그는 false 가 되는
authTime - 클라이언트를 초기 인증했을 때 각
startTime - 티켓이 유효하게 된 뒤의 시각. authTime 의 값이 startTime 로서 다루어지는 경우는, null 도 가능
endTime - 티켓이 유효하지 않게 된 뒤의 시각
renewTill - 모든 갱신의 가능성을 포함한, 티켓의 절대 유효기간. 갱신 불가능한 티켓으로는, 이 필드는 null 도 가능
clientAddresses - 클라이언트가 티켓을 사용할 수 있는 주소. 티켓을 임의의 주소로 사용할 수 있을 때, 이 필드는 null 가 된다
메소드의 상세

getClient

public final KerberosPrincipal  getClient()
이 티켓에 관련한 클라이언트의 주체를 돌려줍니다.

반환값:
클라이언트의 주체

getServer

public final KerberosPrincipal  getServer()
이 티켓에 관련한 서비스의 주체를 돌려줍니다.

반환값:
서비스의 주체

getSessionKey

public final SecretKey  getSessionKey()
이 티켓에 관련한 세션열쇠를 돌려줍니다.

반환값:
세션열쇠

getSessionKeyType

public final int getSessionKeyType()
Kerberos 프로토콜 스펙으로 정의된, 이 티켓에 관련하는 세션열쇠의 열쇠 타입을 돌려줍니다.

반환값:
이 티켓에 관련한 세션열쇠의 열쇠 타입
관련 항목:
getSessionKey()

isForwardable

public final boolean isForwardable()
이 티켓이 전송 가능한지 어떤지를 판정합니다.

반환값:
티켓이 전송 가능한 경우는 true, 그렇지 않은 경우는 false

isForwarded

public final boolean isForwarded()
이 티켓이 전송 되어 왔는지, 인증에 의해 발행되었는지의 여부를 판정합니다 (전송 되어 온 티켓 인가 티켓을 포함한다).

반환값:
이 티켓이 전송 되어 왔는지, 인증에 의해 발행되었을 경우 (전송 되어 온 티켓 인가 티켓을 포함한다)는 true, 그렇지 않은 경우는 false

isProxiable

public final boolean isProxiable()
이 티켓이 프록시 가능한지 어떤지를 판정합니다.

반환값:
티켓이 프록시 가능한 경우는 true, 그렇지 않은 경우는 false

isProxy

public final boolean isProxy()
이 티켓이 프록시 티켓일지 어떨지를 판정합니다.

반환값:
프록시 티켓인 경우는 true, 그렇지 않은 경우는 false

isPostdated

public final boolean isPostdated()
이 티켓이 사후의 일자일지 어떨지를 판정합니다.

반환값:
티켓이 사후의 일자인 경우는 true, 그렇지 않은 경우는 false

isRenewable

public final boolean isRenewable()
이 티켓이 갱신 가능한지 어떤지를 판정합니다. 갱신 가능한 경우,refresh 메소드를 호출할 수가 있어 갱신하는 유효기간이 지나지 않다고 보여집니다.

반환값:
티켓이 갱신 가능한 경우는 true, 그렇지 않은 경우는 false

isInitial

public final boolean isInitial()
이 티켓이 Kerberos AS-Exchange 프로토콜을 사용해 발행되고 있어, 티켓 인가 티켓을 바탕으로 발행되어 있지 않은지 어떤지를 판정합니다.

반환값:
이 티켓이 Kerberos AS-Exchange 프로토콜로 발행되고 있는 경우는 true, 그렇지 않은 경우는 false

getFlags

public final boolean[] getFlags()
이 티켓에 관련하는 플래그를 돌려줍니다. 반환된 배열의 각 요소는, 티켓 플래그를 나타내는 ASN. 1 BitString 의 대응하는 비트의 값을 나타냅니다.

반환값:
이 티켓에 관련하는 플래그

getAuthTime

public final Date  getAuthTime()
클라이언트가 인증되었을 때 각을 돌려줍니다.

반환값:
클라이언트가 인증되었을 때 각. 설정되어 있지 않은 경우는 null

getStartTime

public final Date  getStartTime()
이 티켓의 유효기간의 개시시각을 돌려줍니다.

반환값:
이 티켓의 유효기간의 개시시각. 설정되어 있지 않은 경우는 null

getEndTime

public final Date  getEndTime()
이 티켓의 유효기간의 기한 마감 시각을 돌려줍니다.

반환값:
이 티켓의 유효기간의 기한 마감 시각

getRenewTill

public final Date  getRenewTill()
모든 갱신을 포함한, 이 티켓의 최신의 유효기간을 돌려줍니다. 갱신 불가능한 티켓으로는 null 치가 돌려주어집니다.

반환값:
이 티켓의 최신의 유효기간

getClientAddresses

public final InetAddress [] getClientAddresses()
이 티켓을 사용 가능한 주소의 리스트를 돌려줍니다.

반환값:
주소의 리스트. 필드가 지정되어 있지 않은 경우는 null

getEncoded

public final byte[] getEncoded()
티켓 전체의 ASN. 1 encode를 돌려줍니다.

반환값:
티켓 전체의 ASN. 1 encode

isCurrent

public boolean isCurrent()
이 티켓이 최신인 채일지 어떨지를 판정합니다.

정의:
인터페이스 Refreshable 내의 isCurrent
반환값:
Object 가 현재 최신인 경우는 true, 그렇지 않은 경우는 false

refresh

public void refresh()
             throws RefreshFailedException 
이 티켓의 유효기간을 연장합니다. 갱신 처리에 성공하면(자), 티켓에 새로운 세션열쇠가 추가됩니다. 티켓이 갱신 가능하지 않는 경우나, 갱신 가능한 최신 시각이 지나고 있는 경우는, 갱신 처리에 실패합니다. KDC 로부터 에러가 돌려주어졌을 경우도, 이 메소드는 실패합니다. 주:이 메소드는, 이 객체의 액세스용 메소드와 동기 하고 있지 않습니다. 따라서, 호출측은, 이 객체에 액세스 해, 갱신을 시도하는 thread가 동시에 복수 존재할 가능성이 있는 점에 주의할 필요가 있습니다.

정의:
인터페이스 Refreshable 내의 refresh
예외:
RefreshFailedException - 티켓이 갱신 가능하지 않는 경우, 갱신 가능한 최신 시각이 지나고 있는 경우, 또는 KDC 가 에러를 돌려주는 경우
관련 항목:
isRenewable() , getRenewTill()

destroy

public void destroy()
             throws DestroyFailedException 
티켓과 티켓에 포함되고 있는 중요한 정보를 파기합니다.

정의:
인터페이스 Destroyable 내의 destroy
예외:
DestroyFailedException - 파기 처리가 실패했을 경우


isDestroyed

public boolean isDestroyed()
이 티켓이 파기되었는지의 여부를 판정합니다.

정의:
인터페이스 Destroyable 내의 isDestroyed
반환값:
Object 가 파기되었을 경우는 true, 그렇지 않은 경우는 false

toString

public String  toString()
클래스 Object 의 기술:
객체의 캐릭터 라인 표현을 돌려줍니다. 일반적으로,toString 메소드는 이 객체를 「텍스트로 표현한다」캐릭터 라인을 돌려줍니다. 이 결과는, 인간이 읽을 수 있는 간결하고 유익한 정보여야 합니다. 모든 서브 클래스에서, 이 메소드를 오버라이드(override) 하는 것을 추천합니다.  

Object 클래스의 toString 메소드는, 객체의 파생원의 클래스명, @ 부호 (@), 및 객체의 해시 코드의 부호 없음 16 진표현으로부터 구성되는 캐릭터 라인을 돌려줍니다. 즉, 이 메소드는 다음의 값과 동일한 캐릭터 라인을 돌려줍니다.

 getClass(). getName() + '@' + Integer.toHexString(hashCode())
 

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 객체의 캐릭터 라인 표현

hashCode

public int hashCode()
이 KerberosTicket 의 해시 코드를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
KerberosTicket 의 hashCode()
도입된 버젼:
1.6
관련 항목:
Object.equals(java.lang.Object) , Hashtable

equals

public boolean equals(Object  other)
지정된 Object 가 이 KerberosTicket 와 동일한지 어떤지 비교합니다. 지정된 객체가 KerberosTicket 이며, 2 개의 KerberosTicket 인스턴스가 등가인 경우, true 를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
other - 비교 대상의 Object
반환값:
지정된 객체가 이 KerberosTicket 와 동일한 경우는 true, 그렇지 않은 경우는 false. 주:어느 쪽인가의 KerberosTicket 객체가 파기되었을 경우는 true
도입된 버젼:
1.6
관련 항목:
Object.hashCode() , Hashtable

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.