以编程方式为Azure设备设置服务(DPS)中的组注册重新生成密钥

yuvru6vn  于 2023-01-14  发布在  其他
关注(0)|答案(1)|浏览(114)

我想以编程方式在Azure DPS的组注册中重新生成对称密钥(主密钥和辅助密钥),链接中有Azure提供的API。我使用了此github repo并能够运行它。
我使用了API,但返回404未找到。我使用了提到的github repo,并能够获得注册组的示例。现在我想要一种方法来重新生成当前组的密钥,但似乎没有允许此操作的函数。一种方法是更改重做证明,作为回报,它将更改对称密钥,但我还没有找到方法。
如果有人能帮我,那就太好了。

qnakjoqk

qnakjoqk1#

没有专门用于重新生成组注册密钥的API。但是,您可以使用CreateOrUpdateEnrollmentGroupAsync方法来更新现有注册组,从而传入一组新密钥。请参阅:https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.devices.provisioning.service.provisioningserviceclient.createorupdateenrollmentgroupasync?view=azure-dotnet&viewFallbackFrom=azure-dotnet-preview您需要生成新的对称密钥,以作为EnrollmentGroup参数的一部分传入。
下面的示例显示了将此方法用于使用X.509证书的注册组的示例,但是您应该能够轻松地将其修改为使用对称密钥:https://github.com/Azure/azure-iot-sdk-csharp/tree/main/provisioning/service/samples/getting%20started/EnrollmentGroupSample
要在Python中生成合适的键,可以使用以下代码:

from hashlib import sha256
from base64 import b64encode
s = 'mysecretkeyfordps'
h = sha256()
h.update(s.encode())
b64bytes = b64encode(h.digest())
print(b64bytes.decode())

相关问题