配置 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>