証明書をFirefoxにインポートしましたが、PKCS12形式でエクスポートしたいと思います。私が見つける唯一のオプションはPKCS7、PEMおよびDIRです。 PKCS12ではありません。証明書に秘密鍵がないことを疑っているので、それを確認する方法はありますか?
編集私の問題は、証明書をリクエストしたときに使用したChromeブラウザにありました。秘密鍵の保存に問題があるようです。Firefoxでリクエストを繰り返しましたが、問題はありませんでした。 。
Firefoxで証明書の内容を表示できます
(Tools -> Options -> Advanced -> Encryption -> View Certs -> Yours/Authority/etc -> <cert> -> View -> Details -> Certificate Fields -> Public Key
)
PEMにエクスポートできる場合は、PKCS12に変換できます。
# export mycert.pem as PKCS#12 file, mycert.pfx
openssl pkcs12 -export \
-out mycert.pfx -in mycert.pem \
-name "My Certificate"
更新:OpenSSLの使用例
自己署名証明書を生成する
$ openssl req \
> -x509 -nodes -days 365 \
> -newkey rsa:1024 -keyout mycert.pem -out mycert.pem
内容を見る
$ openssl x509 -in mycert.pem -noout -text
PEMファイルを表示する
$ cat mycert.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDa6JQOLkwoIGhTvcTSYX68Ddaq4hGk/61RSVELaVFJTNQYPB86
…
aPj0KoeFJ04/sLcZNZwGcC93rNA66xTICLtGbBXlM1U=
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIICxTCCAi6gAwIBAgIJAOaxxgLFlypwMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNV
…
tz0TMEYxbGIscZbxeJxoK6pe5tOwXtdjStlcITzksdPV5rLp84aeJl4=
-----END CERTIFICATE-----
PEMファイルには秘密鍵と証明書の両方を含めることができますが、秘密鍵はX.509証明書の一部ではないことに注意してください。
FFによってエクスポートされたPEMにBase64でエンコードされたデータの周囲にBEGINマーカーとENDマーカーがない場合、OpenSSLはPEMファイルを読み取ることができません。
FirefoxからエクスポートしたCA証明書は次のとおりです(*メモ帳などで表示)
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
…
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----
(省略記号…簡潔にするためにデータを省略)
openssl x509 -in ff.crt -noout -text
(WindowsからLinuxにカットアンドペーストしましたが、Windowsにもopensslをインストールできます)
その証明書に対応する秘密鍵がないためです。
暗号化では、PKCS#12はバンドルされたキー形式であり、X.509証明書と一緒に秘密キーを格納するために一般的に使用されます。ウィキペディアの詳細情報 ここ を参照してください。
ブラウザにPKCS#12形式の秘密鍵がある場合にのみ、証明書をエクスポートできます。これは、キー署名証明書の生成に使用したのと同じコンピューターと同じブラウザー上にある必要があります。より明確な説明については、 CaCertのナレッジベースの記事 を参照してください。
"あなたのキーはキー" store "と呼ばれるものに含まれています。あなたはあなたのストアからファイルに公開/秘密キーペアをエクスポートし、オプションで(しかし強く推奨されます!)パスフレーズでそれらを保護します。これは通常、ブラウザ(Firefoxなど)の[証明書の管理]セクションに移動し、キーの「バックアップ」を実行することで実行されます。これにより、.P12または.PFXサフィックスが付いたファイルが作成されます。
」