我遵循这里的指示:https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway。
当我使用OpenSSL和‘’命令创建证书时,我最终得到了一个基于椭圆曲线的私钥,当我用消息配置边缘网关时,它会失败。
“目前只支持RSA”。
我在ca-certs.ps1中修改了脚本(将$useEcc var设置为$false)并重新运行。脚本成功了,但是现在脚本失败了,因为:
New-SelfSignd证书:无法将“'Microsoft.CertificateServices.Commands.Certificate‘”转换为参数“签名者”所需的System.Object[]类型。不支持指定的方法。
知道我做错了什么吗?
发布于 2017-12-20 07:33:42
我找到了一个答案,虽然我仍然不确定的根本原因。
这些步骤允许我创建有效的证书..。
我保留了我对新的CACertsCertChain所做的修改(上面提到过)。
我从机器证书商店删除了以前所有的证书。
然后我关闭了现有的PowerShell控制台并启动了一个新的管理控制台。
我从这里安装了OpenSSL:https://sourceforge.net/projects/openssl/ @这个目录: C:\utils\openssl\bin
我将环境路径设置为:$ENV:PATH += ";C:\utils\openssl\bin“
在那之后,我继续写文章的方向,它起了作用。我确实收到了关于找不到C:/OpenSSL/openssl.cnf的警告,但我忽略了它。
发布于 2017-12-20 07:51:43
我不认为你做错了什么。
看来powershell脚本有问题。好消息是,Azure IoT C SDK GitHub分支CACertToolEdge中的说明有一个修正,您可以同步并重试。
我在这里提出了一个问题:https://github.com/Azure/azure-iot-sdk-c/issues/337来纠正这个问题。
编辑:2018年1月9日:看起来脚本已经修复,您不应该遇到这个特定的问题。
https://stackoverflow.com/questions/47886995
复制相似问题