java.lang.Object
javax.net.ssl.TrustManagerFactory
此类充当基于信任材料源的信任管理器工厂。每个信任管理器管理用于安全套接字的特定类型的信任材料。信任材料基于KeyStore和/或特定于提供程序的源。
Java平台的每个实现都必须支持以下标准TrustManagerFactory算法:
PKIX
- 自版本:
- 1.4
- 参见:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm) 创建一个TrustManagerFactory对象。 -
Method Summary
Modifier and TypeMethodDescriptionfinal String返回此TrustManagerFactory对象的算法名称。static final 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) 使用特定于提供程序的信任材料源初始化此工厂。
-
Constructor Details
-
TrustManagerFactory
protected TrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm) 创建一个TrustManagerFactory对象。- 参数:
-
factorySpi- 代理 -
provider- 提供程序 -
algorithm- 算法
-
-
Method Details
-
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对象。此方法遍历已注册的安全提供程序列表,从最首选的提供程序开始。返回一个封装来自支持指定算法的第一个提供程序的TrustManagerFactorySpi实现的新TrustManagerFactory对象。
请注意,已注册提供程序的列表可以通过
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对象。返回一个封装来自指定提供程序的KeyManagerFactorySpi实现的新KeyManagerFactory对象。指定的提供程序必须在安全提供程序列表中注册。
请注意,已注册提供程序的列表可以通过
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对象。返回一个封装来自指定Provider对象的TrustManagerFactorySpi实现的新TrustManagerFactory对象。请注意,指定的Provider对象不必在提供程序列表中注册。
- 参数:
-
algorithm- 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参阅Java安全标准算法名称规范中的 TrustManagerFactory部分。 -
provider- 提供程序的实例。 - 返回:
-
新的
TrustManagerFactory对象 - 抛出:
-
IllegalArgumentException- 如果提供程序为null -
NoSuchAlgorithmException- 如果指定Provider对象中不提供指定算法的TrustManagerFactorySpi实现 -
NullPointerException- 如果algorithm为null - 参见:
-
getProvider
返回此TrustManagerFactory对象的提供程序。- 返回:
-
此
TrustManagerFactory对象的提供程序
-
init
使用证书颁发机构和相关信任材料的源初始化此工厂。提供程序通常使用KeyStore作为做出信任决策的基础。
对于更灵活的初始化,请参阅
init(ManagerFactoryParameters)。- 参数:
-
ks- 密钥库,或为null - 抛出:
-
KeyStoreException- 如果此操作失败
-
init
使用特定于提供程序的信任材料源初始化此工厂。在某些情况下,提供程序可能需要除密钥库之外的初始化参数。预期使用该特定提供程序的用户将传递由提供程序定义的适当
ManagerFactoryParameters的实现。然后,提供程序可以调用ManagerFactoryParameters实现中指定的方法以获取所需的信息。- 参数:
-
spec- 提供程序特定参数规范的实现 - 抛出:
-
InvalidAlgorithmParameterException- 如果遇到错误
-
getTrustManagers
为每种类型的信任材料返回一个信任管理器。- 返回:
- 信任管理器
- 抛出:
-
IllegalStateException- 如果工厂未初始化。
-