使用本网站作为指南:
http://activemq.apache.org/how-do-i-use-ssl.html
我执行了以下操作(我在esite中找到了一些keytool命令)
keytool -genkey -alias broker -keyalg RSA -keystore /home/amq/broker.ks -dname "CN=server, O=IBM, C=GB" -keypass passw0rd -storepass passw0rd
keytool -export -alias broker -keystore /home/amq/broker.ks -file /home/amq/broker_cert -storepass passw0rd
keytool -genkey -alias client -keyalg RSA -keystore /home/client/client.ks -dname "CN=client, O=IBM, C=GB" -keypass passw0rd -storepass passw0rd
keytool -import -alias broker -keystore /home/client/client.ts -file /home/amq/broker_cert -storepass passw0rd
keytool -export -alias client -keystore /home/client/client.ks -file /home/client/client_cert -storepass passw0rd
keytool -import -alias client -keystore /home/amq/broker.ts -file /home/client/client_cert -storepass passw0rd
现在创建了密钥库和信任库,我启动了代理
export SSL_OPTS=-Djavax.net.ssl.keyStore=/home/amq/broker.ks\ -Djavax.net.ssl.keyStorePassword=passw0rd\ -Djavax.net.ssl.trustStore=/home/amq/broker.ts
cd /usr/local/activemq/apache-activemq-5.9.0
bin/activemq console
到目前为止,一切都很好,而我想要做的就是使用随安装一起提供的ProducerTool.java,然后运行它而不是SSL
我对文档有点神秘,如下
使用Spring为Broker实例配置SSL
有时使用javax.net.ssl。*系统属性不是 适用于它们影响JVM中的所有SSL用户。 ActiveMQ 5.2.x增加了 允许经纪人的元素 要配置的特定SSL属性集。
SslContext测试用例验证启动SSL传输侦听器 使用代理Xbean中指定的配置。 SslContext element按如下方式添加到代理:
<amq:sslContext> <amq:sslContext keyStore="server.keystore" keyStorePassword="password" trustStore="client.keystore" trustStorePassword="password"/> </amq:sslContext> <amq:transportConnectors> <amq:transportConnector uri="ssl://localhost:61616" /> </amq:transportConnectors> </amq:broker> </beans>
SslContext用于为其配置SslTransportFactory 经纪人。可用的配置选项的完整详细信息可以是 在模式定义或访问者中看到 org.apache.activemq.spring.SpringSslContext
我从中收集的是,因为我不关心所有JVM用户将被迫使用SSL,我很好,并且不需要任何Spring配置。 (至少我希望如此)
我被2件事困扰
1&GT;我是否相信我不需要执行任何Spring配置,我可以简单地使用-Djava选项
2 - ;我也不认为我需要ssl传输连接器,我应该能够运行ProducerTool.java代码并且很好。为什么我会这么想,因为如果我需要将SSL传输连接器添加到额外配置的borker,并且它强制更改源代码。
我在假设中是否正确
1&GT;我不需要任何Spring更改,因为我希望所有JVM用户都使用SSL
2 - ;我可以不使用ssl传输连接器,只需使用ProducerTool.java,实际上使默认连接使用SSL吗?
由于
答案 0 :(得分:1)
它是一个JMS客户端,所以无论哪种方式(无论是SSL传输还是不传输),客户端都将连接到端口61616,因为SSL传输配置为61616
但我无法从文件中看出运输是否是一项要求
任何想法