java - Azure物联网中心: "Signing certificate info did not match chain elements"

标签 java azure azure-iot-hub client-certificates azure-iot-hub-device-management

我正在学习本教程 ( https://learn.microsoft.com/en-us/azure/iot-dps/tutorial-group-enrollments ),其目标是在 Azure 配置服务中创建组注册并将模拟设备连接到它。创建组注册和证书后,我遇到了与签名证书不匹配相关的错误。这发生在教程“模拟设备”部分的第 7 步。

与错误相关的图像:

/image/Q5x8g.jpg

感谢您的帮助!

最佳答案

使用 Windows Powershell 创建证书时会出现问题。 简单的方法是使用 Git bash 并在 Windows 平台上使用 bash 命令生成证书。

您可以在这里做两件事:

  1. 在 DPS 注册列表中选择 CA 证书,并使用在 DPS 的“证书”选项卡中上传的根 CA 证书,而不是上传由根 CA 签名的中间 1 证书。 在模拟应用程序中添加设备证书 key 并运行它。它对我来说有效。尽管如果存在 Multi-Tenancy 情况并且您想使用中间证书,那么这不是正确的方法。

  2. 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/

相关文章:

java - 将大数据流式传输到 Apache Nifi 中的流文件,无需 OOM

java - 通过修改现有参数进行批处理

azure - Proton 与 azure iot hub amqp 端点的连接

linux - 涓流错误 :- failed:connection refused

JAVA:如何使用paint()方法更新之前绘制的对象?

java - 根据子字符串获取唯一的List元素

azure - 无法连接到本地 azure cosmosdb 模拟器

azure - 通过 Azure Powershell 禁用 AKS 节点池的自动缩放

c# - 使用 Pulumi 为 Azure 应用程序配置增加值(value)

c# - .NET Core 是否支持 Web 套接字?抛出“System.Net.WebSockets.WebSocketException 异常