- java.lang.Object
-
- javax.net.ssl.TrustManagerFactory
-
public class TrustManagerFactory extends Object
此类充当基于信任材料来源的信任经理的工厂。 每个信任管理器管理特定类型的信任材料以供安全套接字使用。 信任材料基于KeyStore和/或提供者特定的来源。需要Java平台的每个实现都支持以下标准
TrustManagerFactory
算法:-
PKIX
- 从以下版本开始:
- 1.4
- 另请参见:
-
TrustManager
-
-
-
构造方法摘要
构造方法 变量 构造器 描述 protected
TrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm)
创建TrustManagerFactory对象。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 String
getAlgorithm()
返回此TrustManagerFactory
对象的算法名称。static String
getDefaultAlgorithm()
获取默认的TrustManagerFactory算法名称。static TrustManagerFactory
getInstance(String algorithm)
返回TrustManagerFactory
对象,该对象充当信任管理器的工厂。static TrustManagerFactory
getInstance(String algorithm, String provider)
返回TrustManagerFactory
对象,该对象充当信任管理器的工厂。static TrustManagerFactory
getInstance(String algorithm, Provider provider)
返回TrustManagerFactory
对象,该对象充当信任管理器的工厂。Provider
getProvider()
返回此TrustManagerFactory
对象的提供者。TrustManager[]
getTrustManagers()
为每种类型的信任材料返回一个信任管理器。void
init(KeyStore ks)
使用证书颁发机构和相关信任材料源初始化此工厂。void
init(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.preferred
Security
属性来确定指定算法的首选提供程序顺序。 这可能与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
- 如果工厂未初始化。
-
-