|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.net.ssl
接口 SSLSession
-
public interface SSLSession
在 SSL 中,会话用来描述两个实体间正在发生的关系。每个 SSL 连接在某一时刻都会涉及一个会话,但是该会话可以同时地或相继地用在这些实体的多个连接上。还可以用不同的会话代替某一连接上使用的会话。会话是作为 SSL 握手协议的一部分创建或重新加入的。影响安全或资源使用的策略或由应用程序显式调用 invalidate
可能使会话无效。会话管理策略通常用来调优性能。
除了标准会话属性之外,SSL 会话还会公开以下这些只读属性:
- 同位体的身份。 会话是在特定客户端和特定服务器之间进行的。同位体的身份可能已作为会话设置的一部分建立。同位体通常是用 X.509 证书链标识。
- 密码套件的名称。密码套件描述在特定会话中的连接使用的加密保护的种类。
- 同位体主机。一次会话的所有连接都是在相同的两个主机之间进行的。连接的另一端的主机的地址是可用的。
可以显式地使会话无效。当遇到某种错误时,也可以隐式地使会话无效。
- 从以下版本开始:
- 1.4
方法摘要 | |
---|---|
int |
getApplicationBufferSize() Gets the size of the largest application buffer that may occur when using this session. SSLEngine 应用数据缓冲区必须足够大以容纳所接收的来自任何入站网络应用数据包的应用数据。 |
String |
getCipherSuite() 返回会话中的所有连接使用的 SSL 密码套件的名称。 |
long |
getCreationTime() 返回创建此会话的表现形式的时间,该时间自协调世界时 1970 年 1 月 1 日午夜起经过的毫秒数。 |
byte[] |
getId() 返回分配给此会话的标识符。 |
long |
getLastAccessedTime() 返回此会话表示上一次被会话级基础设施访问的时间,该时间是自协调世界时 1970 年 1 月 1 日午夜起经过的毫秒数。 |
Certificate[] |
getLocalCertificates() 返回握手期间发送给同位体的证书。 |
Principal |
getLocalPrincipal() 返回握手期间发送给同位体的主体。 |
int |
getPacketBufferSize() 获取使用此会话时可能出现的最大 SSL/TLS 包的大小。 |
X509Certificate[] |
getPeerCertificateChain() 返回同位体的身份,该同位体被标识作为定义会话的一部分。 |
Certificate[] |
getPeerCertificates() 返回同位体的身份,该同位体是作为定义会话的一部分而建立的。 |
String |
getPeerHost() 返回此会话中同位体的主机名称。 |
int |
getPeerPort() 返回此会话中同位体的端口号。 |
Principal |
getPeerPrincipal() 返回同位体的身份,该同位体是作为定义会话的一部分而建立的。 |
String |
getProtocol() 返回会话中的所有连接使用的协议的标准名称。 |
SSLSessionContext |
getSessionContext() 返回此会话所在的上下文。 |
Object |
getValue(String name) 返回会话的应用层数据中的绑定到给定名称的对象。 |
String[] |
getValueNames() 返回绑定到会话中的所有应用层数据对象的名称组成的数组。 |
void |
invalidate() 使会话失效。 |
boolean |
isValid() 返回此会话对于恢复和加入是否是有效的和可用的。 |
void |
putValue(String name, Object value) 使用给定的 name 将指定的 value 对象绑定到会话的应用层数据中。 |
void |
removeValue(String name) 移除会话的应用层数据中绑定到给定名称的对象。 |
方法详细信息 |
---|
getId
byte[] getId()
- 返回分配给此会话的标识符。
-
- 返回:
- 会话的标识符
getSessionContext
SSLSessionContext getSessionContext()
-
返回此会话所在的上下文。
此上下文在一些环境中可能不可用,在这种情况下,此方法返回 null。
如果该上下文可用并且有一个已安装的安全管理器,则调用方可能需要访问它的权限,或者可能抛出安全异常。在 Java 2 环境中,使用
SSLPermission("getSSLSessionContext")
权限调用安全管理器的checkPermission
方法。 -
- 返回:
- 用于此会话的会话上下文;如果上下文不可用,则返回 null。
getCreationTime
long getCreationTime()
- 返回创建此会话的表现形式的时间,该时间自协调世界时 1970 年 1 月 1 日午夜起经过的毫秒数。
-
- 返回:
- 创建此会话的时间。
getLastAccessedTime
long getLastAccessedTime()
-
返回此会话表示上一次被会话级基础设施访问的时间,该时间是自协调世界时 1970 年 1 月 1 日午夜起经过的毫秒数。
访问指示使用会话数据建立一个新的连接。应用级操作(例如获取和设置与会话相关的值)在此访问进行时没有得到反映。
此信息在会话管理策略中特别有用。例如,会话管理器线程可以将所有会话放在一个很长时间未被使用的给定上下文中;或者可能根据生存时间对会话进行排序,以优化一些任务。
-
- 返回:
- 上一次访问此会话的时间
invalidate
void invalidate()
-
使会话失效。
将来的连接无法恢复或加入此会话。但是,任何使用此会话的现有连接可以继续使用此会话,直到该连接关闭。
-
- 另请参见:
-
isValid()
isValid
boolean isValid()
- 返回此会话对于恢复和加入是否是有效的和可用的。
-
- 返回:
- 如果可以重新加入此会话,则返回 true。
- 从以下版本开始:
- 1.5
- 另请参见:
-
invalidate()
putValue
void putValue(String name, Object value)
-
使用给定的
name
将指定的value
对象绑定到会话的应用层数据中。替换任何使用相同
name
的现有绑定。如果新的(或现有)value
实现了SSLSessionBindingListener
接口,则在适当的时候通知value
表示的对象。处于安全原因,命名相同的值在不同的访问控制上下文之间是不可见的。
-
- 参数:
-
name
- 数据对象将要绑定到的名称。此参数不可以为 null。 -
value
- 将要绑定的数据对象。此参数不可以为 null。 - 抛出:
-
IllegalArgumentException
- 如果任何一个参数为 null。