測試環境:
OS : Windows98 SE 簡體中文版
App : Excel 2000 簡體中文版
對于Excel中包含VBA的文檔,大家最恐懼的一件事情便是是否病毒,因此往往把Excel安全級別設置為"中",即對不可靠的來源提醒用戶是否啟動宏。而對于VBA開發人員來說,最想做的就是使Excel程序啟動時不出現提示框,直接進入(在安全級別為中的情況下),如何做到呢?
這時數字簽名就派上用場了!
準備工作:
1. 數字簽名僅在安裝了 Microsoft Internet Explorer 4.0 或其后續版本的計算機上有效。
2. 您需要定制安裝Excel,選擇數字簽名一項。
步入正題:
如果您定制安裝Excel,并選擇了數字簽名一項,則在Office的安裝目錄下會出現一個新文件 "Selfcert.exe" ,雙擊它,再打開的窗口中輸入的名稱即可,這時您已經做了一個數字證書。
在Excel環境中按 ALT+F11 打開VBE編輯器,[工具]-[數字簽名]-[選擇],選擇新建的數字證書。
保存文件。
對于開發者來說主要工作已經做完。對于用戶一方要做的就是在第一次打開含有此數字簽名的文檔時,選擇"永遠相信源于此的宏"。這樣只要是用此證書簽名的文檔都會被認為是可靠來源,以后也不會再出現"是否啟動宏"的對話框了。
大致原理即是這樣。
那么為什么用戶第一次打開文檔時還會出現"是否啟動宏"的對話框呢?這是因為數字簽名只是對用戶身份加以確認,而對數據本身并不進行加密,因此該工作薄還有可能帶有病毒。
進一步探討:
為什么添加數字簽名需要 IE 支持呢?這是因為,之所以有數字證書技術,是由于網絡信息安全性的日益重視而引起,它的主要作用就是驗證通信雙方的身份,這在電子商務、政府等領域是十分重要的。而IE就支持這樣的技術。而Microsoft卻把這一特性引入了Excel,真可以說Microsoft為用戶想得非常周到(也可能是由于Excel文檔可以在Internet上共享的緣故)。
讓您有個感性的認識:打開IE屬性對話框,在[內容]標簽中有一個[認證]按鈕,點擊它就會打開證書管理器。在這里您可以管理您的證書。
對于VBA開發人員來說,可能會有這樣的問題,如果這個人在另一臺機器上開發了另一個產品(比如這個人的家中有一臺計算機),且這個產品是針對同樣的用戶,而又要進行數字簽名,是不是必須把這個文檔Copy到有證書的那臺機器上呢?不必!在剛才的IE選項中,選擇您的證書,點擊導出,這樣證書就會以文件的形式導出。您只要把這個導出的文件分發到您要工作的任何計算機上并安裝即可。
關于安裝導出的證書文件,一種方法是直接雙擊該文檔,二是通過剛才IE選項對話框中的"導入"按鈕,然后按照向導來完成。
如果您想刪除某一數字證書,該如何操作呢?對開大部分類型的數字證書可以直接通過數字證書管理器的"刪除"來完成。不過有些數字證書在這里是看不到的,不要緊,點擊Windows的開始菜單,點擊"運行",鍵入"Regedit",回車。這時便打開了注冊表編輯器。在"HKEY_CURRENT_USER/Software/Microsoft/SystemCertificates/"個位置下有幾個選項,您看看便知道如何做了。
到現在為止您是不是認為關于Excel的數字簽名的主要內容都掌握了呢?非也!雖然您可以為您的Excel文檔定制您自己的簽名,不過如果您的產品是面向很多的用戶,而您還不能確定用戶群是誰,就會出現另一個問題,就是用戶并不能確定您是否為真正的可靠源,因為其他人完全可以用您的簽名做一個數字證書來假冒您,如果他的Excel文檔包括后臺監視程序或系統破壞程序等,那么這個用戶就很有可能成為被攻擊對象!
要想真正的做到可靠的來源,還需向獨立、公正、可信賴的第三方組織-認證中心CA來申請數字證書。
最后補充:
Excel有個可靠來源表,在最開始安裝Excel成功時,它是空的,以后根據情況而添加。想刪除某個可靠來源可以通過[工具]-[宏]-[安全性]-[可靠來源]標簽面板來完成。
新聞熱點
疑難解答