acivemq,安全websockets,CA,安全性和相同的来源限制 - 如何安装CA证书?

时间:2015-11-26 11:16:22

标签: ssl activemq keystore mqtt

是否有人设法将CA证书安装到activemq实例中?我一直在谷歌搜索和阅读activemq文档,但我还没有找到任何关于如何在activemq中使用预先存在的CA证书。

我假设我将它安装到activemq密钥库中。那是对的吗?我将在客户端使用websockets和mqtt。

另外,如果我的假设不正确,这就是为什么我认为我需要使用我当前的CA证书。 1)我有一个Web应用程序,我们的用户需要与服务器通信才能保证安全。所有http流量都是安全的。 2)所有现代Web浏览器都具有针对websockets的同源策略。他们似乎也有一个没有混合内容的政策。因为我的http流量是安全的,我还必须使用安全的websockets。 (我还必须在同一个URL上运行activemq服务器)

我宁愿不通过http隧道传输websocket流量,因为除了activemq配置之外我还要担心apache配置 - 这是另一个可能出错的地方。

此外,我不会通过websocket传输任何敏感信息,因此我可能会将其置于不安全的状态,但首先,我的用户可能不会理解这一点,但看起来浏览器还有一个没有混合内容的策略

有没有人经历过我正在经历的事情?有什么提示吗?

1 个答案:

答案 0 :(得分:1)

我最终得到了这个,但最终我决定使用ws_tunnel模块通过apache隧道我的websockets通信。

但是要回答上面的问题,基本上你需要做的是根据你的web服务器密钥创建一个新的java密钥库,然后用这个新的密钥库替换apachemq java密钥库。我无法将密钥成功导入现有密钥库。

例如,在我的ubuntu服务器上,我的密钥是:

    SSLCertificateFile  /etc/apache2/ssl/star_astracorp_com.crt
    SSLCertificateKeyFile   /etc/apache2/ssl/star_astracorp_com.key
    SSLCertificateChainFile /etc/apache2/ssl/astracorp.com.intermediate.sha1.chcrt

然后我将密钥导出为pkcs12:

openssl pkcs12 -export -in /etc/apache2/ssl/star_astracorp_com.crt -inkey /etc/apache2/ssl/star_astracorp_com.key -out server.p12 -name emsu1 -CAfile ca.crt -caname root

然后我将pkcs12导入到新的java密钥库中:

keytool -importkeystore -deststorepass password -destkeypass password -destkeystore server.keystore -srckeystore /etc/apache2/ssl/server.p12 -srcstoretype PKCS12 -srcstorepass password -alias emsu1

然后,在我的apachemq目录中,我将旧的broker.ks移开,并将server.keystore重命名为kroker.ks并重新启动activemq。

我的一台服务器的密钥有.pem文件。这个过程仍然类似,但我必须进入OS X的密钥库实用程序来获取密钥的密码。

openssl pkcs12 -export -in /etc/certificates/ems-dev.local.EDA65671FF2C9CE7DAA56E9AD8E4E5F3F2675C79.cert.pem -inkey /etc/certificates/ems-dev.local.EDA65671FF2C9CE7DAA56E9AD8E4E5F3F2675C79.key.pem -out server.p12 -name emsdev -CAfile ca.crt -caname root

然后会要求您输入密钥 - 从密钥util中复制并粘贴它。

然后,创建新密钥库的过程是相同的:

keytool -importkeystore -deststorepass password -destkeypass password -destkeystore server.keystore -srckeystore /etc/certificates/server.p12 -srcstoretype PKCS12 -srcstorepass password -alias emsdev