如何从根证书颁发机构 pem 文件生成 x509 证书/密钥对

如何从根证书颁发机构 pem 文件生成 x509 证书/密钥对

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

我的理解是,我目前拥有的根证书可以生成“n”个证书作为中间证书。问题是,我很难让 openssl 做我想做的事情,所以我的问题是,我该如何生成这些证书?我的想法是,我将根证书的路径提供给 openssl,然后它会转储出我想要的 publicCert/privateKey。

我已经按照说明在服务器上创建了证书这里。现在我需要按照说明在下游设备上进行安装这里

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

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

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

答案1

除非您运行根证书颁发机构 (CA),否则您无法使用根证书生成任何证书。您拥有的可能是根“公共”证书,而不是由 CA 控制的“私有”密钥。您只能使用根私钥生成中间证书。

如果您能按照您的建议去做,那么世界上任何人都可以自己生成证书,并将其链接到受信任的根 CA,这违背了根 CA 的目的。

相关内容