MFT 配置 SSL 或 TLS 加密

您可以将 SSL 或 TLS 与 IBM® MQ Managed File Transfer 配合使用,以保护代理及其代理队列管理器之间的通信,命令及其连接到的队列管理器之间的通信,以及拓扑中的各种队列管理器到队列管理器连接之间的通信。

开始之前

您可以使用 SSL 或 TLS 加密对流经 IBM MQ Managed File Transfer 拓扑的消息进行加密。 其中包括:
  • 在代理与其代理队列管理器之间传递的消息。
  • 命令的消息以及它们要连接到的队列管理器。
  • 在拓扑中的代理队列管理器,命令队列管理器和协调队列管理器之间流动的内部消息。

关于本任务

有关将 SSL 与 IBM MQ配合使用的常规信息,请参阅 使用 SSL/TLS。 在 IBM MQ 术语中, Managed File Transfer 是标准 Java 客户机应用程序。

执行以下步骤以将 SSL 与 Managed File Transfer配合使用:

过程

  1. 创建信任密钥库文件和(可选)密钥库文件(这些文件可以是相同的文件)。 如果不需要客户机认证(即,通道上 SSLCAUTH=OPTIONAL),那么不需要提供密钥库。 您仅需要信任库来认证队列管理器的证书。

    用于为信任库和密钥库创建证书的密钥算法必须是 RSA 才能使用 IBM MQ

  2. 设置 IBM MQ 队列管理器以使用 SSL。
    例如,有关使用 IBM MQ Explorer 将队列管理器设置为使用 SSL 的信息,请参阅 在队列管理器上配置 SSL
  3. 将信任密钥库文件和密钥库文件(如果有)保存到适当的位置。 建议的位置是 config_directory/coordination_qmgr/agents/agent_name 目录。
  4. 在相应的 Managed File Transfer 属性文件中设置每个启用 SSL 的队列管理器所需的 SSL 属性。 每个属性集引用单个队列管理器(代理、协调和命令),但一个队列管理器可执行其中的两个或更多角色。

    需要 CipherSpecCipherSuite 属性之一,否则客户机会在不使用 SSL 的情况下尝试连接。 由于 IBM MQJava之间的术语差异,提供了 CipherSpecCipherSuite 属性。 Managed File Transfer 接受任一属性并执行必要的转换,因此您不需要同时设置这两个属性。 如果指定了 CipherSpecCipherSuite 属性,那么 CipherSpec 将优先。

    PeerName 属性是可选的。 您可以将该属性设置为要连接到的队列管理器的专有名称。 Managed File Transfer 拒绝与专有名称不匹配的不正确 SSL 服务器的连接。

    SslTrustStoreSslKeyStore 属性设置为指向信任密钥库文件和密钥库文件的文件名。 如果要为已在运行的代理设置这些属性,请停止并重新启动代理以采用 SSL 方式重新连接。

    属性文件包含明文密码,因此请考虑设置适当的文件系统许可权。

    有关 SSL 属性的更多信息,请参阅MFT 的 SSL/TLS 属性

  5. 如果代理队列管理器使用 SSL,您不能在创建代理时提供必需的详细信息。 请使用以下步骤创建代理:
    1. 使用 fteCreateAgent 命令创建代理程序。 您将收到有关无法将代理的存在情况发布到协调队列管理器的警告。
    2. 编辑上一步创建的 agent.properties 文件以添加 SSL 信息。 成功启动代理后,重新尝试发布。
  6. 如果 IBM MQ Explorer 的代理程序或实例正在运行,而 agent.properties 文件或 coordination.properties 文件中的 SSL 属性已更改,那么必须重新启动代理程序或 IBM MQ Explorer