Azure IoT Hub中DPS设备证书指纹生成及认证规则咨询
关于Azure DPS预配设备的指纹与认证机制问题
一、DPS生成IoT Hub设备指纹的方式
IoT Hub中显示的设备指纹,是DPS提取设备叶子证书的公钥部分计算出的SHA-256哈希值(Base64编码格式),而非整个证书文件的哈希。
多数用户出现指纹不一致的情况,是因为直接计算了整个证书的哈希,而非公钥部分。你可以用OpenSSL命令验证正确的指纹:
# 提取证书公钥并计算SHA-256哈希(Base64编码) openssl x509 -in device-leaf-cert.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl base64
执行该命令得到的结果,会和IoT Hub设备详情页显示的指纹完全一致。
二、IoT Hub的设备认证校验逻辑
当你在DPS中使用CA证书注册组完成预配时,IoT Hub的认证是基于CA信任链的,而非单个设备证书的指纹:
- 只要设备持有的证书是由DPS中已注册的根CA/从属CA签发,且证书状态有效(未过期、未被吊销),就能通过认证连接IoT Hub。
- 若需要限制仅特定指纹的设备能连接,需在DPS中创建单个设备注册项,绑定该设备证书的指纹(公钥哈希)。这种情况下,只有匹配该指纹的设备会被预配到IoT Hub,且IoT Hub仅接受该特定证书的连接请求。
内容的提问来源于stack exchange,提问作者user6090970
相关产品推荐
相关产品推荐

