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

如何确认npm MQTT包的MQTTS通信已启用SSL加密?

验证MQTT.js连接的SSL加密状态方法
  • 直接检查客户端底层Socket对象
    MQTT.js基于TLS套接字实现MQTTS,你可以通过client.stream访问这个底层对象,获取加密相关关键信息:

    • client.stream.encrypted:返回布尔值,true即代表当前连接处于加密状态
    • client.stream.getPeerCertificate():返回服务器证书的详细信息,包括颁发机构、有效期、域名匹配情况等,能直接确认证书是否正确生效
      示例代码:
    client.on('connect', () => {
      console.log('连接成功');
      // 验证加密状态
      console.log('当前连接是否加密:', client.stream.encrypted);
      // 查看服务器证书详情
      const serverCert = client.stream.getPeerCertificate();
      console.log('服务器证书信息:', serverCert);
    });
    
  • 监听TLS握手完成事件
    底层TLS套接字会在握手完成后触发secureConnect事件,监听这个事件可以确认加密连接的建立时机:

    client.stream.on('secureConnect', () => {
      console.log('TLS握手完成,加密连接已正式建立');
    });
    
  • 利用rejectUnauthorized特性反向验证
    你已经将rejectUnauthorized设为true且连接成功,这本身就说明客户端已信任服务器的SSL证书——如果证书无效(比如自签名未被信任、过期、域名不匹配),客户端会直接抛出证书验证错误并终止连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:37:03