为 Web Service 安全性配置 RACF

您必须配置外部安全管理器 (例如, RACF®) ,以创建公用-专用密钥对和 X.509 证书,用于对出站 SOAP 消息进行签名和加密,并对已签名和已加密的入站 SOAP 消息进行认证和解密。

开始之前

在执行此任务之前,必须设置 RACF 以使用 CICS®。 在包含 Web Service 管道的 CICS 区域中指定 DFLTUSERKEYRINGSEC=YES 系统初始化参数。
注: 不支持同一 KEYRING 上具有相同专有名称的多个证书。

过程

  1. 要认证已签名的入站 SOAP 消息:
    1. 将 X.509 证书作为 ICSF 密钥导入到 RACF 中。
    2. 使用 RACDCERT 命令将证书连接到 KEYRING 系统初始化参数中指定的密钥环:
      RACDCERT ID(userid1)
      CONNECT(ID(userid2) LABEL('label-name') RING(ring-name)
      其中:
      • userid1 是密钥环的缺省用户标识,或者有权将证书附加到其他用户标识的密钥环。
      • userid2 是要与证书关联的用户标识。
      • label-name 是证书的名称。
      • ring-nameKEYRING 系统初始化参数中指定的密钥环的名称。
    3. 可选: 如果要使用已声明的身份,请确保与证书关联的用户标识具有代理权限,以允许在其他用户标识下运行工作。
      此外,请确保还将 SOAP 消息头中包含的任何其他证书导入到 RACF中。
    SOAP 消息可以在包含证书或包含对证书的引用的头中包含二进制安全性令牌。 该参考可以是KEYNAME RACF证书标签)、ISSUER和SERIAL编号的组合,也可以SubjectKeyIdentifier。 CICS 只有在 证书的定义中指定了 属性时,才能识别它。 RACF SubjectKeyIdentifier
  2. 要对出站 SOAP 消息进行签名:
    1. 使用以下 RACDCERT 命令创建 X.509 证书和公用-专用密钥对:
      RACDCERT ID(userid2) GENCERT
      SUBJECTSDN(CN('common-name')
                 T('title')
                 OU('organizational-unit')
                 O('organization')
                 L('locality')
                 SP('state-or-province')
                 C('country'))
      WITHLABEL('label-name')
      其中 userid2 是要与证书关联的用户标识。
      指定证书 label-name 值时,请勿使用以下字符:
      < > : ! =
    2. 将证书连接到 KEYRING 系统初始化参数中指定的密钥环。
      使用 RACDCERT 命令。
    3. 导出证书并将其发布到 SOAP 消息的预期收件人。
    您可以编辑管道配置文件,以便 CICS 自动将 X.509 证书包含在 SOAP 消息头的二进制安全性令牌中,以供预期接收方验证签名。
  3. 要解密已加密的入站 SOAP 消息, SOAP 消息必须包含属于密钥对的公用密钥,其中专用密钥是在 CICS中定义的。
    1. 在 RACF 中生成公用-专用密钥对和证书以进行加密。
      必须使用 ICSF 生成密钥对和证书。
    2. 将证书连接到 KEYRING 系统初始化参数中指定的密钥环。 使用 RACDCERT 命令。
    3. 导出证书并将其发布到要解密的 SOAP 消息的生成器。
    然后, SOAP 消息的生成器可以导入包含公用密钥的证书,并使用该证书对 SOAP 消息进行加密。 SOAP 消息可以在头中包含二进制安全性令牌,该令牌包含公用密钥或包含对其的引用。 该参考可以是KEYNAME、发行者和序列号的组合,也可以SubjectKeyIdentifier。 CICS 只有在 中定义公钥时指定了 属性,才能识别它。 RACF SubjectKeyIdentifier
  4. 要加密出站 SOAP 消息:
    1. 将包含要用于加密的公用密钥的证书作为 ICSF 密钥导入 RACF 。
      期望的接收方必须具有与公用密钥相关联的专用密钥才能解密 SOAP 消息。
    2. 将包含公用密钥的证书附加到 KEYRING 系统初始化参数中指定的密钥环。 使用 RACDCERT 命令。
    CICS 使用证书中的公用密钥对 SOAP 主体进行加密,并将包含公用密钥的证书作为 SOAP 消息头中的二进制安全性令牌发送。 公用密钥在管道配置文件中定义。

下一步操作

用于对出站消息进行签名和加密的此配置要求所使用的证书由 CICS 区域用户标识拥有。 该证书必须由 CICS 区域用户标识拥有,因为 RACF 仅允许证书所有者抽取专用密钥 (用于签名或加密过程)。

如果 CICS 需要使用其不拥有的证书对消息进行签名或加密,那么您可以遵循 使用 CICS 区域用户标识未拥有的现有证书中的指示信息,在 CICS 系统之间共享单个证书。