javax.net.ssl

接口
异常
所有超级接口:
KeyManager
所有已知实现类:
X509ExtendedKeyManager

public interface X509KeyManager
     
extends KeyManager

此接口的实例管理使用哪一个基于 X509 证书的密钥对来验证本地的安全套接字。

在安全套接字协商期间,实现调用此接口中的方法来完成下面的工作:

  • 确定基于现有标准进行协商可以使用的别名集合,
  • 选择基于现有标准的 最好的别名 ,和
  • 为指定别名获取相应的密钥材料。

注:应该使用 X509ExtendedKeyManager 支持此类。

从以下版本开始:
1.4

方法摘要
 String chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket)
          根据给定公钥类型和同位体识别的证书发行者授权机构列表(如果有),选择用于验证安全套接字客户端的别名。
 String chooseServerAlias(String keyType, Principal[] issuers, Socket socket)
          根据给定公钥类型和同位体识别的证书发行者授权机构列表(如果有),选择用于验证安全套接字服务器端的别名。
 X509Certificate[] getCertificateChain(String alias)
          返回与给定别名关联的证书链。
 String[] getClientAliases(String keyType, Principal[] issuers)
          根据给定公钥类型和同位体识别的证书发行者授权机构列表(如果有),获取用于验证安全套接字客户端的匹配别名。
 PrivateKey getPrivateKey(String alias)
          返回与给定别名关联的密钥。
 String[] getServerAliases(String keyType, Principal[] issuers)
          根据给定公钥类型和同位体识别的证书发行者授权机构列表(如果有),获取用于验证安全套接字服务器端的别名。
 

方法详细信息

getClientAliases

String[] getClientAliases(String keyType,
                          Principal[] issuers)
根据给定公钥类型和同位体识别的证书发行者授权机构列表(如果有),获取用于验证安全套接字客户端的匹配别名。

参数:
keyType - 密钥算法类型名称
issuers - 可接受的 CA 发行者主体名称列表,如果使用哪个发行者并不重要,则此参数为 null。
返回:
匹配的别名数组;如果没有匹配的,则返回 null。

chooseClientAlias

String chooseClientAlias(String[] keyType,
                         Principal[] issuers,
                         Socket socket)
根据给定公钥类型和同位体识别的证书发行者授权机构列表(如果有),选择用于验证安全套接字客户端的别名。

参数:
keyType - 密钥算法类型名称,以首选的密钥类型在前的顺序。
issuers - 可接受的 CA 发行者主体名称列表,如果使用哪个发行者并不重要,则此参数为 null。
socket - 将用于此连接的套接字。此参数可以为 null,这表示实现可以自由选择适用于任何套接字的别名。
返回:
所需密钥的别名;如果没有匹配项,则返回 null。

getServerAliases

String[] getServerAliases(String keyType,
                          Principal[] issuers)
根据给定公钥类型和同位体识别的证书发行者授权机构列表(如果有),获取用于验证安全套接字服务器端的别名。

参数:
keyType - 密钥算法类型名称
issuers - 可接受的 CA 发行者主体名称列表,如果使用哪个发行者并不重要,则此参数为 null。
返回:
匹配的别名数组;如果没有匹配的,则返回 null。

chooseServerAlias

String chooseServerAlias(String keyType,
                         Principal[] issuers,
                         Socket socket)
根据给定公钥类型和同位体识别的证书发行者授权机构列表(如果有),选择用于验证安全套接字服务器端的别名。

参数:
keyType - 密钥算法类型名称。
issuers - 可接受的 CA 发行者主体名称列表,如果使用哪个发行者并不重要,则此参数为 null。
socket - 将用于此连接的套接字。此参数可以为 null,这表示实现可以自由选择适用于任何套接字的别名。
返回:
所需密钥的别名;如果没有匹配项,则返回 null。

getCertificateChain

X509Certificate[] getCertificateChain(String alias)
返回与给定别名关联的证书链。

参数:
alias - 别名
返回:
证书链(以用户证书在前根证书授权在后的顺序);如果没有找到别名,则返回 null。

getPrivateKey

PrivateKey getPrivateKey(String alias)
返回与给定别名关联的密钥。

参数:
alias - 别名
返回:
请求的密钥;如果不能找到别名,则返回 null。