模块 java.base

类 TrustManagerFactory

java.lang.Object
javax.net.ssl.TrustManagerFactory

public class TrustManagerFactory extends Object
此类充当基于信任材料来源的信任管理器的工厂。每个信任管理器管理一种特定类型的信任材料以供安全套接字使用。信任材料基于 KeyStore 和/或提供者特定的来源。

Java 平台的每个实现都需要支持以下标准 TrustManagerFactory 算法:

  • PKIX
该算法在 Java 安全标准算法名称规范的 TrustManagerFactory 部分 中进行了描述。请查阅您的实施的发布文档以查看是否支持任何其他算法。
自从:
1.4
参见:
  • 构造方法详细信息

    • TrustManagerFactory

      protected TrustManagerFactory(TrustManagerFactorySpi  factorySpi, Provider  provider, String  algorithm)
      创建一个 TrustManagerFactory 对象。
      参数:
      factorySpi - 代表
      provider - 供应商
      algorithm - 算法
  • 方法详情

    • getDefaultAlgorithm

      public static String  getDefaultAlgorithm()
      获取默认的 TrustManagerFactory 算法名称。

      通过将 ssl.TrustManagerFactory.algorithm 安全属性的值设置为所需的算法名称,可以在运行时更改默认的 TrustManager。

      返回:
      ssl.TrustManagerFactory.algorithm 安全属性指定的默认算法名称,如果不存在此类属性,则为特定于实现的默认值。
      参见:
    • getAlgorithm

      public final String  getAlgorithm()
      返回此 TrustManagerFactory 对象的算法名称。

      这与在创建此 TrustManagerFactory 对象的 getInstance 调用之一中指定的名称相同。

      返回:
      TrustManagerFactory 对象的算法名称
    • getInstance

      public static final TrustManagerFactory  getInstance(String  algorithm) throws NoSuchAlgorithmException
      返回充当信任管理器工厂的 TrustManagerFactory 对象。

      此方法遍历已注册的安全提供者列表,从最喜欢的提供者开始。返回一个新的 TrustManagerFactory 对象,该对象封装了第一个支持指定算法的 Provider 的 TrustManagerFactorySpi 实现。

      请注意,可以通过 Security.getProviders() 方法检索已注册提供商的列表。

      实现注意事项:
      JDK 参考实现还使用 jdk.security.provider.preferred Security 属性来确定指定算法的首选提供程序顺序。这可能与 Security.getProviders() 返回的提供商顺序不同。
      参数:
      algorithm - 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参阅 Java 安全标准算法名称规范中的 TrustManagerFactory 部分
      返回:
      新的 TrustManagerFactory 对象
      抛出:
      NoSuchAlgorithmException - 如果没有 Provider 支持指定算法的 TrustManagerFactorySpi 实现
      NullPointerException - 如果 algorithmnull
      参见:
    • getInstance

      public static final TrustManagerFactory  getInstance(String  algorithm, String  provider) throws NoSuchAlgorithmException , NoSuchProviderException
      返回充当信任管理器工厂的 TrustManagerFactory 对象。

      返回一个新的 KeyManagerFactory 对象,该对象封装了来自指定提供者的 KeyManagerFactorySpi 实现。指定的提供者必须在安全提供者列表中注册。

      请注意,可以通过 Security.getProviders() 方法检索已注册提供商的列表。

      参数:
      algorithm - 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参阅 Java 安全标准算法名称规范中的 TrustManagerFactory 部分
      provider - 提供商的名称。
      返回:
      新的 TrustManagerFactory 对象
      抛出:
      IllegalArgumentException - 如果提供商名称为 null 或为空
      NoSuchAlgorithmException - 如果指定算法的 TrustManagerFactorySpi 实现无法从指定提供者处获得
      NoSuchProviderException - 如果指定的提供者没有在安全提供者列表中注册
      NullPointerException - 如果 algorithmnull
      参见:
    • getInstance

      public static final TrustManagerFactory  getInstance(String  algorithm, Provider  provider) throws NoSuchAlgorithmException
      返回充当信任管理器工厂的 TrustManagerFactory 对象。

      返回一个新的 TrustManagerFactory 对象,该对象封装了来自指定 Provider 对象的 TrustManagerFactorySpi 实现。请注意,指定的提供者对象不必在提供者列表中注册。

      参数:
      algorithm - 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参阅 Java 安全标准算法名称规范中的 TrustManagerFactory 部分
      provider - 提供者的一个实例。
      返回:
      新的 TrustManagerFactory 对象
      抛出:
      IllegalArgumentException - 如果提供商是 null
      NoSuchAlgorithmException - 如果无法从指定的 Provider 对象获得指定算法的 TrustManagerFactorySpi 实现
      NullPointerException - 如果 algorithmnull
      参见:
    • getProvider

      public final Provider  getProvider()
      返回此 TrustManagerFactory 对象的提供者。
      返回:
      这个 TrustManagerFactory 对象的提供者
    • init

      public final void init(KeyStore  ks) throws KeyStoreException
      使用证书颁发机构和相关信任材料的来源初始化此工厂。

      提供者通常使用 KeyStore 作为做出信任决策的基础。

      如需更灵活的初始化,请参阅 init(ManagerFactoryParameters)

      参数:
      ks - 密钥库,或者为空
      抛出:
      KeyStoreException - 如果此操作失败
    • init

      public final void init(ManagerFactoryParameters  spec) throws InvalidAlgorithmParameterException
      使用特定于提供者的信任材料源初始化此工厂。

      在某些情况下,提供者可能需要密钥库以外的初始化参数。该特定提供者的用户应该传递由提供者定义的适当ManagerFactoryParameters的实现。然后,提供者可以调用 ManagerFactoryParameters 实现中的指定方法来获取所需的信息。

      参数:
      spec - 特定于提供者的参数规范的实现
      抛出:
      InvalidAlgorithmParameterException - 如果遇到错误
    • getTrustManagers

      public final TrustManager [] getTrustManagers()
      为每种类型的信任材料返回一个信任经理。
      返回:
      信托经理
      抛出:
      IllegalStateException - 如果工厂未初始化。