根證書的安裝 如何安裝工行根證書


根證書的安裝 如何安裝工行根證書

文章插圖

我們在日常使用軟件和開發系統時 , 可能需要信任某個證書頒發機構(CA).根據之前PKI的最后一公里——數字證書和CA介紹的 , 也就是要將CA的根證書安裝在系統的”受信任的根證書頒發機構”里 。今天就介紹一下如何安裝 。
一、手工安裝
將CA的根證書(cer文件)拷貝到計算機上 , 右鍵選中——選擇”安裝證書” , 進入安裝向導 。

根證書的安裝 如何安裝工行根證書

文章插圖

選擇”下一步” , 彈出選擇證書存儲位置的對話框 。

根證書的安裝 如何安裝工行根證書

文章插圖

選擇”將所有的證書放入下列存儲” , 點擊”瀏覽” , 選擇”受信任的根證書頒發機構” 。如果需要計算機的所有用戶都信任此根證書 , 則應勾選”顯示物理存儲區” , 選擇”受信任的根證書頒發機構”下邊的”本地計算機” 。

根證書的安裝 如何安裝工行根證書

文章插圖

繼續點擊”下一步” 。

根證書的安裝 如何安裝工行根證書

文章插圖

【根證書的安裝 如何安裝工行根證書】單擊”完成” , 等上幾秒鐘 , 系統會彈出一個安全性警告對話框 , 再一次讓你確認是否安裝此根證書 。因為安裝了它 , Windows就會自動信任該CA頒發的所有證書 。

根證書的安裝 如何安裝工行根證書

文章插圖

