public abstract class X509ExtendedTrustManager
extends Object
implements X509TrustManager
java.lang.Object | |
↳ | javax.net.ssl.X509ExtendedTrustManager |
支持SSL / TLS连接敏感信任管理的 X509TrustManager
接口扩展。
为了防止中间人攻击,可以进行主机名检查,以验证最终实体证书中的主机名与目标主机名匹配。 TLS不需要这样的检查,但是通过TLS的一些协议(例如HTTPS)可以做到。 在JDK的早期版本中,证书链检查是在SSL / TLS层完成的,主机名验证检查是在TLS层完成的。 这个类允许在这个类的单个调用期间完成检查。
RFC 2830定义了“LDAPS”算法的服务器标识规范。 RFC 2818为“HTTPS”算法定义了服务器标识和客户端标识规范。
也可以看看:
Public constructors |
|
---|---|
X509ExtendedTrustManager() |
Public methods |
|
---|---|
abstract void |
checkClientTrusted(X509Certificate[] chain, String authType, Socket socket) 给定对等体提供的部分或完整证书链,根据认证类型和ssl参数构建和验证证书路径。 |
abstract void |
checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine) 给定对等体提供的部分或完整证书链,根据认证类型和ssl参数构建和验证证书路径。 |
abstract void |
checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine) 给定对等体提供的部分或完整证书链,根据认证类型和ssl参数构建和验证证书路径。 |
abstract void |
checkServerTrusted(X509Certificate[] chain, String authType, Socket socket) 给定对等体提供的部分或完整证书链,根据认证类型和ssl参数构建和验证证书路径。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface javax.net.ssl.X509TrustManager
|
void checkClientTrusted (X509Certificate[] chain, String authType, Socket socket)
给定对等体提供的部分或完整证书链,根据认证类型和ssl参数构建和验证证书路径。
认证类型由使用的实际证书决定。 例如,如果使用RSAPublicKey,那么authType应该是“RSA”。 检查区分大小写。
如果 socket
参数的实例 SSLSocket
,和的端点识别算法 SSLParameters
非空,以防止人在这方面的中间人攻击,该地址 socket
连接到应该针对提出的同行的身份进行检查端点标识算法中指定的最终实体X509证书。
如果 socket
参数的实例 SSLSocket
,和的算法约束 SSLParameters
非空,在认证路径中的每个证书,领域,如主体公钥,签名算法,密钥使用,扩展密钥用法等。需要符合这个套接字上的算法约束。
Parameters | |
---|---|
chain |
X509Certificate : the peer certificate chain |
authType |
String : the key exchange algorithm used |
socket |
Socket : the socket used for this connection. This parameter can be null, which indicates that implementations need not check the ssl parameters |
Throws | |
---|---|
IllegalArgumentException |
if null or zero-length array is passed in for the chain parameter or if null or zero-length string is passed in for the authType parameter |
CertificateException |
if the certificate chain is not trusted by this TrustManager |
void checkClientTrusted (X509Certificate[] chain, String authType, SSLEngine engine)
给定对等体提供的部分或完整证书链,根据认证类型和ssl参数构建和验证证书路径。
认证类型由使用的实际证书决定。 例如,如果使用RSAPublicKey,那么authType应该是“RSA”。 检查区分大小写。
如果 engine
参数是可用的,和的端点识别算法 SSLParameters
非空,以防止人在这方面的中间人攻击,该地址 engine
连接到要反对在最终呈现体的身份进行检查实体X509证书,如端点标识算法中指定的那样。
如果 engine
参数是可用的,和的算法约束 SSLParameters
非空,在认证路径中的每个证书,如主题的公开密钥,签名算法,密钥使用,扩展密钥使用等领域需要符合到这个引擎上的算法约束。
Parameters | |
---|---|
chain |
X509Certificate : the peer certificate chain |
authType |
String : the key exchange algorithm used |
engine |
SSLEngine : the engine used for this connection. This parameter can be null, which indicates that implementations need not check the ssl parameters |
Throws | |
---|---|
IllegalArgumentException |
if null or zero-length array is passed in for the chain parameter or if null or zero-length string is passed in for the authType parameter |
CertificateException |
if the certificate chain is not trusted by this TrustManager |
void checkServerTrusted (X509Certificate[] chain, String authType, SSLEngine engine)
给定对等体提供的部分或完整证书链,根据认证类型和ssl参数构建和验证证书路径。
认证类型是用String表示的密码套件的密钥交换算法部分,例如“RSA”,“DHE_DSS”。 注意:对于一些可导出的密码套件,密钥交换算法在握手期间的运行时间被确定。 例如,对于TLS_RSA_EXPORT_WITH_RC4_40_MD5,当使用短暂RSA密钥用于密钥交换时,authType应为RSA_EXPORT,而在使用服务器证书中的密钥时,应为RSA。 检查区分大小写。
如果 engine
参数是可用的,和的端点识别算法 SSLParameters
非空,以防止人在这方面的中间人攻击,该地址 engine
连接到要反对在最终呈现体的身份进行检查实体X509证书,如端点标识算法中指定的那样。
如果 engine
参数是可用的,和的算法约束 SSLParameters
非空,在认证路径中的每个证书,如主题的公开密钥,签名算法,密钥使用,扩展密钥使用等领域需要符合到这个引擎上的算法约束。
Parameters | |
---|---|
chain |
X509Certificate : the peer certificate chain |
authType |
String : the key exchange algorithm used |
engine |
SSLEngine : the engine used for this connection. This parameter can be null, which indicates that implementations need not check the ssl parameters |
Throws | |
---|---|
IllegalArgumentException |
if null or zero-length array is passed in for the chain parameter or if null or zero-length string is passed in for the authType parameter |
CertificateException |
if the certificate chain is not trusted by this TrustManager |
void checkServerTrusted (X509Certificate[] chain, String authType, Socket socket)
给定对等体提供的部分或完整证书链,根据认证类型和ssl参数构建和验证证书路径。
认证类型是用String表示的密码套件的密钥交换算法部分,例如“RSA”,“DHE_DSS”。 注意:对于一些可导出的密码套件,密钥交换算法在握手期间的运行时间被确定。 例如,对于TLS_RSA_EXPORT_WITH_RC4_40_MD5,当使用短暂RSA密钥用于密钥交换时,authType应为RSA_EXPORT,而在使用服务器证书中的密钥时,应为RSA。 检查区分大小写。
如果 socket
参数的实例 SSLSocket
,和的端点识别算法 SSLParameters
非空,以防止人在这方面的中间人攻击,该地址 socket
连接到应该针对提出的同行的身份进行检查端点标识算法中指定的最终实体X509证书。
如果 socket
参数的实例 SSLSocket
,和的算法约束 SSLParameters
非空,在认证路径中的每个证书,领域,如主体公钥,签名算法,密钥使用,扩展密钥用法等。需要符合这个套接字上的算法约束。
Parameters | |
---|---|
chain |
X509Certificate : the peer certificate chain |
authType |
String : the key exchange algorithm used |
socket |
Socket : the socket used for this connection. This parameter can be null, which indicates that implementations need not check the ssl parameters |
Throws | |
---|---|
IllegalArgumentException |
if null or zero-length array is passed in for the chain parameter or if null or zero-length string is passed in for the authType parameter |
CertificateException |
if the certificate chain is not trusted by this TrustManager |