- java.lang.Object
-
- javax.net.ssl.TrustManagerFactory
-
public class TrustManagerFactory extends Object
此类充当基于信任材料来源的信任经理的工厂。 每个信任管理器管理特定类型的信任材料以供安全套接字使用。 信任材料基于KeyStore和/或提供者特定的来源。需要Java平台的每个实现都支持以下标准
TrustManagerFactory算法:-
PKIX
- 从以下版本开始:
- 1.4
- 另请参见:
-
TrustManager
-
-
-
构造方法摘要
构造方法 变量 构造器 描述 protectedTrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm)创建TrustManagerFactory对象。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 StringgetAlgorithm()返回此TrustManagerFactory对象的算法名称。static StringgetDefaultAlgorithm()获取默认的TrustManagerFactory算法名称。static TrustManagerFactorygetInstance(String algorithm)返回TrustManagerFactory对象,该对象充当信任管理器的工厂。static TrustManagerFactorygetInstance(String algorithm, String provider)返回TrustManagerFactory对象,该对象充当信任管理器的工厂。static TrustManagerFactorygetInstance(String algorithm, Provider provider)返回TrustManagerFactory对象,该对象充当信任管理器的工厂。ProvidergetProvider()返回此TrustManagerFactory对象的提供者。TrustManager[]getTrustManagers()为每种类型的信任材料返回一个信任管理器。voidinit(KeyStore ks)使用证书颁发机构和相关信任材料源初始化此工厂。voidinit(ManagerFactoryParameters spec)使用特定于提供程序的信任材料源初始化此工厂。
-
-
-
构造方法详细信息
-
TrustManagerFactory
protected TrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm)
创建TrustManagerFactory对象。- 参数
-
factorySpi- 代表 -
provider- 提供者 -
algorithm- 算法
-
-
方法详细信息
-
getDefaultAlgorithm
public static final String getDefaultAlgorithm()
获取默认的TrustManagerFactory算法名称。通过将
ssl.TrustManagerFactory.algorithm安全属性的值设置为所需的算法名称,可以在运行时更改默认的TrustManager。- 结果
-
ssl.TrustManagerFactory.algorithm安全属性指定的默认算法名称,如果不存在此类属性,则为特定于实现的默认值。 - 另请参见:
-
security properties
-
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()方法检索已注册提供程序的列表。- Implementation Note:
-
JDK Reference Implementation还使用
jdk.security.provider.preferredSecurity属性来确定指定算法的首选提供程序顺序。 这可能与Security.getProviders()返回的提供商的顺序不同。 - 参数
-
algorithm- 请求的信任管理算法的标准名称。 有关标准算法名称的信息,请参见Java Security Standard Algorithm Names文档。 - 结果
-
新的
TrustManagerFactory对象 - 异常
-
NoSuchAlgorithmException- 如果没有Provider支持指定算法的TrustManagerFactorySpi实现 -
NullPointerException- 如果algorithm是null - 另请参见:
-
Provider
-
getInstance
public static final TrustManagerFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
返回TrustManagerFactory对象,该对象充当信任管理器的工厂。将返回一个新的KeyManagerFactory对象,该对象封装了指定提供程序的KeyManagerFactorySpi实现。 必须在安全提供程序列表中注册指定的提供程序。
请注意,可以通过
Security.getProviders()方法检索已注册提供商的列表。- 参数
-
algorithm- 请求的信任管理算法的标准名称。 有关标准算法名称的信息,请参见Java Security Standard Algorithm Names文档。 -
provider- 提供者的名称。 - 结果
-
新的
TrustManagerFactory对象 - 异常
-
IllegalArgumentException- 如果提供程序名称为null或为空 -
NoSuchAlgorithmException- 如果指定的提供程序无法使用指定算法的TrustManagerFactorySpi实现 -
NoSuchProviderException- 如果指定的提供程序未在安全提供程序列表中注册 -
NullPointerException- 如果algorithm是null - 另请参见:
-
Provider
-
getInstance
public static final TrustManagerFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
返回TrustManagerFactory对象,该对象充当信任管理器的工厂。将返回一个新的TrustManagerFactory对象,该对象封装来自指定Provider对象的TrustManagerFactorySpi实现。 请注意,指定的Provider对象不必在提供程序列表中注册。
- 参数
-
algorithm- 请求的信任管理算法的标准名称。 有关标准算法名称的信息,请参见Java Security Standard Algorithm Names文档。 -
provider- 提供者的实例。 - 结果
-
新的
TrustManagerFactory对象 - 异常
-
IllegalArgumentException- 如果提供者是null -
NoSuchAlgorithmException- 如果指定的算法的TrustManagerFactorySpi实现不可用于指定的Provider对象 -
NullPointerException- 如果algorithm是null - 另请参见:
-
Provider
-
getProvider
public final Provider getProvider()
返回此TrustManagerFactory对象的提供程序。- 结果
-
此
TrustManagerFactory对象的提供者
-
init
public final void init(KeyStore ks) throws KeyStoreException
- 参数
-
ks- 密钥库,或null - 异常
-
KeyStoreException- 如果此操作失败
-
init
public final void init(ManagerFactoryParameters spec) throws InvalidAlgorithmParameterException
使用特定于提供程序的信任材料源初始化此工厂。在某些情况下,提供者可能需要除密钥库之外的初始化参数。 预期该特定提供商的用户将通过提供商定义的适当
ManagerFactoryParameters的实施。 然后,提供程序可以调用ManagerFactoryParameters实现中的指定方法以获取所需信息。- 参数
-
spec- 特定于提供程序的参数规范的实现 - 异常
-
InvalidAlgorithmParameterException- 如果遇到错误
-
getTrustManagers
public final TrustManager[] getTrustManagers()
为每种类型的信任材料返回一个信任管理器。- 结果
- 信托经理
- 异常
-
IllegalStateException- 如果工厂未初始化。
-
-