使用安全套接字层(SSL)支持

下表对如何设置和配置 IMS Connector for Java 和 IMS Connect SSL 支持提供了高级描述。按下面概括的顺序来执行各个步骤:
SSL 客户机 (IMS Connector for Java) SSL 服务器 (IMS Connect)
  1. 决定是否需要进行客户机认证。
注: 强烈建议您使用客户机认证来保护 IMS Connect 免遭未经授权的访问。
如果不需要进行客户机认证,则跳至步骤 5。
2. 如果需要进行客户机认证,则应获得已签名的证书和专用密钥。  
3. 如果需要进行客户机认证,则应创建密钥库并插入客户机的专用密钥和证书。有关更多详细信息,请参阅下面的描述。  
  4. 如果需要进行客户机认证,则应将客户机的公用密钥证书插入密钥环中。有关更多信息,请参阅 IMS Connect User's Guide(SC27-0946-03)。
5. 创建信任密钥库(另一个可选密钥库),并插入服务器的公用密钥证书。另外,如果信任证书和非信任证书存储在同一个密钥库中,则将服务器的公用密钥证书插入到客户机的密钥库中。  
  6. 决定使用哪个 IMS Connect SSL 端口。为 IMS Connect 和 SSL 配置成员设置适当的值。有关设置这些配置成员的更多信息,请参阅 IMS Connect User's Guide(SC27-0946)。
7. 为连接工厂设置适当的 SSL 参数,包括步骤 6 中提供的端口号。有关更多详细信息,请参阅下面的描述。  
8. 将应用程序绑定至 SSL 连接工厂。  

为客户机创建密钥库或信任密钥库

为了让客户机与服务器之间互相进行认证,必须在客户端和服务器端都为 JKS 密钥库或 RACF 密钥环提供有效的 X.509 证书。如果服务器不需要执行客户机认证,也就不需要创建客户机证书并将它添加至服务器的密钥环中。有几个工具可用来管理密钥库。要在客户端和服务器端都提供 JKS 密钥库,必须执行下列步骤:
  • 要设置客户机 IMS Connector for Java,创建一个证书并让一个“认证中心”(例如,VeriSign)为它签名,或者使用诸如 OpenSSL 的软件创建您自己的“认证中心”(CA)以便为您自己的(自己签名的)证书签名。
  • 要创建密钥库,可使用密钥管理工具(例如,Ikeyman 或 Keytool)。创建密钥库之后,将客户机证书(如果有一个证书可用的话)导入密钥库中。
  • 要创建信任密钥库,创建另一个密钥库并导入服务器(IMS Connect)的证书。注意:如果您只想创建一个密钥库,则将服务器的证书导入到用来存储客户机的证书的同一个密钥库中。

SSL 配置

Java 客户机应用程序与 IMS Connect 之间的安全 SSL 连接,是通过确保该 Java 客户机应用程序使用的连接工厂的 SSL 属性具有适当的值来创建的。有关 SSL 属性值的描述,请参阅连接属性

可以采用两种方法来设置 SSL 属性:

  1. 如果您正在 WebSphere Studio Application Developer Integration Edition 的“单元测试环境”中运行 Java 客户机应用程序,则使用 WebSphere® Studio Application Developer Integration Edition 中的工具。 WebSphere Studio Application Developer Integration Edition 通过提供连接工厂的 JNDI 名称来将 Java™ 客户机应用程序(它安装在 WebSphere Application Server 上)中的连接工厂资源引用映射或绑定至 SSL 配置的连接工厂。
  2. 如果您正在 WebSphere Application Server 中运行 Java 应用程序,则可以配置连接工厂,以便它将通过设置 WebSphere Application Server 的“J2C 连接工厂的定制属性”中与 SSL 相关的属性的适当值来创建 SSL 值。要设置连接工厂的定制属性,在 WebSphere Application Server 管理控制台中浏览至资源 -> 资源适配器 -> myIMSResourceAdapter -> J2C 连接工厂 -> myJ2CConnectionFactory -> 定制属性

    下图显示了“J2C 连接工厂定制属性”属性表:
    连接工厂属性表的屏幕捕获

注意:可以在 WebSphere Application Server 生成的 trace.log 文件中找到参考消息和警告。

在运行时,当 Java 客户机应用程序执行与 IMS™ 的交互时,交互将在 IMS Connector for Java 与 IMS Connect 之间的安全(SSL)连接上传递。下列步骤对于 Java 客户机应用程序是透明的。IMS 资源适配器使用 SSL 协议与 IMS Connect 进行交互,如下所示:
  • SSL 客户机 IMS Connector for Java 通过发送 Client Hello 来启动连接。服务器 IMS Connect 将以 Server Hello 以及包含它的公用密钥的证书作为应答。
  • 如果服务器不需要客户机认证,则客户机将使用服务器的证书中的公用密钥来认证服务器的证书。如果认证成功,就完成了 SSL 握手。在客户端和服务器端都已建立了会话密钥。
  • 如果服务器确实需要客户机认证,则客户机将使用服务器的证书中服务器的公用密钥来认证服务器的证书。如果此认证成功,就从客户机的密钥库中发送了客户机证书。如果服务器成功认证了此证书,就完成了 SSL 握手。在客户端和服务器端都已建立了会话密钥。
  • 现在,客户机和服务器都可以发送和接收加密数据了。
一定要注意,当在受管环境中运行应用程序时(当使用 SSL 连接时强烈建议这样做),IMS Connector for Java 仅使用持久套接字连接来与 IMS Connect 进行通信。当使用“WebSphere Application Server 连接管理器”时,其它客户机应用程序可以连续复用连接。连接管理器在必要时将创建连接,并根据需要将它们提供给应用程序。在应用程序完成了使用连接之后,连接管理器就会将该连接返回给空闲池,使它可供需要该类型的连接的任何其它应用程序复用。但是,对于每个套接字,在首次将该套接字作为 SSL 套接字来创建并初始化时所进行的握手期间,将对每个套接字只进行一次客户机和服务器认证。当复用套接字时,SSL 客户机(IMS Connector for Java)和服务器(IMS Connect)不会更改。因此,在复用套接字时,就不再需要重新认证客户机和服务器了(即,再次完成握手过程)。注意,以下事实也可以说明这一点:每次复用套接字时,用来标识套接字的 clientID 保持不变。
相关概念
IMS 资源适配器安全性
组件管理的 EIS 登录
容器管理的 EIS 登录
安全套接字层(SSL)概述
相关任务
配置组件管理的 EIS 登录
配置容器管理的 EIS 登录
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.