- java.lang.Object
-
- javax.net.ssl.TrustManagerFactory
-
public class TrustManagerFactory extends Object
该类作为基于信任资料来源的信托经理的工厂。 每个信任管理器管理特定类型的信任资料供安全套接字使用。 信托材料是基于KeyStore和/或提供者特定的来源。Java平台的每个实现都需要支持以下标准
TrustManagerFactory
算法:-
PKIX
- 从以下版本开始:
- 1.4
- 另请参见:
-
TrustManager
-
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
TrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm)
创建一个TrustManagerFactory对象。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 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
对象。此方法遍历已注册的安全提供程序列表,从最优选的提供程序开始。 返回从支持指定算法的第一个Provider中封装TrustManagerFactorySpi实现的新的TrustManagerFactory对象。
请注意,可以通过
Security.getProviders()
方法检索注册提供商的列表。- Implementation Note:
-
JDK参考实现另外使用
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
对象。返回从指定提供程序封装KeyManagerFactorySpi实现的新KeyManagerFactory对象。 指定的提供者必须在安全提供程序列表中注册。
请注意,可以通过
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
对象,作为信任管理器的工厂。返回从指定的Provider对象封装TrustManagerFactorySpi实现的新TrustManagerFactory对象。 请注意,指定的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
- 如果工厂没有初始化。
-
-