从 Firefox 导出 PKCS12 格式的证书

Tar*_*rek 5 firefox google-chrome certificate

我已经将证书导入到firefox 中,我想将其导出为PKCS12 格式。我找到的唯一选项是 PKCS7 、 PEM 和 DIR。而不是 PKCS12。我怀疑证书没有私钥,所以有办法检查吗?

编辑我的问题出在 Chrome 浏览器中,我在请求证书时使用了它。好像是存储私钥有问题。我用 Firefox 重复了这个请求,一切顺利。

Red*_*ick 4

您可以在 Firefox 中查看证书内容
\n ( Tools -> Options -> Advanced -> Encryption -> View Certs -> Yours/Authority/etc \n -> <cert> -> View -> Details -> Certificate Fields -> Public Key)

\n\n

如果您可以导出到 PEM,则可以将其转换为 PKCS12

\n\n
# export mycert.pem as PKCS#12 file, mycert.pfx\nopenssl pkcs12 -export \\\n  -out mycert.pfx -in mycert.pem \\\n  -name "My Certificate"\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

更新:使用 OpenSSL 的示例

\n\n

生成自签名证书

\n\n
  $ openssl req \\\n  >   -x509 -nodes -days 365 \\\n  >   -newkey rsa:1024 -keyout mycert.pem -out mycert.pem\n
Run Code Online (Sandbox Code Playgroud)\n\n

查看其内容

\n\n
  $ openssl x509 -in mycert.pem -noout -text\n
Run Code Online (Sandbox Code Playgroud)\n\n

查看PEM文件

\n\n
  $ cat mycert.pem\n  -----BEGIN RSA PRIVATE KEY-----\n  MIICXAIBAAKBgQDa6JQOLkwoIGhTvcTSYX68Ddaq4hGk/61RSVELaVFJTNQYPB86\n  \xe2\x80\xa6\n  aPj0KoeFJ04/sLcZNZwGcC93rNA66xTICLtGbBXlM1U=\n  -----END RSA PRIVATE KEY-----\n  -----BEGIN CERTIFICATE-----\n  MIICxTCCAi6gAwIBAgIJAOaxxgLFlypwMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNV\n  \xe2\x80\xa6\n  tz0TMEYxbGIscZbxeJxoK6pe5tOwXtdjStlcITzksdPV5rLp84aeJl4=\n  -----END CERTIFICATE-----\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,虽然 PEM 文件可以同时包含私钥和证书,但私钥不是 X.509 证书的一部分。

\n\n

如果 FF 导出的 PEM 缺少 Base64 编码数据周围的 BEGIN 和 END 标记,则 OpenSSL 无法读取 PEM 文件。

\n\n

这是我从 Firefox 导出的 CA 证书(*在记事本等中查看)

\n\n
-----BEGIN CERTIFICATE-----\nMIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG\n\xe2\x80\xa6\nHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\n-----END CERTIFICATE-----\n
Run Code Online (Sandbox Code Playgroud)\n\n

(省略号 \xe2\x80\xa6,其中为简洁起见省略了数据)

\n\n

我可以使用查看 OK openssl x509 -in ff.crt -noout -text(我从 Windows 剪切并粘贴到 Linux,但你也可以在 Windows 上安装 openssl)

\n