我有来自 cacert.org 的电子邮件地址的客户端证书,并且已成功将它们存储为 PKCS12 文件并使用它们在 Thunderbird 中签署电子邮件。
但是,当有人使用我签名的电子邮件向我发送加密回复时,我无法解密。Thunderbird 告诉我我没有私钥,而回想起来,我从未在此过程中创建过私钥。虽然,如果 CA 向我发送私钥,这对我来说似乎很奇怪,但这似乎不太可能。
由于只有我可以创建私钥,并且 CA 为我提供了证书,那么我该如何为证书创建匹配的密钥呢?我觉得很奇怪的是,我认为我真的不应该这样做。我不应该有一对私钥-公钥,并且我的公钥经过认证吗?
ssh-keygen
我使用的是 Linux(Ubuntu Precise),我以前在不同环境下使用过openssl
。如果能提供一份不仅仅涉及我的设置的一般性说明,我将不胜感激。
答案1
您可以使用以下命令从 PKCS#12 文件中提取私钥:
openssl pkcs12 -nocerts -nodes < MyPKCS12file.p12 > myKeyFile.pem