密钥管理器对 X.509 证书标识的控制

Java™ 安全套接字扩展 (JSSE) 密钥管理器的任务是检索“安全套接字层”(SSL) 握手期间用来标识客户机或服务器的证书。

WebSphere® Application Server 提供了一个缺省密钥管理器,当您定义下列 SSL 配置属性时,该密钥管理器可以从密钥库中选择证书:
com.ibm.ssl.keyStoreClientAlias
定义从连接的客户机端的密钥库中选择的别名。密钥库中必须存在此别名。
com.ibm.ssl.keyStoreServerAlias
定义从连接的服务器端的密钥库中选择的别名。密钥库中必须存在此别名。
由于已经配置了缺省密钥管理器,因此,当您使用管理控制台时会自动设置这两个属性。

使用 WebSphere Application Server 时,对于给定的 SSL 配置,一次只能配置一个密钥管理器。如果客户机端需要定制证书选择逻辑,那么必须编写新的定制密钥管理器。定制密钥管理器可以具备提示用户动态选择证书这种功能。另外,可以实现一个扩展接口,以便密钥管理器在连接期间可以提供信息。有关扩展接口的更多信息,请参阅 com.ibm.wsspi.ssl.KeyManagerExtendedInfo 接口。有关开发定制密钥管理器的更多信息,请参阅为 SSL 创建定制密钥管理器

缺省 IbmX509 密钥管理器

缺省 IbmX509 密钥管理器选择一个证书来充当用于 SSL 握手的标识。调用密钥管理器以在 SSL 握手的任一端启用客户机认证;按照客户机和服务器的不同需求,可在服务器端频繁执行此操作,而在客户机端不太频繁地执行此操作。如果在客户机端未配置密钥库,但又启用了 SSL 客户机认证,那么密钥管理器将不能选择要发送至服务器的证书。因此,握手操作将失败。

以下样本代码显示了 security.xml 文件中 IbmX509 密钥管理器的密钥管理器配置。
<keyManagers xmi:id="KeyManager_1" name="IbmX509" 
provider="IBMJSSE2" algorithm="IbmX509" keyManagerClass="" 
managementScope="ManagementScope_1"/>
因为密钥管理器是由 IBMJSSE2 提供程序提供的,所以不要指定 keyManagerClass 类。但是,可以指定密钥管理器是定制类实现(在这种情况下,必须指定 keyManager 类)还是 WebSphere Application Server 可以从 Java 安全提供程序框架中启动的算法名称。

定制密钥管理器

以下样本代码显示了 security.xml 文件中定制类的密钥管理器配置。
<keyManagers xmi:id="KeyManager_2" name="CustomKeyManager" 
keyManagerClass="com.ibm.ws.ssl.core.CustomKeyManager" 
managementScope="ManagementScope_1"/>
定制类必须实现 javax.net.ssl.X509KeyManager 接口(还可以选择实现 com.ibm.wsspi.ssl.KeyManagerExtendedInfo 接口)以检索更多 WebSphere Application Server 信息。因为您一次只能配置一个密钥管理器,所以此接口将取代缺省密钥管理器的功能。因此,定制密钥管理器只需负责从已配置的密钥库中选择要使用的别名。定制密钥管理器的好处在于它在客户机端能够提示输入别名。在用户知道客户机证书标识的情况下,此过程使用户能够决定使用哪个证书。有关更多信息,请参阅为 SSL 创建定制密钥管理器

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_sslx509certIDkeyman
文件名:csec_sslx509certIDkeyman.html