Most visited

Recently visited

Added in API level 24

X509ExtendedTrustManager

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”算法定义了服务器标识和客户端标识规范。

也可以看看:

Summary

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

Public constructors

X509ExtendedTrustManager

Added in API level 24
X509ExtendedTrustManager ()

Public methods

checkClientTrusted

Added in API level 24
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

也可以看看:

checkClientTrusted

Added in API level 24
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

也可以看看:

checkServerTrusted

Added in API level 24
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

也可以看看:

checkServerTrusted

Added in API level 24
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

也可以看看:

Hooray!