Azure DPS与Azure IoT Edge的SAS令牌不匹配问题
排查DPS注册401002错误(SAS签名无效)的步骤
针对你遇到的DPS组注册对称密钥认证失败问题(错误码401002),以下是针对性的排查方向:
验证设备端派生密钥的正确性
组注册的对称密钥需要通过注册ID派生后才能在设备端使用,手动重新生成派生密钥并对比设备配置:echo -n <你的设备注册ID> | openssl dgst -sha256 -hmac <DPS组注册的主密钥> -binary | base64确保生成的密钥和设备
config.yaml中provisioning: symmetric_key的配置完全一致,注意不要包含多余的换行符或空格。核对DPS配置与设备参数的一致性
- 确认设备
config.yaml中的id_scope、registration_id与目标DPS的组注册信息完全匹配,无大小写或格式错误 - 检查DPS的全球端点是否正确:公共云为
global.azure-devices-provisioning.net,主权云(如中国区)需使用对应端点 - 确认DPS组注册的认证类型仍为对称密钥,未被误修改为X.509或其他类型
- 确认设备
检查时间同步状态
SAS签名的有效性依赖设备UTC时间与Azure服务器时间的同步(误差≤15分钟),执行以下命令验证设备时间:date -u若时间偏移过大,配置NTP服务同步时间。
排查密钥更新后的延迟问题
重新生成DPS组密钥后,Azure可能需要5-10分钟完成跨区域同步,等待足够时间后再测试注册。检查网络干扰
确认防火墙、代理未篡改设备发送的HTTP请求(尤其是Authorization头中的SAS Token参数),可通过抓包验证请求中的SAS Token是否包含正确的资源URI、过期时间和签名值。验证Azure Identity Daemon版本
对比两个环境的Azure Identity Daemon版本,若故障环境版本较旧,尝试升级至最新稳定版,排除已知的签名逻辑bug。
内容的提问来源于stack exchange,提问作者lalannou
相关产品推荐
相关产品推荐

