我一直在使用设备配置服务来使用由 CA 机构签名的设备/叶证书来配置设备。 DPS(设备配置服务)服务在指定的 Iothub 中注册设备。
我注意到该设备的 IotHub 中的指纹与提供给 DPS(设备证书)的证书中的指纹不同。我想检查一下是否有人知道 DPS 是如何创建这些指纹的?
看起来如果设备使用同一 CA 签名的另一个/不同证书来连接到 Iothub,他们可以毫无问题地做到这一点。是否有一个设置可以检查个人指纹,或者身份验证是否仅基于拥有与 DPS 中相同的 CA 签署的证书?
非常感谢您的帮助。
指纹,也称为指纹或哈希,是从证书内容派生的唯一值。它通常用于识别证书并验证其完整性。指纹通常使用加密哈希函数生成。
代码取自git。
当您将 CA 签名证书与 DPS 结合使用时,DPS 将使用自签名身份验证将您的设备添加到 IoT 中心。但是,它使用 SHA256 指纹,而不是您可能习惯的 SHA1。 您可以使用以下命令通过 OpenSSL 查看 SHA256 指纹:
openssl x509 -noout -text -in <yourcert.pem> -fingerprint -sha256
IoT 中心将尝试 SHA1 指纹和 SHA256 指纹,因此它可以工作。