当前位置: 首页 > 知识库问答 >
问题:

使用。NET MQ客户端SSLv3连接到MQ?

燕琨
2023-03-14

目前,由于以下问题,我在连接到服务器时遇到了问题:

当我试图连接到服务器时,它返回了一个错误:mqrc_ssl_initialization_error

通过WireShark进行更深入的分析,我发现客户机试图使用SSL v2连接到服务器,而服务器只能接受SSL V3,因此拒绝连接。

共有1个答案

钮鸿煊
2023-03-14

我不确定我是否同意您的结论,因为至少在V6.0甚至更早的时候,WMQ就已经支持SSL V3.0和TLS V1.0了。这更可能是客户端和服务器之间的配置不匹配。我建议的解决SSL/TLS问题的过程如下:

我在WMQ上调试SSL连接的方法是按照以下顺序进行,确保每一步都正常工作,然后再进行下一步:

  1. 在不使用SSL的情况下运行通道。这将验证通道名的拼写是否正确、endpoint之间是否存在网络路由、QMGR的侦听器是否正在运行以及客户端是否指向正确的端口。您会感到惊讶的是,有多少次有人错误地键入了端口或信道名称。
  2. 使通道运行,并将SVRCONN定义设置为SSLCAUTH(OPTIONAL)。这将执行匿名SSL连接,类似于浏览器所做的操作。QMgr向客户机提供证书,但客户机没有义务发回证书。这将验证QMgr是否能够找到它的证书,客户机是否能够找到它的信任存储区,并正确验证QMgr的证书。(注意:QMgr将始终请求客户端证书,如果有客户端证书,客户端将始终发送该证书。若要执行此测试,请使用具有签名者证书但没有应用程序个人证书的客户端密钥存储的副本。复制密钥存储并从副本中删除个人证书。不要删除原始证书!)
  3. 将SVRCONN通道设置为SSLCAUTH(REQUIRED)。现在,这需要客户端找到它的密钥存储区(在最后一步中,它只需要它的信任存储区),并且能够找到它的证书。它还要求QMgr能够验证客户端的证书。
  4. 设置SSLPEER或CHLAUTH映射规则,以缩小通道上接受的验证证书的数量。
 类似资料:
  • 问题内容: 有没有一种方法可以使用客户端(而不是Node.js)JavaScript直接连接到Redis? 我已经为一些项目成功使用了Node.js + PHP + Redis + Socket.io(用于客户端)。但是,我确实认为这可以进一步简化为类似PHP + Redis + Browser javascript的东西- 取出Node.js服务器,这是我不愿意使用的另一台服务器。对于简单的事情

  • 如何通过 JMX 客户端连接到 WebSphere JVM?是否可以使用 JMX 客户机连接到 WebSphere JVM 以更改日志记录设置?

  • 所有的 我正在尝试连接到Oracle 19C数据库。我安装了两个Oracle客户端(11g和12c),因为我们需要支持遗留程序。我可以通过12c客户端与使用sqlplus的任何用户连接,没有问题。但是如果我与任何用户一起使用11g(11.2.0)客户端。我总是得到: 两个客户端都有完全相同的sqlnet。ora和tnsnames。ora文件,因此两个客户端都指向同一个数据库。 有什么想法吗?我是否

  • 我正在尝试在GKE上部署gRPC,我遵循了本教程-https://cloud.google.com/solutions/exposing-grpc-services-on-gke-using-envoy-proxy 我完成了所有工作,但我似乎无法在golang上运行gRPC,而我可以在grpcurl上运行它。 有人有什么想法吗?

  • 在Netty中创建客户端连接时,我有一个问题。 这里,为什么我们没有一个bind方法,将通道绑定到发起客户端连接的端口(在客户端)?我们唯一需要提供的就是给出服务器地址和端口如下: 这是在客户端还是服务器端创建了一个新的通道?此通道绑定在客户端的哪个端口? 我们在执行服务器端引导时进行绑定,如下所示 我很困惑,不明白客户端从哪个端口向服务器发送数据,使用的是什么通道?

  • 谁能让我知道如何传递这个参数,使用java。 根据我的理解,不是证书的一部分。