我正在学习本教程 ( https://learn.microsoft.com/en-us/azure/iot-dps/tutorial-group-enrollments ),其目标是在 Azure 配置服务中创建组注册并将模拟设备连接到它。创建组注册和证书后,我遇到了与签名证书不匹配相关的错误。这发生在教程“模拟设备”部分的第 7 步。
与错误相关的图像:
感谢您的帮助!
最佳答案
使用 Windows Powershell 创建证书时会出现问题。 简单的方法是使用 Git bash 并在 Windows 平台上使用 bash 命令生成证书。
您可以在这里做两件事:
在 DPS 注册列表中选择 CA 证书,并使用在 DPS 的“证书”选项卡中上传的根 CA 证书,而不是上传由根 CA 签名的中间 1 证书。 在模拟应用程序中添加设备证书 key 并运行它。它对我来说有效。尽管如果存在 Multi-Tenancy 情况并且您想使用中间证书,那么这不是正确的方法。
powershell 命令文件生成类似这样的证书链 RootCA->intermediate 1->intermediate 2->intermediate 3
因此中间证书 3 由中间证书 2 签名,中间证书 2 由中间证书 1 签名,然后由 Root 签名
此外,所有设备证书均由根 CA(根 CA-> 叶证书)签名,因此您会收到错误“中间证书与签名证书不匹配”。 您可以编辑该文件,转到函数 New-CACertsDevice(),在参数中将 $signingCertSubject 作为中间证书 1 的名称,即“Azure IoT CA TestOnly Intermediate 1 CA”
关于java - Azure物联网中心: "Signing certificate info did not match chain elements",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55797227/