如何从根证书生成公共证书,私钥?

时间:2018-09-24 17:39:57

标签: ssl openssl azure-iot-hub azure-iot-edge

我有一个来自Linux服务器的根证书pem文件。需要连接到该服务器的应用程序告诉我,它需要一个publicCert pem文件和一个privateKey pem文件才能与服务器通信。

我是否从根证书生成这些证书?我的想法是,我将提供openssl到根证书的路径,然后将其转储出我想要的publicCert / privateKey。

我已经按照here所述在服务器上创建了证书。现在,我需要按照here的说明安装在下游设备上。

我需要使用的客户端连接输入需要以下参数:

connString: 'HostName=foo'
protocol: MQTT
publicKeyCertificateString: certificateString or path to certificate
privateKeyString: keyString or path to key

new DeviceClient(connString, protocol, publicKeyCertificateString, privateKeyString);
  • 证书格式:pem
  • 身份验证格式:x509

1 个答案:

答案 0 :(得分:0)

您只需要根CA证书在下游设备的信任库中可用。您似乎想做的是相互认证。 Azure IoT Edge当前不支持下游设备使用客户端证书(相互身份验证)进行连接。 (边缘设备仅支持对称密钥身份验证,但不支持x509证书身份验证)。为了使用MQTT发布消息,您需要为下游设备生成SAS令牌,然后使用它与iot集线器通信(边缘设备将充当透明网关)。

相关:c# Azure IOT Edge Auto-provision with Device Provisioning Service(DPS) with x509 certificate sample needed