模块  java.base
软件包  javax.net.ssl

Interface X509KeyManager

  • All Superinterfaces:
    KeyManager
    所有已知实现类:
    X509ExtendedKeyManager

    public interface X509KeyManager
    extends KeyManager
    此接口的实例管理哪些基于X509证书的密钥对用于验证安全套接字的本地端。

    在安全套接字协商期间,实现将此接口中的方法调用为:

    • 根据提供的标准确定可用于协商的别名集,
    • 根据提供的标准选择最佳别名 ,并且
    • 获取给定别名的相应密钥材料。

    注意:应该使用X509ExtendedKeyManager来支持这个类。

    从以下版本开始:
    1.4
    • 方法详细信息

      • 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。