如何在ActiveMQ服务器上设置SSL?
我遵循this tutorial为ActiveMQ创建证书。
1.使用keytool为代理创建一个证书:
keytool -genkey -alias broker -keyalg RSA -keystore amq-server.ks
1.导出代理的证书,以便与客户端共享:
keytool -export -alias broker -keystore broker.ks -file amq- server_cert
1.为客户端创建证书/密钥库:
keytool -genkey -alias client -keyalg RSA -keystore amq-server.ks
1.为客户端创建一个信任库,并导入代理的证书。这将建立客户端“信任”代理:
keytool -import -alias broker -keystore client.ts -file amq-server_cert
我有Ubuntu Server和ActiveMQ,Windows Machine和MQTT. fx。
我在ActiveMQ配置中添加了该设置:
<transportConnector name="openwire" uri="tcp://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ssl" uri="ssl://0.0.0.0:61714?transport.enabledProtocols=TLSv1.2"/`
我现在安装在一台机器MQTT.fx,我试图通过SSL连接。我创建了2个配置-一个有证书,另一个没有证书。没有证书连接工作。有证书的连接不工作。我选择了服务器证书或客户端证书不工作。
如果我将此设置添加到ActiveMQ配置中,则不再起作用
<sslContext>
<sslContext keyStore="file:${activemq.base}/conf/amq-server.ks"
keyStorePassword="password"
trustStore="file:${activemq.base}/conf/amq-server.ts"
trustStorePassword="password"/>
</sslContext>
我试过所有的组合都不起作用。
有人能帮我吗?我如何在ActiveMQ上设置SSL并与证书通信。也许是单向SSL?
1条答案
按热度按时间bf1o4zei1#
在步骤#3中,您应该使用以下命令:
请注意,此命令使用
client.ts
而不是amq-server.ks
。这将是您在MQTT.fx上使用的信任库。此外,如果您使用MQTT,无论是否使用SSL,您都应该添加适当的
transportConnector
元素,并使用MQTT应用程序中的元素,例如:您的
sslContext
应配置如下: