我正在尝试使用keytool为ssl连接生成Apache QPid的自签名证书。为apache创建密钥库和信任库QPID
因此,我第一次为服务器和客户端创建密钥库和证书。 我做了很多次,最后一个来自这个网站: http://ruchirawageesha.blogspot.fr/2010/07/how-to-create-clientserver-keystores.html
所以现在我有1个密钥库服务器和1客户端与服务器端和客户端两种密钥库条目。
在那之后,我试图创建服务器和客户端信任库使用:
的keytool -import -alias -trustcacerts服务器-file server.cert -keystore clienttruststore -storepass
(我想这最后的命令和我一起在互联网上找到的--trustcacerts)。 我使用相同的命令创建第二个信任库使用客户端而不是服务器和服务器而不是客户端
我在Qpid中为服务器添加了keystore和truststoregenerated。
我在我的应用程序中使用了其他人。
但是,当我的应用程序尝试连接到QPid(在connectionFactory.createConnection())上时,我有一个异常: javax.net.ssl.SSLHandshakeException:常规SSLEngine问题。
QPid用于创建另一个应用程序的模拟器。 客户端应用程序可以使用服务器提供的证书创建与“真实”服务器的连接
当客户端应用程序与真实服务器一起使用时,连接有效,所以我认为问题来自证书的创建,密钥库或信任库或QPid配置。
我在互联网上寻找这个例外,但我只发现人说证书可能不可用。
如果我通过amqp:// localhost来替换url:amqps:// localhost我可以连接到代理,但是我有一个错误:当我使用连接时,传输连接远程关闭(如果我这样做:连接.getClientID())
那么你知道我做错了什么吗?