【问题标题】:acivemq, secure websockets, CA, security and same origin restrictions - How do I install a CA certificate?acivemq、安全 websockets、CA、安全和同源限制 - 如何安装 CA 证书?
【发布时间】:2016-02-29 11:11:46
【问题描述】:

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

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

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

我宁愿不通过 h​​ttp 隧道传输 websocket 流量,因为这样我就不得不担心除了 activemq 配置之外的 apache 配置——这只是另一个可能出错的地方。

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

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

【问题讨论】:

    标签: ssl activemq keystore mqtt


    【解决方案1】:

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

    但是要回答我上面的问题,基本上你要做的就是根据你的网络服务器密钥创建一个新的 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 中复制并粘贴它。

    那么,新建keystore的过程也是一样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      • 2012-03-10
      • 2018-03-29
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      相关资源
      最近更新 更多