您可以将 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配合使用:
过程
- 创建信任密钥库文件和(可选)密钥库文件(这些文件可以是相同的文件)。 如果不需要客户机认证(即,通道上 SSLCAUTH=OPTIONAL),那么不需要提供密钥库。 您仅需要信任库来认证队列管理器的证书。
用于为信任库和密钥库创建证书的密钥算法必须是 RSA 才能使用 IBM MQ。
- 设置 IBM MQ 队列管理器以使用 SSL。
- 将信任密钥库文件和密钥库文件(如果有)保存到适当的位置。 建议的位置是 config_directory/coordination_qmgr/agents/agent_name 目录。
- 在相应的 Managed File Transfer 属性文件中设置每个启用 SSL 的队列管理器所需的 SSL 属性。 每个属性集引用单个队列管理器(代理、协调和命令),但一个队列管理器可执行其中的两个或更多角色。
需要 CipherSpec 或 CipherSuite 属性之一,否则客户机会在不使用 SSL 的情况下尝试连接。 由于 IBM MQ 和 Java之间的术语差异,提供了 CipherSpec 或 CipherSuite 属性。 Managed File Transfer 接受任一属性并执行必要的转换,因此您不需要同时设置这两个属性。 如果指定了 CipherSpec 和 CipherSuite 属性,那么 CipherSpec 将优先。
PeerName 属性是可选的。 您可以将该属性设置为要连接到的队列管理器的专有名称。 Managed File Transfer 拒绝与专有名称不匹配的不正确 SSL 服务器的连接。
将 SslTrustStore 和 SslKeyStore 属性设置为指向信任密钥库文件和密钥库文件的文件名。 如果要为已在运行的代理设置这些属性,请停止并重新启动代理以采用 SSL 方式重新连接。
属性文件包含明文密码,因此请考虑设置适当的文件系统许可权。
有关 SSL 属性的更多信息,请参阅MFT 的 SSL/TLS 属性。
- 如果代理队列管理器使用 SSL,您不能在创建代理时提供必需的详细信息。 请使用以下步骤创建代理:
- 使用 fteCreateAgent 命令创建代理程序。 您将收到有关无法将代理的存在情况发布到协调队列管理器的警告。
- 编辑上一步创建的 agent.properties 文件以添加 SSL 信息。 成功启动代理后,重新尝试发布。
- 如果 IBM MQ Explorer 的代理程序或实例正在运行,而 agent.properties 文件或 coordination.properties 文件中的 SSL 属性已更改,那么必须重新启动代理程序或 IBM MQ Explorer。