Ibm mq 是否可以将MQIPT配置为对MQ客户端为特定连接设置的凭据进行身份验证
场景:MQIPT在MQ客户端和MQ服务器版本8之间使用 是否可以在MQIPT验证随通道连接一起发送的凭据。我检查了文档,似乎无法完成,除非为其编写某种安全出口 我只是想了解一下,如果可能的话,如何实现这个目标Ibm mq 是否可以将MQIPT配置为对MQ客户端为特定连接设置的凭据进行身份验证,ibm-mq,Ibm Mq,场景:MQIPT在MQ客户端和MQ服务器版本8之间使用 是否可以在MQIPT验证随通道连接一起发送的凭据。我检查了文档,似乎无法完成,除非为其编写某种安全出口 我只是想了解一下,如果可能的话,如何实现这个目标 谢谢。MQIPTcom.ibm.mq.ipt.exit.SecurityExit和com.ibm.mq.ipt.exit.CertificateExit类不会公开客户端通道的用户名和密码信息。下面是IBM关于这两种出口的文档 IBM v9.0知识中心中记录了以下信息: 公共安全出口响应验证
谢谢。MQIPT
com.ibm.mq.ipt.exit.SecurityExit
和com.ibm.mq.ipt.exit.CertificateExit
类不会公开客户端通道的用户名和密码信息。下面是IBM关于这两种出口的文档
IBM v9.0知识中心中记录了以下信息:
公共安全出口响应验证(IPTrace)以下属性可用:
- 侦听器端口
- 目的地
- 目的港
- 超时
- 客户端IP地址
- 客户端端口地址
- 频道名称
- 队列管理器名称
public int getListenerPort() 检索由ListenerPort定义的路由侦听器端口 财产 公共字符串getDestination() 检索目标地址-由目标定义 财产 public int getDestinationPort() 检索目标侦听器端口地址-由 目的港物业 公共字符串getClientIPAddress() 检索发出连接请求的客户端的IP地址 public int getClientPortAddress() 检索进行连接的客户端使用的端口地址 请求 公共布尔isSSLClient() 用于确定出口是否被称为SSL/TLS客户端或 SSL/TLS服务器。如果返回true,则退出位于客户端 验证从中获取的证书 服务器。如果返回false,则出口位于 连接,验证客户端发送的证书。它是有效的 对于同时充当SSL/TLS服务器和SSL/TLS客户端的路由, 对流量进行解密和重新加密。在这种情况下,尽管 只有一个exit类,该类的一些实例将 称为客户端,有些称为服务器。您可以使用isSSLClient 确定给定实例的情况 public int getconnthreadd() 用于检索正在处理的工作线程的ID 连接请求,这对调试很有用 公共字符串getChannelName() 检索连接中使用的IBM®MQ通道名称 要求这仅在传入请求未使用时可用 SSL/TLS和MQIPT充当SSL/TLS客户端 公共字符串getQMName() 检索连接中使用的IBM MQ队列管理器的名称 要求这仅在客户端请求未使用时可用 SSL/TLS和MQIPT充当SSL/TLS客户端 公共布尔getTimedout() 出口用于确定超时是否已过期 公共IPTCertificate getCertificate() 检索需要验证的SSL/TLS证书 公共字符串getExitData() 检索SSLExitData属性定义的退出数据 公共字符串getExitName() 检索SSLExitName属性定义的出口名称
如果您在MQIPT讨论用户名-密码验证,那么您的评估是正确的,它无法做到这一点。您可以让客户端使用证书,并让MQIPT根据证书DN和签名者DN匹配证书。谢谢。我正在使用您指定的证书配置。@JoshMc,您知道我们是否可以读取MQIPT安全出口中的用户/密码。我的发现:MQIPT使用SecurityExit/CertificateExit类启动验证过程,只允许少量可用的连接信息,如通道名称、QM名称、客户端IP、,端口等,但无法获取任何可用于读取用户/密码详细信息的信息如果您发现我在答案中提供的信息有用,请单击答案左侧向下箭头下方的灰色复选标记接受。