Java 平台的每个实现都需要支持以下标准 TrustManagerFactory 算法:
PKIX
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法修饰符构造方法描述protectedTrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm) 创建一个 TrustManagerFactory 对象。 -
方法总结
修饰符和类型方法描述final String返回此TrustManagerFactory对象的算法名称。static String获取默认的 TrustManagerFactory 算法名称。static final TrustManagerFactorygetInstance(String algorithm) 返回充当信任管理器工厂的TrustManagerFactory对象。static final TrustManagerFactorygetInstance(String algorithm, String provider) 返回充当信任管理器工厂的TrustManagerFactory对象。static final TrustManagerFactorygetInstance(String algorithm, Provider provider) 返回充当信任管理器工厂的TrustManagerFactory对象。final Provider返回此TrustManagerFactory对象的提供者。final TrustManager[]为每种类型的信任材料返回一个信任经理。final void使用证书颁发机构和相关信任材料的来源初始化此工厂。final voidinit(ManagerFactoryParameters spec) 使用特定于提供者的信任材料源初始化此工厂。
-
构造方法详细信息
-
TrustManagerFactory
protected TrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm) 创建一个 TrustManagerFactory 对象。- 参数:
factorySpi- 代表provider- 供应商algorithm- 算法
-
-
方法详情
-
getDefaultAlgorithm
获取默认的 TrustManagerFactory 算法名称。通过将
ssl.TrustManagerFactory.algorithm安全属性的值设置为所需的算法名称,可以在运行时更改默认的 TrustManager。- 返回:
ssl.TrustManagerFactory.algorithm安全属性指定的默认算法名称,如果不存在此类属性,则为特定于实现的默认值。- 参见:
-
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.preferredSecurity属性来确定指定算法的首选提供程序顺序。这可能与Security.getProviders()返回的提供商顺序不同。 - 参数:
algorithm- 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参阅 Java 安全标准算法名称规范中的 TrustManagerFactory 部分。- 返回:
-
新的
TrustManagerFactory对象 - 抛出:
NoSuchAlgorithmException- 如果没有Provider支持指定算法的TrustManagerFactorySpi实现NullPointerException- 如果algorithm是null- 参见:
-
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- 如果algorithm是null- 参见:
-
getInstance
public static final TrustManagerFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException 返回充当信任管理器工厂的TrustManagerFactory对象。返回一个新的 TrustManagerFactory 对象,该对象封装了来自指定 Provider 对象的 TrustManagerFactorySpi 实现。请注意,指定的提供者对象不必在提供者列表中注册。
- 参数:
algorithm- 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参阅 Java 安全标准算法名称规范中的 TrustManagerFactory 部分。provider- 提供者的一个实例。- 返回:
-
新的
TrustManagerFactory对象 - 抛出:
IllegalArgumentException- 如果提供商是nullNoSuchAlgorithmException- 如果无法从指定的Provider对象获得指定算法的TrustManagerFactorySpi实现NullPointerException- 如果algorithm是null- 参见:
-
getProvider
返回此TrustManagerFactory对象的提供者。- 返回:
-
这个
TrustManagerFactory对象的提供者
-
init
使用证书颁发机构和相关信任材料的来源初始化此工厂。提供者通常使用 KeyStore 作为做出信任决策的基础。
如需更灵活的初始化,请参阅
init(ManagerFactoryParameters)。- 参数:
ks- 密钥库,或者为空- 抛出:
KeyStoreException- 如果此操作失败
-
init
使用特定于提供者的信任材料源初始化此工厂。在某些情况下,提供者可能需要密钥库以外的初始化参数。该特定提供者的用户应该传递由提供者定义的适当
ManagerFactoryParameters的实现。然后,提供者可以调用ManagerFactoryParameters实现中的指定方法来获取所需的信息。- 参数:
spec- 特定于提供者的参数规范的实现- 抛出:
InvalidAlgorithmParameterException- 如果遇到错误
-
getTrustManagers
为每种类型的信任材料返回一个信任经理。- 返回:
- 信托经理
- 抛出:
IllegalStateException- 如果工厂未初始化。
-