【问题标题】:How does a client get an SSL certificate from an ActiveMQ Broker?客户端如何从 ActiveMQ 代理获取 SSL 证书?
【发布时间】:2019-03-29 02:30:59
【问题描述】:

我在 AWS 上有一个 ActiveMQ 代理。我正在尝试使用 SSL 保护来自客户端的连接。我已将代理设置为使用 SSL,但我不太明白客户端应该从哪里获取证书。我是否需要从代理复制证书并将其与客户端代码打包?还是每次启动客户端时都以编程方式远程检索证书?

activemq.xml 中的相关 SSL 设置

<sslContext> 
    <sslContext keyStore="file:${activemq.base}/conf/broker.ks"
      keyStorePassword="password" trustStore="file:${activemq.base}/conf/broker.ts"
      trustStorePassword="password"/> 

<transportConnectors>
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="ssl" uri="ssl://0.0.0.0:61714?transport.enabledProtocols=TLSv1.2"/>
</transportConnectors>

连接的客户端将是使用 JMS 的 Java 客户端。此时,我使用的是 ActiveMQ 安装随附的默认证书。

【问题讨论】:

  • 我已将代理的相关 ssl 配置添加到原始帖子中。连接的客户端将是使用 JMS 的 Java 客户端。此时,我使用的是 ActiveMQ 安装随附的默认证书。

标签: ssl activemq


【解决方案1】:

正如ActiveMQ documentation 所说:

ActiveMQ 包括引用虚拟自签名证书的密钥和信任存储。当您为安装创建代理证书和存储时,请覆盖 conf 目录中的值或删除现有的虚拟密钥和信任存储,以免它们干扰)

因此,您应该删除现有的broker.ksbroker.ts 并为您的安装创建新的。你在这里有几个选择。

我想 AWS 有某种基础设施来获取 SSL 证书,并且这些证书将由著名的证书颁发机构签署,您的 JMS 客户端将隐式信任该证书颁发机构。快速搜索出现了AWS Certificate Manager

但是,您也可以选择使用“自签名”证书,根据定义,该证书由知名证书颁发机构签名,因此您的客户必须明确信任该证书.

您可以使用以下命令进行自签名路由:

  1. 使用keytool(来自JDK)为代理创建证书:
    keytool -genkey -alias broker -keyalg RSA -keystore broker.ks
    
  2. 导出代理的证书,以便与客户端共享:
    keytool -export -alias broker -keystore broker.ks -file broker_cert
    
  3. 为客户端创建证书/密钥库:
    keytool -genkey -alias client -keyalg RSA -keystore client.ks
    
  4. 为客户端创建一个信任库,并导入代理的证书。这确定客户端“信任”代理:
    keytool -import -alias broker -keystore client.ts -file broker_cert
    

启动客户端的虚拟机时,指定以下系统属性:

javax.net.ssl.trustStorePassword=password
javax.net.ssl.trustStore=/path/to/client.ts

如果您选择自签名路由,则只需生成一次 client.ts,然后将其复制到每个客户端。客户端每次连接时都将使用相同的信任库(假设代理的证书没有更改)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2010-10-16
    • 2017-04-28
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多