有沒有辦法使用命令列將憑證新增至本機的受信任根憑證授權單位?我嘗試使用 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 憑證的手動步驟
- 雙擊該
.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“導入憑證-FilePath 'C:\path\Cert.Cer' -CertStoreLocation Cert:\LocalMachine\Root”
路徑位置需要有 ' 而不是 cmd 的 "