コマンドラインを使用して、ローカル コンピューターの信頼されたルート証明機関に証明書を追加する方法はありますか? 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証明書を手動でインストールする手順
- ファイルをダブルクリックします
.cer
。 - 上の証明書ダイアログボックスで、証明書をインストールする開始するには証明書インポートウィザード。
- 上のいらっしゃいませページをクリック次。
- 上の証明書ストアページ、選択すべての証明書を次のストアに配置するクリックブラウズ。
- の中に証明書ストアを選択ダイアログボックスで、実店舗を表示。
- ダブルクリック信頼されたルート証明機関、 選択するローカルコンピュータをクリックし、わかりました。
- 上の証明書ストアページをクリック次。
- 概要ページで詳細を確認し、仕上げる。
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 の " ではなく ' が必要です。