使用自定义 HSM 进行配置时设置 deviceID

setting deviceID when provisioning with custom HSM

我正在尝试制作基于 X509 证书的组注册原型,而不是仅针对一台设备(默认情况下 dice_device_enrollment 会提供),而是针对多台设备,而且据我了解,我将需要实现我自己的自定义 HSM 库。虽然后者的大部分看起来很简单,但我在设置 deviceID 时遇到了困难。该文件说如下:

custom_hsm_get_common_name

char* custom_hsm_get_common_name(HSM_CLIENT_HANDLE handle);

    Retrieves the common name from the x509 certificate. 
    Passed to the Device Provisioning Service as a registration Id.

我的困难是 - 如果 "registration ID" 是 deviceID,并且 X509 证书只有一个通用名称,我应该如何在一个组中配置多个设备?或者,还有其他设置 deviceID 的方法吗?目前通过分析hsm_client_riot.c的代码我看不到。

只是为了关闭这个。自 2019 年 7 月以来,发布了适用于 Python 的新版 Azure IoT SDK,它比旧版 SDK(我指的是旧版)更好地处理设备配置。这个问题现在已经过时了。使用新的 SDK。