繁体   English   中英

为apache QPID创建密钥库和信任库

[英]creating keystores and truststores for apache QPID

我正在尝试使用keytool为与Apache QPid的ssl连接生成自签名证书。

因此,我首先为服务器和客户端创建了密钥库和证书。 我做了很多次,最后一个来自这个网站: http : //ruchirawageesha.blogspot.fr/2010/07/how-to-create-clientserver-keystores.html

因此,现在我在服务器上有1个密钥库,在客户端有1个密钥库,在这两个密钥库中都有服务器和客户端的条目。

之后,我尝试使用以下方法为服务器和客户端创建信任库:

keytool-导入-trustcacerts-别名服务器-文件server.cert -keystore客户端truststore -storepass

(我在互联网上都找到了最后一个命令,并且没有-trustcacerts尝试过)。 我使用相同的命令使用客户端而不是服务器和服务器而不是客户端来创建第二个信任库

我在Qpid中为服务器添加了密钥库和truststoreGenerated。

我在应用程序中使用了其他程序。

但是,当我的应用程序尝试连接到QPid时(在connectionFactory.createConnection()上),我有一个异常:javax.net.ssl.SSLHandshakeException:一般的SSLEngine问题。

QPid用于创建另一个应用程序的模拟器。 客户端应用程序可以使用服务器提供的证书创建与“真实”服务器的连接。

当客户端应用程序与真实服务器一起使用时,连接有效,因此我认为问题出在证书,密钥库或信任库的创建或QPid配置中。

我在互联网上寻找此例外,但我只发现有人说证书可能不可用。

如果我将URL:amqps:// localhost替换为amqp:// localhost,则可以连接到代理,但是出现错误:使用连接时,远程关闭传输连接(就像我这样做:connection.getClientID() )

那么你知道我做错了吗?

经过大量的试验,我发现问题出在证书中的CN(证书名称?)上。

我有一个更详细的例外,该例外没有主题替代名称。

我发现问题是CN与URL连接不对应。 我还发现我应该对CN使用localhost(我的qpid目前与客户端在同一台计算机上)。 但是我仍然对本地主机有同样的问题。 我也尝试使用我的IP地址,并得到相同的结果。

我认为问题在于网址是amqps:// localhost:XXXX,而不是https:// ....,就像我在论坛上看到的那样。

但是我找不到我应该用来使它工作的东西。

有人可以帮我找到CN应该是什么吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM