コマンドラインを使用して信頼されたルート証明書ストアに自己署名証明書を追加する

コマンドラインを使用して信頼されたルート証明書ストアに自己署名証明書を追加する

コマンドラインを使用して、ローカル コンピューターの信頼されたルート証明機関に証明書を追加する方法はありますか? certmgr.exe を使用してみましたが、成功と表示されましたが、ルート CA を確認すると、証明書が表示されません。

私はここのガイドに従いました:

http://msdn.microsoft.com/en-us/library/ms172241.aspx

基本的にこのコマンドを試します:

certmgr.exe -add -c mycertificate.cer -s -r localMachine root

コマンドは機能し、コマンド ラインで成功が表示されますが、MMC 経由で実際の信頼されたルート ストアに証明書が表示されません。自己署名証明書の手順が異なるのでしょうか? 元々「MY」ストアに配置されているこの証明書に SSL バインドする IIS サーバーをセットアップしました。ただし、すべてを自動化されたスクリプトで実行しているので、コマンド ライン オプションを使用してこの証明書を信頼されたルート CA に追加する方法を知りたいです。

答え1

手動で試しましたか(CERファイルをダブルクリックして)?手動でも機能しない場合は、次のような問題が発生している可能性があります。Vistaのバグ

コマンドライン (cmd.exe) からルート CA 証明書をインストールする

(これには Windows SDK が必要です。Visual Studio によってインストールされ、 に追加されます%PATH%。)

certmgr /add /c mycertificate.cer /s /r localMachine root

エラーは報告されないことに注意してください。コマンドは常に成功を返します (証明書に存在しないファイルを使用する場合でも)。certmgr.mscこのコマンドを実行した後、証明書が証明書マネージャー ( ) に表示されない場合は、以下の手動の手順を使用してプロセスを繰り返し、証明書ファイルにエラーがないかどうかを確認してください。

ルートCA証明書を手動でインストールする手順

  1. ファイルをダブルクリックします.cer
  2. 上の証明書ダイアログボックスで、証明書をインストールする開始するには証明書インポートウィザード
  3. 上のいらっしゃいませページをクリック
  4. 上の証明書ストアページ、選択すべての証明書を次のストアに配置するクリックブラウズ
  5. の中に証明書ストアを選択ダイアログボックスで、実店舗を表示
  6. ダブルクリック信頼されたルート証明機関、 選択するローカルコンピュータをクリックし、わかりました
  7. 上の証明書ストアページをクリック
  8. 概要ページで詳細を確認し、仕上げる

PowerShellからルートCA証明書をインストールする

下記の @harrymc の素晴らしい回答をご覧ください。

答え2

PowerShellコマンド 輸入証明書 証明書をインポートするために使用できます:

Import-Certificate -FilePath "C:\path\Cert.Cer" -CertStoreLocation cert:\CurrentUser\Root

コマンドプロンプト (またはバッチ) で実行するには、次のように実行します。

powershell "Import-Certificate -FilePath ^"C:\path\Cert.Cer^" -CertStoreLocation cert:\CurrentUser\Root"

上記のエスケープ文字の使用に注意してください^

利用可能なすべての証明書ストアを一覧表示するには、PowerShell セッションを開始して次のように入力します。

dir cert:\\LocalMachine\

答え3

Powershell "Import-Certificate -FilePath 'C:\path\Cert.Cer' -CertStoreLocation Cert:\LocalMachine\Root"

パスの場所には、cmd の " ではなく ' が必要です。

関連情報