【问题标题】:C# - SSL with Websphere MQ version 7.0.1C# - 带有 Websphere MQ 版本 7.0.1 的 SSL
【发布时间】:2011-05-22 23:01:20
【问题描述】:

使用 C# 连接到启用 SSL 的队列管理器时,我需要设置哪些值才能使队列工作?

我目前收到此错误: 原因代码:2393 MQRC_SSL_INITIALIZATION_ERROR

在我的代码中,我设置了 MQEnvironment.SSLKeyRepository 和 MQEnvironment.SSLCipherSpec

我还需要用 C# 设置什么东西才能使它工作吗?我看过一些设置密钥库密码和类型等的 Java 示例。

我也看到了设置系统环境变量的示例,但这似乎也没有任何区别。

【问题讨论】:

    标签: c# ssl ibm-mq


    【解决方案1】:

    调试WMQ SSL的一般模式如下...

    1. 让应用程序不使用 SSL 进行连接。这消除了连接、错误的队列或队列管理器名称等问题。
    2. 让 SSL 与仅服务器身份验证一起使用。这意味着在 SVRCONN 通道上设置 SSLCAUTH(OPTIONAL)。 QMgr 将提供应用程序必须信任的证书,但应用程序不需要向服务器进行身份验证。这验证了应用程序和 QMgr 都可以访问它们的密钥库,并且 QMgr 的证书或 CA 链已正确加载到应用程序的密钥库中。
    3. 最后,在 SVRCONN 通道中设置 SSLCAUTH(REQUIRED),以便应用程序向 QMgr 进行身份验证。此时唯一可能的问题是 QMgr 不信任应用的证书或 CA。

    如果连接尝试被 QMgr 拒绝,客户端上的错误将被故意隐藏。详细消息将在 QMgr 的 AMQERR??.LOG 文件中找到。如果故障发生在客户端,这些消息将在客户端的错误日志中找到,或者您可以启用跟踪。

    使用strmqtrc 命令启用跟踪并使用endmqtrc 停止跟踪。 WMQ 客户端手册有a section 描述了客户端跟踪文件的最终位置,another section 专门用于在 Windows 上进行跟踪。这对于确定客户端配置问题非常有用,例如找不到私钥、找不到密钥库等。

    在您的情况下,2393 表示客户端配置中的某些内容失败。由于您不再收到密钥库密码错误,我猜它可能在查找私钥或不信任 QMgr 提供的证书时遇到问题。在第一种情况下,设置 SSLCAUTH(OPTIONAL) 将起作用,因为客户端不需要它的私钥。但是,如果问题是信任 QMgr 或其他配置问题,SSLCAUTH(OPTIONAL) 将无济于事,但跟踪应该解决这个问题。

    顺便说一句,在客户端进行跟踪和诊断的需要是 IBM 不支持复制 jar 或 lib 而不是运行完整客户端安装的客户端安装的原因。尽管您可以通过复制一些 lib 文件和类来运行客户端,但这并不能提供用于跟踪和诊断的所有工具。如果您尚未执行完整的客户端安装,那么我在此处描述的某些内容将无法实现。如果是这种情况,请从SupportPac MQC7 下载并安装客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多