iT邦幫忙

3

沒有 AD server 如何在每台電腦上,點二下就可以匯入.pem憑證

wm19 2013-09-18 16:48:133930 瀏覽

匯入時要放在「受信任的根憑證授權單位」
憑證檔案是SSL_CA.pem
憑證存放路徑c:\SSL_CA.pem
程式碼是用AutoIt寫的
http://www.autoitscript.com/
不支援win2000
支援XP,win7
win8沒有測試過
59行及62行是要決解重覆執行時停止不動的問題
此功能我是為了解決Cyberoam 賽博龍憑證匯入所寫的
也可參考這相關的憑證匯入
http://msdn.microsoft.com/zh-tw/library/ff720207.aspx
http://msdn.microsoft.com/zh-tw/library/e78byta0.aspx

Opt("MouseClickDelay", 500);毫秒
Opt("SendKeyDelay", 500);毫秒
Opt("WinWaitDelay", 500);毫秒
Dim $var1
$var1 = @OSVersion ;作業系統版本檢查
Send("#d")  
MsgBox(0, "網站憑證更新", "當各位看到此訊息時,請先停下手邊的動作。" &@LF &"等待程式更新完成,程式會在6秒後自動執行。", 6)

If $var1 = "WIN_7" Then
	 today()
ElseIf $var1 = "WIN_8" Then
	today()
ElseIf $var1 = "WIN_XP" Then
	 today()
ElseIf $var1 =  "WIN_2000" Then
	MsgBox(0, "", "不支援win2000",2)
	 Exit
Else
   MsgBox(0, "", "無法辦別或不支援",2)
EndIf

Func today() 
	ShellExecute("certmgr.msc") ;執行程式
	Sleep(2000) ;2秒	
	Select
    Case $var1 =  "WIN_XP"
        WinWaitActive("憑證") 
    Case $var1 =  "WIN_7"
        WinWaitActive("certmgr - [憑證 - 目前的使用者]") ;等待視窗出現
    Case $var1 =  "WIN_8"
		WinWaitActive("certmgr") 
	Case Else
		MsgBox(0, "", "找不到視窗",2)
		Exit
	EndSelect 
	
	Send("{DOWN 2}");向下2次
	
	Send("{RIGHT}");向右
	
	Send("{DOWN}");向下
	
	Send("{APPSKEY}");應用程式鍵
	
	Send("{K}");K鍵
	
	Send("{I}");I鍵
	
	Send("!N");下一步ALT+N
	WinWaitActive ("憑證匯入精靈","檔案名稱");等待視窗出現
ControlSetText("憑證匯入精靈", "", "Edit1", "c:\SSL_CA.pem" );依實際改路徑
	
	Send("!N");下一步ALT+N
	
	Send("!N");下一步ALT+N
	
	Send("{ENTER}");碓定
	
	MouseClick("left", 453, 351, 1)
	WinWaitActive ("安全性警告","",2);等待視窗出現
	Send("!Y");下一步ALT+Y
	MouseClick("left", 453, 351, 1)
	WinWaitActive ("憑證匯入精靈");等待視窗出現
	Send("{ENTER}");碓定
	
	Send("!{F4}") ;ALT+F4
	return 
	
EndFunc	

尚未有邦友留言

立即登入留言