所有类


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) 发送给客端的所有信息,这些信息定义在 Kerberos 协议规范(RFC 1510) 中的应答消息 KDC-REP 中。

向 KDC 验证用户的所有 Kerberos JAAS 登录模块都应该使用此类。在可以使用的地方,登录模块甚至可以从操作系统的票据缓存中读取此信息,而不是直接与 KDC 通信。在 JAAS 身份验证过程的提交阶段,JAAS 登录模块应该实例化此类并将该实例存储在 Subject 的私有证书集中。

如果应用程序需要从 Subject 访问 KerberosTicket 实例,可能必须授予应用程序 PrivateCredentialPermission 权限。当应用程序依靠默认的 JGSS Kerberos 机制去访问 KerberosTicket 时,不需要此权限。但在这种情况下,应用程序将需要适当的 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()
          销毁票据和存储在其中的敏感信息。
 Date getAuthTime()
          返回客户端进行身份验证的时间。
 KerberosPrincipal getClient()
          返回与此票据有关联的客户端主体。
 InetAddress[] getClientAddresses()
          返回可从其所指位置使用票据的地址列表。
 byte[] getEncoded()
          返回整个票据的 ASN.1 编码。
 Date getEndTime()
          返回此票据有效期的期满时间。
 boolean[] getFlags()
          返回与此票据有关联的标志。
 Date getRenewTill()
          返回此票据最新的期满时间,包括所有的更新。
 KerberosPrincipal getServer()
          返回与此票据有关联的服务主体。
 SecretKey getSessionKey()
          返回与此票据有关联的会话密钥。
 int getSessionKeyType()
          返回与此票据有关联的会话密钥的密钥类型(由 Kerberos Protocol Specification 定义)。
 Date getStartTime()
          返回此票据有效期的开始时间。
 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, equals, finalize, getClass, hashCode, 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 编码
client - 拥有此服务票据的客户端
server - 适用此票据的服务
sessionKey - 必须用来加密将要发送给服务器的授权者的会话密钥的原始字节
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 Protocol Specification 定义)。

返回:
与此票据关联的会话密钥的密钥类型。
另请参见:
getSessionKey()

isForwardable

public final boolean isForwardable()
确定此票据是否是可转发的。

返回:
如果此票据是可转发的,则返回 true;否则返回 false。

isForwarded

public final boolean isForwarded()
根据身份验证(包括转发的票据授权票据)确定此票据是否已经转发或发出。

返回:
如果根据涉及转发的票据授权票据的身份验证确定此票据已经转发或发出,则返回 true;否则返回 false。

isProxiable

public final boolean isProxiable()
确定此票据是否是可代理的。

返回:
如果此票据是可代理的,则返回 true;否则返回 false。

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部