使用命令列將自簽名憑證新增至受信任的根憑證存儲

使用命令列將自簽名憑證新增至受信任的根憑證存儲

有沒有辦法使用命令列將憑證新增至本機的受信任根憑證授權單位?我嘗試使用 certmgr.exe,它顯示成功,但是當我檢查根 CA 時,我在那裡看不到我的憑證。

我按照這裡的指南進行操作:

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

基本上嘗試這個指令:

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

該命令有效並在命令列上顯示成功,但我無法透過 mmc 在實際受信任的根儲存中看到證書,是否自簽名證書的過程不同?我已經設定了一個 IIS 伺服器,該伺服器使用 SSL 綁定到該證書,該證書最初放置在「我的」儲存中。但我透過自動腳本完成所有操作,所以我想知道如何使用命令列選項將此憑證新增至受信任的根 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“導入憑證-FilePath 'C:\path\Cert.Cer' -CertStoreLocation Cert:\LocalMachine\Root”

路徑位置需要有 ' 而不是 cmd 的 "

相關內容