developlink NuM
发布于

新增功能 (SSL证书可以远程配置添加了) 固件版本尾缀需要在143以上 例如 (6.136.143 6.213.143 4.127.143)

MQTTs / HTTPS SSL证书配置说明

适用:网关Web配置页面证书标签页,TLS1.2
证书文件格式均为 PEM文本格式
复制粘贴文件完整内容(包含-----BEGIN xxx----------END xxx-----全部内容)
底层逻辑说明:

  1. 网页表单填写的证书内容,网关内部会写入固定名称本地文件;固件优先检测是否存在ca.pem来判定单向认证逻辑。
  2. 双向认证场景,服务器证书数据输入框必须留空,一旦填入内容,程序会直接触发单向认证逻辑,双向认证失效
  3. 兼容脚本管理【增量下载】下发同名证书文件;网页表单与增量下载最终映射同一套内部文件,后执行操作覆盖原有文件。

一、单向认证(服务端证书校验,最常用,留空部分设备会自动删除文件)

单向认证:客户端校验服务器证书;不需要客户端证书与私钥

配置项 填入文件 说明
服务器证书数据 ca.pem内容 根CA证书,网关内部保存为ca.pem,校验云端/服务端证书合法性
客户端证书数据 留空 单向认证不填
客户端私钥加密数据 留空 单向认证不填
客户端私钥口令数据 留空 单向认证不填

✅ 操作要点:

  1. 打开ca.pem,复制全部文本;
  2. 粘贴到【服务器证书数据】输入框;
  3. 其余三个输入框全部留空
  4. 加密类型选择 TLS1.2,开启功能。

二、双向认证(服务端+客户端互相校验,高安全场景)

⚠️重要限制:服务器证书数据必须留空!一旦填写内容固件会判定为单向认证,双向认证功能失效
底层映射:
客户端证书数据 → 写入ca.crt(根CA证书,校验服务端)
客户端私钥加密数据 → 写入client_cert.crt(客户端公钥证书)
客户端私钥口令数据 → 填写私钥解密口令,无加密则留空

配置项 填入文件 说明
服务器证书数据 留空不填 填写会触发单向认证逻辑,双向认证失效
客户端证书数据 ca.crt内容 根CA证书,校验云端服务端合法性
客户端私钥加密数据 client_cert.crt内容 客户端公钥证书,服务端校验网关客户端身份
客户端私钥口令数据 client_key.key对应的私钥密码 私钥AES加密填写密码;明文私钥留空

✅ 操作要点:

  1. 【服务器证书数据】保持空白,不要粘贴任何内容
  2. 分别打开ca.crtclient_cert.crtclient_key.key,复制完整PEM内容,依次粘贴至:客户端证书数据、客户端私钥加密数据输入框;
  3. 如果client_key.key是加密私钥,在客户端私钥口令数据填写口令;明文私钥口令框留空;
  4. 加密类型选择 TLS1.2,开启功能。

三、本地下载证书文件:脚本管理页面增量下载证书文件(适合设备在旁边可以直接下载的,不限制固件版本)


网关兼容脚本管理增量下载证书,直接下发固定文件名到网关本地存储,和网页表单走同一套底层逻辑。

认证模式 需要的固定文件名(下载到网关本地) 对应网页配置项映射关系
单向认证 ca.pem 对应【服务器证书数据】,网页框填入内容/增量下载ca.pem,触发单向认证逻辑
双向认证 ca.crtclient_cert.crtclient_key.key 根证书ca.crt、客户端证书client_cert.crt、客户端私钥client_key.key; ❗双向认证不能在网关存放ca.pem文件,存在ca.pem固件会切换到单向认证;私钥口令仍然必须在网页填写

✅ 操作要点:

  1. 单向认证:根证书重命名为ca.pem;双向认证准备ca.crtclient_cert.crtclient_key.key双向严禁上传ca.pem
  2. 脚本管理页面添加证书文件,点击增量下载下发网关;>
  3. 网页证书页面加密类型选TLS1.2;双向模式服务器证书输入框务必留空,加密私钥需要网页填写口令。

冲突说明:

  1. 如果既网页粘贴内容,又增量下载证书文件:后执行的操作会覆盖网关内部对应证书文件
  2. 固件逻辑:检测网关本地是否存在ca.pem,存在则直接启用单向认证逻辑,双向认证不生效。

四、HTTP如何用浏览器导出证书(此处以谷歌浏览器,导出百度的证书为例)

  1. 浏览器里面输入http访问的链接例如百度,点击https前面的图标
  2. 点击证书有效
  3. 导出证书文件

五、常见踩坑与注意事项

  1. 文件后缀不代表格式
    .crt/.pem/.key只是后缀名,本质都是PEM文本;不要上传DER二进制文件,页面只接受PEM文本。>

转换命令(openssl)

# DER转PEM
openssl x509 -inform der -in ca.crt -out ca.pem
  1. 复制必须完整
    必须包含头部-----BEGIN CERTIFICATE-----和尾部-----END CERTIFICATE-----,漏行会直接TLS握手失败。
  2. 单向、双向核心区分点
  • 单向认证:填写【服务器证书数据】,生成/下载ca.pem,其余三项全部清空;
  • 双向认证:【服务器证书数据留空,网关内不能存在ca.pem文件】,填写客户端证书、客户端私钥。
  1. 私钥口令
    只有私钥文件AES加密过才填口令;普通明文私钥口令框留空,随意填写字符会握手报错。

六、快速故障排查

现象 大概率原因
TLS握手失败,连接不上 证书粘贴不全、使用DER二进制;双向模式服务器证书输入框填写了内容;双向模式网关内存在ca.pem文件触发单向逻辑
证书校验报错 根CA证书不对,或者服务端证书域名不匹配
双向认证握手失败 client_cert/client‑key不匹配,私钥口令错误;服务器证书输入框不为空;网关存在ca.pem
证书配置不生效 网页配置和增量下载先后执行发生覆盖;双向模式误生成ca.pem;查看网关日志确认证书加载状态
证书过期 检查证书有效期,重新签发证书

七、证书文件对应关系对照表

重点:固件检测ca.pem作为单向认证触发条件;双向认证不能出现ca.pem

场景 服务器证书数据 网页填入源文件 网关内部生成文件 私钥口令
MQTTs单向 填写 ca.pem ca.pem ❌不填
MQTTs双向 留空 ca.crt / client_cert.crt / client_key.key ca.crtclient_cert.crtclient_key.key 加密则填密码
HTTPS客户端双向 留空 ca.crt / client_cert.crt / client_key.key ca.crtclient_cert.crtclient_key.key 加密则填密码

提示:MQTTs、HTTPS的SSL证书在此页面配置,配置保存后网关会重启TLS相关连接;修改证书后观察网关日志,查看TLS握手日志确认是否正常。

关键总结:
单向认证:填写服务器证书,产生ca.pem
双向认证:服务器证书输入框必须留空,网关不能存在ca.pem,根证书填写到【客户端证书数据】输入框。

浏览(220)
点赞(1)
收藏
评论
暂无数据