配置 CSIv2 以保护 IIOP 通信
以下信息涵盖了为 IIOP 通信配置入站和出站 CSIv2 安全性的一些常规情况。
入站调用允许 CICS® Liberty 作为对象请求代理 (ORB) 侦听 IIOP-RMI 请求的 TCP/IP 端口,并调用目标 EJB 方法。
出站调用是 CICS Liberty 向 ORB 发出请求以启动 EJB 方法的位置。 可以对调用所针对的同一 JVM 服务器进行出站调用,也可以对能够充当 ORB 的任何其他 Java™ 虚拟机 (JVM) 进行出站调用。
在以下示例中, 客户机 是发出出站请求的 JVM ,而 服务器 是接收入站请求的 JVM。 其中一个或两个都可以是 CICS Liberty JVM 服务器。 有关更多信息,请参阅 在 Liberty 中配置公共安全互操作性版本 2 (CSIv2)。
配置 CSIv2 以使用 TLS
入站
- 创建包含服务器证书的密钥库。
<keyStore id="iiopKeyStore" ... /> - 创建引用密钥库的 SSL 指令表 (
SSL元素)。<ssl id="iiopSSL" keyStoreRef="iiopKeyStore" /> - 创建具有 IIOPS 端口的 IIOP 端点。
<iiopEndpoint id="defaultIiopEndpoint" host="host.example.com" iiopPort="2809"> <iiopsOptions iiopsPort="9402" sslRef="iiopSSL" /> </iiopEndpoint>
重要信息: 缺省情况下, IIOPs 选项
sslRef 引用 defaultSSLConfig SSL 指令表。出站
- 创建密钥库。 您可以包含一个密钥,该密钥允许密钥库信任根证书,该根证书信任该证书签署的所有证书。
<keystore id="iiopTrustStore" ... /> - 创建引用密钥库的 SSL 指令表 (
SSL元素)。<ssl id="iiopSSL" trustStoreRef="iiopTrustStore" ... /> - 使用 CSIv2 客户机策略创建 ORB。
<orb id="defaultOrb" nameService="corbaname::host.example.com"> <clientPolicy.csiv2> <layers> <transportLayer sslRef="iiopSSL" /> </layers> </clientPolicy.csiv2> </orb>
配置 CSIv2 以允许将用户标识从客户机传播到服务器
入站
- 使用 CSIv2 服务器策略创建 ORB。
<orb id="defaultOrb"> <serverPolicy.csiv2> <layers> <attributeLayer identityAssertionEnabled="true" /> </layers> </serverPolicy.csiv2> </orb> - (可选) 您可以指定要由服务器信任的一个或多个身份。
<attributeLayer identityAssertionEnabled="true" trustedIdentities="MYUSER" />
出站
- 使用 CSIv2 客户机策略创建 ORB。
<orb id="defaultOrb" nameService="corbaname::host.example.com:2809"> <clientPolicy.csiv2> <layers> <attributeLayer identityAssertionEnabled="true" /> </layers> </clientPolicy.csiv2> </orb> - (可选) 您可以提供要由服务器授权的可信身份。
<attributeLayer identityAssertionEnabled="true" trustedIdentity="MYUSER" trustedPassword="MYPASSWD" />
要点: 可信用户必须存在于服务器上的用户注册表中。 可以使用 Liberty
securityUtility 工具对 trustedPassword 进行编码。配置 CSIv2 以使用 TLS 客户机认证
入站
- 创建密钥库。 您可以包含一个密钥,该密钥允许密钥库信任根证书,该根证书信任该证书签署的所有证书。
<keyStore id="iiopTrustStore" ... /> - 创建引用密钥库的 SSL 指令表 (
SSL元素)。<ssl id="iiopSSL" trustStoreRef="iiopTrustStore" ... /> - 使用 IIOPS 端点创建 IIOP 端点。
<iiopEndpoint id="defaultIiopEndpoint" host="host.example.com" port="2809"> <iiopsOptions iiopsPort="9402" sslRef="iiopSSL" /> </iiopEndpoint> - 使用 CSIv2 服务器策略创建 ORB。
<orb id="defaultOrb"> <serverPolicy.csiv2> <layers> <attributeLayer identityAssertionEnabled="true" ... /> <transportLayer sslRef="iiopSSL" /> </layers> </serverPolicy.csiv2> </orb>
出站
- 创建包含客户机证书的密钥库。
<keyStore id="iiopKeyStore" ... /> - 创建引用密钥库的 SSL 指令表 (
SSL元素)。<ssl id="iiopSSL" keyStoreRef="iiopKeyStore" /> - 使用 CSIv2 客户机策略创建 ORB。
<orb id="defaultOrb"> <clientPolicy.csiv2> <layers> <attributeLayer identityAssertionEnabled="true" /> <transportLayer sslRef="iiopSSL" /> </layers> </clientPolicy.csiv2> </orb>