而不是SDK直接调用azure提供rest来注册设备,然后注册它。
对rest的登记调用运行良好,但注册调用失败,出错。
“需要授权,使用所提供的密钥重新发送请求”
我使用fiddler如何使用sdk进行注册调用,并注意到sdk首先获得401与上述错误,然后它重新发出另一个成功的请求。
目前正在基于共享密钥名和azure dps的主密钥生成sas令牌。
我有windows应用程序,它将调用这个webapi,在一次调用中将enroll+register设备。我将注册I、tpmendoresmentkey、storagekey传递给api。此api在内部对azure rest进行2次httpclient调用:
请提供任何有助于理解解决问题的想法或提示。
发布于 2018-03-30 00:52:46
当我尝试注册TPM设备时,我可以复制这种行为。在投资了处理TPM设备寄存器的源代码之后,在我的选项中,这是一个设计上的特性。您可以参考下面的链接查看SDK,检查响应,并按响应返回键生成SAS令牌:
如果可能的话,我建议您使用Azuire IoT设备提供服务SDK,因为它对开发人员来说是真正的修道院。如果只能使用其余部分,则可以引用上面链接中的代码来生成SAS令牌,并使用该令牌发送寄存器设备重试请求。
https://stackoverflow.com/questions/49525029
复制