2

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

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

这是我所做的:

  1. 为队列管理器创建密钥数据库,为 java 客户端用户创建密钥库。
  2. 为队列管理器和客户端用户创建密钥/自签名证书,名称以 ibmwebspheremq 为前缀。
  3. 为队列管理器和客户端导出、交换和导入证书。(当被问及我是否信任队列管理器证书时,我确实回答了“是”)。
  4. 信任库和密钥库的位置和密码设置为指向客户端的相同密钥库,原始创建的客户端用户密钥和导入的队列管理器密钥所在的位置。

在其他设置相同的情况下,如果我切换回“可选”身份验证,则连接正常。

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

有人可以帮助我吗?

4

1 回答 1

2

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

我已要求 IBM WMQ 团队和 WMQ FTE 团队将此添加到他们的 Infocenter 文档中。

于 2010-03-31T01:19:15.697 回答