Module java.base
Package javax.net.ssl

Interface X509KeyManager

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

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

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

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

注意: 应优先使用X509ExtendedKeyManager。

自版本:
1.4
  • Method Details

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