在 WAS 中使用 Java 安全套接字扩展(图) (4)
[ 来源:互网络 | 更新日期:2007-10-05 04:19:41 | 浏览次数:9355]
简介:对于大多数情况,这样的配置就足够了。极少的情况下,您可能需要不只一个单独的缺省信任库/密钥库。随后,您将会看到如何程序化地将您的信任库和密钥库指定到 JSSE 运行时中,以及如何在您的应用程序中使用多重信任库及密钥库。
System.setProperty("javax.net.ssl.trustStore",
"yourTrustStoreFile");
System.setProperty("javax.net.ssl.trustStorePassword",
"yourPassword")
System.setProperty("javax.net.ssl.trustStorePassword",
"yourPassword")
System.setProperty("javax.net.ssl.keyStore",
"yourKeyStoreFile");
对于大多数情况,这样的配置就足够了。极少的情况下,您可能需要不只一个单独的缺省信任库/密钥库。随后,您将会看到如何程序化地将您的信任库和密钥库指定到 JSSE 运行时中,以及如何在您的应用程序中使用多重信任库及密钥库。
信任库搜索顺序
您已经看到了,您既可以依靠缺省的 cacerts 文件也可以定义您自己的信任库。这可能使您想了解 JVM 是如何搜索信任库的。
当需要信任库的时候,按照下面的顺序进行搜索直至找到与之匹配的为止:
如果已经通过 Java API(上面讨论的)程序化地定义了信任库,那么就将其用作信任库。
如果定义了 javax.net.ssl.trustStore 系统属性,那么就将属性值用作信任库的位置。
如果文件 libsecurityjssecacerts 没有定义在 javajre 目录下,那么 jssecacerts 文件就被用作信任库。(WebSphere Application Server 没有传输 jssecacerts。我们只是为了完整性而叙述它,所以您可以忽略这一情况。)
如果文件 libsecurityjssecacerts 没有定义在 javajre 目录下,那么 cacerts 文件就被用作信任库。
如果找到了特殊的信任库,那么搜索停止并且将这个找出的文件作为您的信任库。例如,如果通过使用其 Java System 属性指定信任库,如果在信任库中找不到有效的签名者,那么搜索将不会向后继续。
如果使用我自己的信任库或密钥库我需要什么?
WebSphere Application Server 传输名为 iKeyman 的实用程序,它在安装 WebSphere Application Server 后自动生效。它位于您的 WAS Install Root 下的 bin 目录中。(参阅由 WAS 绑定的 iKeyman 文档的详细信息来了解如何使用该功能,请见参考资料。)
简而言之,iKeyman 管理密钥库。密钥库以某种格式出现并且 iKeyman 支持最普通的格式,包括 Java Key Store,称为 JKS,它是 Java 应用程序所使用的“正常”格式(事实上,cacerts 信任库就是采用的这种格式)。
接下来,我们将会看到使用 iKeyman 创建自签名证书的简单实例。如果您与之通信的一方使用相同的证书就很恰当。如果他们已经拥有了他们自己的证书,那么您需要导入现有的签名证书,就像之前提到的那样。
为了启动这该流程,通过运行 ikeyman.bat(在 Windows 平台上的)来执行 iKeyman 工具。该工具显示了图形界面,如图 2 所示。

生成包含了诸如自签名证书的密钥库:
选择 Key Database File => New。
确定密钥数据库类型是用于 Java Key Store 的 JKS。
输入文件名以及其位置(将 .jks 添加到您的文件中),然后选择 OK。
填写密码值(此处不使用主要密码的检验规则),然后点击 OK。
单击 Create,然后选择 New-Self-Signed Certificate。


您的位置:
