web-dev-qa-db-ja.com

FirefoxからPKCS12形式で証明書をエクスポートする

証明書をFirefoxにインポートしましたが、PKCS12形式でエクスポートしたいと思います。私が見つける唯一のオプションはPKCS7、PEMおよびDIRです。 PKCS12ではありません。証明書に秘密鍵がないことを疑っているので、それを確認する方法はありますか?

編集私の問題は、証明書をリクエストしたときに使用したChromeブラウザにありました。秘密鍵の保存に問題があるようです。Firefoxでリクエストを繰り返しましたが、問題はありませんでした。 。

5
Tarek

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をインストールできます)

4
RedGrittyBrick

その証明書に対応する秘密鍵がないためです。

暗号化では、PKCS#12はバンドルされたキー形式であり、X.509証明書と一緒に秘密キーを格納するために一般的に使用されます。ウィキペディアの詳細情報 ここ を参照してください。

ブラウザにPKCS#12形式の秘密鍵がある場合にのみ、証明書をエクスポートできます。これは、キー署名証明書の生成に使用したのと同じコンピューターと同じブラウザー上にある必要があります。より明確な説明については、 CaCertのナレッジベースの記事 を参照してください。

"あなたのキーはキー" store "と呼ばれるものに含まれています。あなたはあなたのストアからファイルに公開/秘密キーペアをエクスポートし、オプションで(しかし強く推奨されます!)パスフレーズでそれらを保護します。これは通常、ブラウザ(Firefoxなど)の[証明書の管理]セクションに移動し、キーの「バックアップ」を実行することで実行されます。これにより、.P12または.PFXサフィックスが付いたファイルが作成されます。

3
miklosq