我一直在关注本教程(https://docs.microsoft.com/en-us/azure/iot-dps/tutorial-group-enrollments),该教程的目的是在Azure Provisioning Service中创建组注册并将模拟的设备连接到它。创建组注册和证书后,我陷入了与签名证书不匹配相关的错误。这发生在本教程“模拟设备”部分的第7步。
与错误有关的图片:
感谢您的帮助!
答案 0 :(得分:0)
使用Windows Powershell创建证书时出现问题。 简单的方法是在Windows平台上使用Git bash并使用bash命令生成证书。
您可以在此处做两件事:
在DPS注册列表中选择CA证书,并使用在DPS的“证书”选项卡中上载的Root CA证书,而不是上载由Root CA签名的中间1证书。 在模拟的应用程序中添加设备证书密钥并运行它。就我而言,它奏效了。尽管在存在多租户情况并且您要使用中间证书的情况下,这样做不是正确的方法。
powershell命令文件生成证书链,例如RootCA-> intermediate 1-> intermediate 2-> intermediate 3
所以中间证书3由中间2签名,中间2由中间1签名,然后由Root签名
所有设备证书也都由根CA(根CA->叶证书)签名,因此您将收到错误消息“中间证书与签名证书不匹配”。 您可以编辑文件,转到参数中的函数New-CACertsDevice(),以$ signingCertSubject作为中间证书1的名称,该证书将为“ Azure IoT CA TestOnly中间1 CA”