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

升级azure-iot-sdk-c至LTS_07_2021_Ref01后证书验证失败需新增编译参数吗

解决方案

根因

Azure IoT服务2021年第二季度完成根证书迁移,原有Baltimore根证书正式替换为DigiCert Global Root G2根证书。LTS_07_2021_Ref01版本SDK对应服务端已默认使用新根证书,当前编译参数中-Duse_baltimore_cert=ON仅内置旧根证书,无法匹配服务端证书链,因此触发TLS证书验证失败。

调整方案

不需要新增额外编译参数,仅需调整现有参数即可解决:

  • 将-Duse_baltimore_cert=ON替换为-Duse_digicert_g2_root_cert=ON,让SDK内置新版DigiCert G2根证书用于服务端校验
  • 若需兼容旧服务端点,可保留-Duse_baltimore_cert=ON同时新增-Duse_digicert_g2_root_cert=ON,让SDK同时内置两个根证书
  • 同步校验设备系统时间,时间偏差超出证书有效期范围也会触发相同验证错误
  • 若使用自定义证书链,可将-Duse_sample_trusted_cert=ON改为OFF,在客户端初始化时手动传入可信根证书内容即可

验证

调整参数后重新编译SDK,测试预配服务连接逻辑,TLS握手成功即可正常完成设备注册,不会再抛出证书验证异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:12:05