web-dev-qa-db-ja.com

証明書をMMCからPFXファイルとしてエクスポートするにはどうすればよいですか?

このガイド に従って、Comodoからコード署名証明書のKeySpecプロパティを変更しようとしています。このガイドでは、証明書ファイルをMMCにインポートし、後で再びエクスポートすることについて言及しています。しかし、PFXファイルとしてエクスポートするオプションがないようです。すでにPFXファイルを持っています。正常にインポートできますが、エクスポートに行くとオプションがグレー表示/無効になります。

pfx disabled

このエクスポートオプションを有効にするにはどうすればよいですか?

19
soapergem

証明書スナップインは、実際にはPFX証明書をエクスポートすることを好みませんが、PowerShellは喜んで提供します。 Export-PfxCertificate コマンドレットを使用できます。

  1. PowerShellプロンプトでcd cert:\と入力して、証明書の疑似ドライブに移動します。
  2. 証明書の場所に応じて、cd CurrentUserまたはcd LocalMachineを入力します。マシン証明書をエクスポートするには、管理者としてPowerShellを起動する必要がある場合があります。
  3. cdを適切なストアに入れます(dirが役立つ場合があります)。 MMCの個人ストアは、ここではMyと呼ばれます。
  4. dirを使用して、必要な証明書に対応するIDを識別します。
  5. 次のコマンドを入力して、パスワード付きのPFXとしてエクスポートします。

    Export-PfxCertificate -Cert .\LONGSTRINGOFHEX -FilePath 'C:\path\to\outfile.pfx' -Password (ConvertTo-SecureString -String 'password' -AsPlainText -Force)
    

    LONGSTRINGOFHEXは、証明書のIDに置き換える必要があります。幸い、タブ補完を使用できます。

このコマンドを実行すると、指定したパスワードで保護されたPFX証明書が得られます。 PowerShellは、パスワードなしで証明書の秘密鍵をエクスポートすることを拒否し、パスワードを空白にすることはできません。それにもかかわらず、あなたのPFXはアウトです。

29
Ben N

証明書をWebHostingストアにインポートする場合、秘密キーをエクスポートすることはできません。個人用ストアに移動すると、PFXとしてエクスポートできます。コマンドラインに移動してExport-PfxCertificateを使用しなくても、Windows 2012R2でこれを行うことができました(これは、私の命を救うために証明書のIDを理解できなかったので苦痛です)。

0
MC9000