使用多个证书从 p12 获取公共和私人烫发

问题描述

我有一个 p12 文件,我想将其转换为私有和公共 pem 文件,以用于在 docker 中进行身份验证。

我使用以下命令创建了密钥:

openssl pkcs12 -in sourcefile.p12 -nocerts -out client.key -nodes

openssl pkcs12 -in sourcefile.p12 -nokeys -out client.cert.

但是,当我将这些证书插入 docker 时,它会抱怨私钥和公钥不匹配。

我认为问题在于我的 p12 里面有很多证书。当我查看 client.cert 时,我看到许多证书,每个证书都有包属性主题、颁发者和证书。

由于我的 p12 中只有一个私钥,并且 client.key 看起来正确,我尝试从私钥创建公钥:

openssl rsa -in client.key -pubout > client.cert

生成一个看似有效的公钥,以“BEGIN PUBLIC KEY”行开头。但是,当我尝试在 certs.d 中使用此密钥与 docker 进行身份验证时,出现以下错误

Error response from daemon: tls: Failed to find "CERTIFICATE" PEM block in certificate input after skipping PEM blocks of the following types: [PUBLIC KEY]

那个错误让我特别困惑,因为我认为 client.cert 的全部意义在于拥有一个公钥。

我应该如何将我的 p12 转换为我可以在 docker 的 cert.d 文件夹中设置的内容以进行身份​​验证?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)