You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu服务器ActiveMQ MQTT Broker配置SSL及Windows客户端疑问

ActiveMQ MQTT Broker SSL配置疑问解答

步骤3:生成客户端证书/密钥库相关疑问

是否需要执行取决于你采用的SSL认证模式:

  • 若使用单向认证(仅客户端验证Broker身份,Broker不验证客户端):无需执行此步骤。
  • 若使用双向认证(Broker与客户端互相验证身份,安全性更高):需要执行,建议在Windows客户端本地完成(生成的client.ks是客户端专属密钥库,放在本地更安全;也可在Broker端生成后拷贝到客户端,但不推荐)。

步骤4:创建客户端信任库并导入Broker证书相关疑问

不管是单向还是双向认证,必须执行此步骤,且执行位置为Windows客户端。因为客户端需要信任Broker的证书,否则建立SSL连接时会因证书不被信任而失败。


后续SSL连接配置步骤

一、Broker端(Ubuntu)配置

  1. 编辑ActiveMQ核心配置文件conf/activemq.xml:
    • 添加MQTT SSL连接器,开启8883端口(MQTT SSL默认端口):
      <transportConnectors>
          <!-- 保留原有连接器,新增如下SSL连接器 -->
          <transportConnector name="mqtt+ssl" uri="mqtt+ssl://0.0.0.0:8883?trace=false&amp;transport.enabledProtocols=TLSv1.2,TLSv1.3"/>
      </transportConnectors>
      
    • 在<broker>标签外部添加SSL上下文配置,替换为你的实际路径和密码:
      <sslContext>
          <sslContext keyStore="file:/opt/activemq/broker.ks" keyStorePassword="你的密钥库密码" />
      </sslContext>
      
    (若采用双向认证,后续需补充信任库配置,见下文)
  2. 重启ActiveMQ服务使配置生效:
    sudo systemctl restart activemq
    

二、Windows客户端配置

场景1:单向认证

  1. 确保已在客户端完成步骤4,生成client.ts信任库。
  2. 在MQTT客户端(如MQTTX、Eclipse Paho)中配置连接参数:
    • 连接地址:ssl://[Broker服务器IP]:8883
    • 信任库路径:本地client.ts的完整路径
    • 信任库密码:创建信任库时设置的密码
    • 无需配置客户端密钥库相关参数

场景2:双向认证

  1. 完成客户端侧证书准备:
    • 已在客户端生成client.ks密钥库,且完成步骤4将Broker证书导入client.ts。
    • 在Windows客户端导出客户端证书:
      keytool -export -alias client -keystore client.ks -file client_cert
      
  2. Broker侧添加客户端信任配置:
    • 将导出的client_cert文件拷贝到Ubuntu Broker服务器。
    • 在Broker端创建信任库并导入客户端证书:
      keytool -import -alias client -keystore broker.ts -file client_cert
      
    • 修改activemq.xml的sslContext配置,补充信任库信息:
      <sslContext>
          <sslContext keyStore="file:/opt/activemq/broker.ks" keyStorePassword="Broker密钥库密码"
                      trustStore="file:/opt/activemq/broker.ts" trustStorePassword="Broker信任库密码" />
      </sslContext>
      
    • 重启ActiveMQ服务。
  3. 客户端连接配置:
    • 连接地址:ssl://[Broker服务器IP]:8883
    • 信任库路径:本地client.ts的完整路径
    • 信任库密码:创建信任库时设置的密码
    • 客户端密钥库路径:本地client.ks的完整路径
    • 客户端密钥库密码:生成client.ks时设置的密码

三、连接验证

使用Windows上的MQTT客户端工具配置好参数后发起连接,若成功建立连接则SSL配置生效。

内容的提问来源于stack exchange,提问作者sondavid2020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 06:40:21