在Azure IoT SDK for C中使用X.509证书

在Azure IoT SDK for C中使用X.509证书,c,authentication,x509,azure-iot-hub,azure-iot-sdk,C,Authentication,X509,Azure Iot Hub,Azure Iot Sdk,我正在我的设备上使用C Azure IoT SDK通过MQTT与我的Azure IoT中心通信 使用对称密钥身份验证,一切都可以完美地工作。我可以在集线器上创建一个设备,将连接字符串复制到我的设备应用程序代码中,一切正常 但是,我希望使用X.509证书进行身份验证,因为它更安全。在集线器上创建设备时,可以选择自签名或CA签名选项。此时不会生成连接字符串 但是,Azure IoT C SDK附带的示例设备应用程序代码在创建设备句柄时始终使用以下函数,即使在iothub_ll_client_x509

我正在我的设备上使用C Azure IoT SDK通过MQTT与我的Azure IoT中心通信

使用对称密钥身份验证,一切都可以完美地工作。我可以在集线器上创建一个设备,将连接字符串复制到我的设备应用程序代码中,一切正常

但是,我希望使用X.509证书进行身份验证,因为它更安全。在集线器上创建设备时,可以选择自签名或CA签名选项。此时不会生成连接字符串

但是,Azure IoT C SDK附带的示例设备应用程序代码在创建设备句柄时始终使用以下函数,即使在iothub_ll_client_x509_sample.C中也是如此:

这在使用X.509身份验证方法时不起作用,因为没有任何连接字符串

有人知道我如何解决这个问题吗?如何连接?有很多关于在集线器上注册证书等的信息,但没有关于如何使用C SDK进行连接的信息

您所看到的应该向您展示如何使用X.509证书。连接字符串(参见第55行)如下所示:

"HostName=<host_name>;DeviceId=<device_id>;x509=true" 
“主机名=;设备ID=;x509=true”
该示例还向您展示了如何包含X.509证书和密钥。

您正在查看的示例应向您展示如何使用X.509证书。连接字符串(参见第55行)如下所示:

"HostName=<host_name>;DeviceId=<device_id>;x509=true" 
“主机名=;设备ID=;x509=true”
该示例还向您展示了如何包含X.509证书和密钥