到這個地步 , 你肯定是選擇”是”了 , 最后一個提示導入成功的對話框就不貼了 。
二、自動安裝
雖然手工安裝已經足夠簡單 , 但很多情況下仍需要自動安裝根證書 , 尤其是制作安裝程序時 , 讓小白用戶自己手工操作還是比較費神的 。自動安裝并不難 , 這里就用到之前介紹的CAPICOM , 示例代碼用JS實現 。
// 安裝根證書到受信任區域
function injectRootCert() {
var RootCA = “MIIFhDCCA2ygAwIBAgIILatn6sVawOQwDQYJKoZIhvcNAQELBQAwYDELMAkGA1UE” +”BhMCQ04xOTA3BgNVBAoMMEdsb2JhbCBEaWdpdGFsIEN5YmVyc2VjdXJpdHkgQXV0″ +”aG9yaXR5IENvLiwgTHRkLjEWMBQGA1UEAwwNR0RDQSBST09UIENBMTAeFw0xNzA2″ +”MTEwMjM4MDdaFw00MDEyMzExNTU5NTlaMGAxCzAJBgNVBAYTAkNOMTkwNwYDVQQK”
+”DDBHbG9iYWwgRGlnaXRhbCBDeWJlcnNlY3VyaXR5IEF1dGhvcml0eSBDby4sIEx0″ +”ZC4xFjAUBgNVBAMMDUdEQ0EgUk9PVCBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4IC”
+”DwAwggIKAoICAQCp94/vAI8pCXVZaklbOzgXqGJT/sGhYWBj5Gng1uEk2h9taXsO”
+”Z2+p4SpX6mD+o328btgeW1XO22INZfXw3XzPJBIBWX+JgXPGSBqUlQQCb0sHkxu8″
+”5f/zgXCorOGmUQ1spG+STPn1uOzw/txeTCveB88crh8tSYWgp6TNrtq21vzXNfTz”
+”QALleGezMZzcN8kLjAlxPDafi4nPtws3dFfAw0YsTzk2NaWwtDSZSP3QtPdzSgAw”
+”eUtG53LKwwf9Cq9mpLqiqXrwKIziUyLbuRiaFnTvy3ujf4P1FaGQr63fKtOWtEol” +”kWskqlP9ORjHMyXKwK+qWsLMQJh4jcQTZJsMTUNeZhIRd1Xby6+Vya3XurImAjm5″
+”1WAkoA/eENA0NgfZJuB7kqjaLyVgY0UnrsRBbiQ3JG7JKlemixParsxGTdQZc/UP”
+”AAqdwPCwxfM9VIM7pud8aBhdXAI4oXYv5/s15ml39nHqQhxsfYj52KGJgAlKlNBI”
+”Ir8+goOV94qtRC7drzF23fv5Aksumr5TVRHPeLj4nUU+R2H+DSqbxzHuEWeARrSv”
+”uvCyXHbOlRV5Y6rJuDyUA1YoiCGZv4vjv/jotx0y2C+YcziiRNpwk2g0UxC+rZdL”
+”Haj0Z5Qu9Gn6aN/L4CCFJBDWfqnJ+v7MvsCHvJ66TsLEOFs3FkP0fGIo4QIDAQAB” +”o0IwQDAdBgNVHQ4EFgQUvFm6wKzRW6W6ry8glX5hsF4AxCwwDwYDVR0TAQH/BAUw”
+”AwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBACKo4QAjIDLn”
+”znJ5szOC/3ck5qhxrkeomF21TwDOwmJpeITVref4TihsD3qr/d0A+ebQR7Utr+5V” +”QLoDFni/GgktxAVnb6y3IGkyMeR49WpspumNskd/7dJVeRWWbo+9bJ0lnz8Ag7JB”
+”r72H01vaJgg7F/hPyt6YsP90E9MWOdv34+wN/fjMOozGUbSVmMKDHWeIpVcKs1U3″
+”Ej33CLzJtCdILCCFKjGo98/mLM/U5IOCJaKtFmUjBhl4h+7gaxt/r1lFkMP/e6/s”
+”3M5UVKMHjQEvyoR2f0oo0q2ZKO9DGvPReQXQ3zgqrQdBfslV2DaSiAP20l+9CL8u”
+”oKqc3TLiKXGhwqJfArALAiLWXWeck7otk3sMLxgEccCAG7GDuJGlDwtHwEJIT/ay”
+”DwtVVmYs3kIUQNsLay9tBjCHT4CTIqzFmVjeo5nsHQksitN3t1R4maOZ+wGlwC0E”
+”LAmsB4Ybt5kTGKQZhmnGjSNJzfEO+m5RNm32Wq/fwX87+wTjtuXAJ4INXD6vyF8S”
+”VFni7dGnSBvu21GSrhPe4Dx3K9shgmnBkYY/IeOOuzVN6W8aWQ+QXRlxiayZYmfI”
+”Et5eVC/x4O6BxBWD4OEQWiuQTpFGjZrS4lv6DjozO0qDmP2HllN/OATZYHRAu47X”
+”eD7ZTwHfQqRQL3G7MUxcHtwTzFUX7WUI”;
// 存儲區對象
try {
var store = new ActiveXObject(“CAPICOM.Store”);
} catch (e) {
throw new Error(“無法創建CAPICOM的Store組件: ” + e.message);
}
// 證書對象
try {
var cert = new ActiveXObject(“CAPICOM.Certificate”);
} catch (e) {
throw new Error(“無法創建CAPICOM的Certificate組件: ” + e.message);
}
// 打開windows證書庫的受信任根證書存儲區
var CAPICOM_CURRENT_USER_STORE = 2;
var CAPICOM_ROOT_STORE = “Root”;
CAPICOM_STORE_OPEN_READ_WRITE = 1;
store.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_ROOT_STORE, CAPICOM_STORE_OPEN_READ_WRITE);
//證書對象導入根證書的BASE64數據
cert.Import(RootCA);
//將證書加入打開的證書存儲區
store.Add(cert);
}
代碼也很好懂 , 看注釋即可 。如果想針對計算機上的所有用戶 , 則store.Open的第一個參數選擇2(
CAPICOM_LOCAL_MACHINE_STORE) , 這就相當于手工安裝時選擇的”本地計算機” 。要說明的是 , 這里導入的是證書的BASE64編碼值 , 用記事本打開BASE64 編碼的cer文件 , 就可以看到值 。此外 , 執行上述JS代碼最后也會彈出對話框詢問用戶是否安裝證書 。但如果用VC/VB等高級語言調用CAPICOM同樣的接口 , 設置同樣的參數 , 完成證書安裝 , 則不會有提示框彈出 。
好了 , 現在你就可以在”受信任的根證書頒發機構”里看到所安裝的證書了 。