javax.net.ssl

接口
异常
java.lang.Object
  继承者 javax.net.ssl.TrustManagerFactory

public class TrustManagerFactory
     
extends Object

此类充当基于信任材料源的信任管理器的工厂。每个信任管理器管理特定类型的由安全套接字使用的信任材料。信任材料是基于 KeyStore 和/或提供者特定的源。

从以下版本开始:
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, Provider provider)
          返回充当信任管理器工厂的 TrustManagerFactory 对象。
static TrustManagerFactory getInstance(String algorithm, String provider)
          返回充当信任管理器工厂的 TrustManagerFactory 对象。
 Provider getProvider()
          返回此 TrustManagerFactory 对象的提供者。
 TrustManager[] getTrustManagers()
          为每种信任材料返回一个信任管理器。
 void init(KeyStore ks)
          用证书授权源和相关的信任材料初始化此工厂。
 void init(ManagerFactoryParameters spec)
          使用特定于提供者的信任材料源初始化此工厂。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

TrustManagerFactory

protected TrustManagerFactory(TrustManagerFactorySpi factorySpi,
                              Provider provider,
                              String algorithm)
创建 TrustManagerFactory 对象。

参数:
factorySpi - 委托
provider - 提供者
algorithm - 算法
方法详细信息

getDefaultAlgorithm

public static final String getDefaultAlgorithm()
获取默认的 TrustManagerFactory 算法名称。

默认的 TrustManager 可以在运行时改变,方法是通过把 "ssl.TrustManagerFactory.algorithm" 安全属性(在 Java 安全属性文件或 通过调用 Security.setProperty(String, String) 设置)的值设置为期望的名称。

返回:
在 Java 安全属性中指定的默认算法名称;如果没有这种属性存在,则返回一个特定于实现的默认值。

getAlgorithm

public final String getAlgorithm()
返回此 TrustManagerFactory 对象的算法名称。

这与创建此 TrustManagerFactory 对象的 getInstance 调用之一指定的名称相同。

返回:
TrustManagerFactory 对象的算法名称。

getInstance

public static final TrustManagerFactory getInstance(String algorithm)
                                             throws NoSuchAlgorithmException
返回充当信任管理器工厂的 TrustManagerFactory 对象。

此方法从首选 Provider 开始遍历已注册安全提供者列表。返回一个封装 TrustManagerFactorySpi 实现的新 TrustManagerFactory 对象,该对象取自支持指定算法的第一个 Provider。

注意,可以通过 Security.getProviders() 方法获取已注册提供者列表。

参数:
algorithm - 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参见 Java Secure Socket Extension Reference Guide
返回:
新的 TrustManagerFactory 对象。
抛出:
NoSuchAlgorithmException - 如果没有 Provider 支持指定算法的 TrustManagerFactorySpi 实现。
另请参见:
Provider

getInstance

public static final TrustManagerFactory getInstance(String algorithm,
                                                    String provider)
                                             throws NoSuchAlgorithmException,
                                                    NoSuchProviderException
返回充当信任管理器工厂的 TrustManagerFactory 对象。

返回一个封装 KeyManagerFactorySpi 实现的新 KeyManagerFactory 对象,该实现取自指定的提供者。指定的提供者必须在安全提供者列表中注册。

注意,可以通过 Security.getProviders() 方法获取已注册提供者列表。

参数:
algorithm - 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参见 Java Secure Socket Extension Reference Guide
provider - 提供者的名称。
返回:
新的 TrustManagerFactory 对象
抛出:
NoSuchAlgorithmException - 如果不能从指定提供者获得指定算法的 TrustManagerFactorySpi 实现。
NoSuchProviderException - 如果指定提供者未在安全提供者列表中注册。
IllegalArgumentException - 如果提供者的名称为 null 或空。
另请参见:
Provider

getInstance

public static final TrustManagerFactory getInstance(String algorithm,
                                                    Provider provider)
                                             throws NoSuchAlgorithmException
返回充当信任管理器工厂的 TrustManagerFactory 对象。

返回一个封装 TrustManagerFactorySpi 实现的新 TrustManagerFactory 对象,该实现取自指定的 Provider 对象。注意,指定的 Provider 对象无需在提供者列表中注册。

参数:
algorithm - 请求的信任管理算法的标准名称。有关标准算法名称的信息,请参见 Java Secure Socket Extension Reference Guide
provider - 提供者的实例。
返回:
新的 TrustManagerFactory 对象。
抛出:
NoSuchAlgorithmException - 如果不能从指定 Provider 对象获得指定算法的 TrustManagerFactorySpi 实现。
IllegalArgumentException - 如果 provider 为 null。
另请参见:
Provider

getProvider

public final Provider getProvider()
返回此 TrustManagerFactory 对象的提供者。

返回:
TrustManagerFactory 对象的提供者。

init

public final void init(KeyStore ks)
                throws KeyStoreException
用证书授权源和相关的信任材料初始化此工厂。

提供者通常使用 KeyStore 作为基础做出信任决定。

有关更多灵活初始化的信息,请参见 init(ManagerFactoryParameters)

参数:
ks - 密钥仓库或 null
抛出:
KeyStoreException - 如果此操作失败

init

public final void init(ManagerFactoryParameters spec)
                throws InvalidAlgorithmParameterException
使用特定于提供者的信任材料源初始化此工厂。

在某些情况下,提供者可能需要初始化参数而不是密钥仓库。期望由该特定提供者的用户传递由提供者定义的适当 ManagerFactoryParameters 实现。然后提供者可以调用 ManagerFactoryParameters 实现中指定的方法来获取所需的信息。

参数:
spec - 特定于提供者的参数规范的实现
抛出:
InvalidAlgorithmParameterException - 如果遇到了错误

getTrustManagers

public final TrustManager[] getTrustManagers()
为每种信任材料返回一个信任管理器。

返回:
密钥管理器