OS - Windows 10
.net Environment - .net core 2.1
SDK - Microsoft.Azure.Devices.Client - 1.21.0
Microsoft.Azure.Devices.Provisioning.Client - 1.4.0
Microsoft.Azure.Devices.Provisioning.Transport.Amqp - 1.1.9
Microsoft.Azure.Devices.Provisioning.Transport.Http - 1.1.6
Microsoft.Azure.Devices.Provisioning.Transport.Mqtt - 1.1.8
问题描述
我正在尝试通过azure Device Provisioning Service将模拟设备(.net核心控制台应用程序)连接到IOT集线器。这是基于x.509证书(根+中间证书)的。
我创建了确定的注册组,然后上传了根证书并完成了验证。
之后,从根证书生成了设备证书,并尝试使用以下链接中的示例代码连接到IOT集线器:
https://github.com/Azure-Samples/azure-iot-samples-csharp/tree/master/provisioning/Samples/device/X509Sample
在完成所有设置后,当我尝试连接到IOT bub时,出现以下错误,尝试了所有协议-Amqp,Http,Mqtt ...
Microsoft.Azure.Devices.Provisioning.Client.ProvisioningTransportException
HResult=0x80131500
Message={"errorCode":401002,"trackingId":"408d5ad7-aa7c-45a1-b19a-e4af41ccf54b","message":"CA certificate not found.","timestampUtc":"2019-08-23T09:17:53.762099Z"}
Source=<Cannot evaluate the exception source>
StackTrace:
<Cannot evaluate the exception stack trace>
以下是设备客户端与证书的输入:
private static string s_idScope = "0ne00074417";
private const string GlobalDeviceEndpoint = "global.azure-devices-provisioning.net";
private static string s_certificateFileName = "simulateddevicecert.pfx";
安装程序中是否缺少任何导致此错误的信息?另外,Azure DPS是否公开了任何REST API来注册设备? (而不是使用Azure设备/客户端SDK)