如何在需要身份验证时使用ssl启用的服务器连接通道连接到队列管理器

时间:2009-11-30 17:57:42

标签: ssl ibm-mq jsse

我正在尝试编写一个连接到启用了SSL的服务器连接通道的Java应用程序。

到目前为止,通过将身份验证设置为“可选”,我已成功连接到该频道。但是,当我将其设置为“必需”时,连接失败。

这是我做的:

  1. 为java客户端用户创建队列管理器和密钥库的密钥数据库。
  2. 为队列管理器和客户端用户创建密钥/自签名证书,其名称前缀为ibmwebspheremq。
  3. 导出,交换和导入队列管理器和客户端的证书。 (当被问到我是否信任队列管理器证书时,我的确回答'是')。
  4. 信任库和密钥库的位置和密码设置为指向客户端的同一个密钥库,其中创建了客户端用户密钥和导入的队列管理器密钥。
  5. 如果其他设置相同,如果我切换回“可选”身份验证,则连接有效。

    我认为我对这个ssl认证有不正确的理解,但无法弄清楚是什么。

    有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

我在那个墙上撞了几个星期。 IBM L2 Support最终让我了解。我的问题是keytool将使用DSA算法,除非您指定RSA。这导致长度为1022而不是1024的密钥,这是WMQ不喜欢的。修复是在生成证书时指定-sigalg RSA并且一切正常。

我已经要求IBM WMQ团队和WMQ FTE团队将其添加到他们的信息中心文档中。