我想点击服务器的REST端点,比如xyz.com。他们提供了PEM格式的证书,我应该在连接到他们的端点时将其包含在我的应用程序中。
我的应用程序是在Spring Framework上编写的,我需要将PEM转换为P12格式,因为Spring不接受PEM。这就是我转换的方式:
openssl pkcs12 -export -out certificate.p12 -inkey private.pem -in server_cert.pem
其中,
certificate.p12 =生成的p12文件
private.pem =私钥
server_cert.pem =服务器的证书文件
我得到的错误是:
没有证书与私钥匹配。
现在我的问题:
我是新手,因此欢迎任何链接/建议阅读/来源/答案。
答案 0 :(得分:1)
如果你看一下client-authentication如何运作,在谈判阶段'中,最后一点的第二点说:
客户端发送 CertificateVerify 消息,该消息是使用客户端证书的私钥对先前握手消息的签名。可以使用客户端证书的公钥来验证此签名。这使服务器知道客户端可以访问证书的私钥,从而拥有证书。
所以回答你的问题:
使用私钥和证书链构建p12时可能会丢失某些内容或发生微不足道的错误,这会导致失败。如果它没有成功,你也可以通过编程方式使用KeyStore
api构建p12。