gpt4 book ai didi

ssl - 客户端如何从 ActiveMQ 代理获取 SSL 证书?

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:52 24 4
gpt4 key购买 nike

我有一个运行在 AWS 上的 ActiveMQ Broker。我正在尝试保护来自使用 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 安装一起打包的默认证书。

最佳答案

作为ActiveMQ documentation状态:

ActiveMQ includes key and trust stores that reference a dummy self signed cert. When you create a broker certificate and stores for your installation, either overwrite the values in the conf directory or delete the existing dummy key and trust stores so they cannot interfere)

因此,您应该删除现有的 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. 为客户端创建证书/ keystore :
    keytool -genkey -alias client -keyalg RSA -keystore client.ks
  4. 为客户创建一个信任库,并导入经纪人的证书。这表明客户“信任”经纪人:
    keytool -import -alias broker -keystore client.ts -file broker_cert

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

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

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

关于ssl - 客户端如何从 ActiveMQ 代理获取 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55403432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com