2012年6月14日 星期四

軟體開發完成後的憑證處理


在開發網頁的應用程式時,每次測試時總是要先更改 IE的安全性。
當開發完成之後,總不能也要求使用者進行此類操作吧,此時就需要申請憑證,對軟體進行認證囉。

1. 憑證種類
對於自行開發程式的研發人員而言,在發行軟體時可能會用到下列憑證
  • Microsoft Authenticode Digital ID
  • Sun Java Signing Digital ID
  • Netscape Object Signing Digital ID
  • Microsoft Office and VBA Signing Digital ID
  • Macromedia Shockwave Digital ID
  • Marimba Castanet Channel Signing Digital ID

由於我們這次所撰寫的專案是使用 .cab 與 .jar。所以我只需要申請
  • Microsoft Authenticode Digital ID
  • Sun Java Signing Digital ID



2. 憑證申請
台灣有一些代理商可協助向國外申請憑證,主要有以下兩家網際威信和寰宇數位認證中心。
  • http://www.hitrust.com.tw/
  • http://www.globaltrust.com.tw/
個人的刻板印象中,VeriSign是國際上有名的憑證中心,因此申請時也傾向採用VeriSign的代理商。最後決定是跟網際威信直接訂購。上述的每種簽證,申請一年的價錢都是 16500。

如果要省點錢的話,可以直接跟原廠訂購,或是採用別的憑證中心。以原廠而言(http://www.verisign.com.tw/),一年是美金$499,可以省下台幣1500。不過為了方便,我想第一年還是直接跟代理商買好了。後續要續約時再找原廠。

申請程序完成後, 會收到一封Email,裡面包含一個.crt和一個private key file,並且會附上使用說明。 
例如:我們可以利用微軟提供的sign tool 並指定verisign所給的上述兩個檔案
進行ActiveX的簽署動作

3. 憑證簽署工具
以Authenticode憑證為例:可以使用微軟的檔案簽屬工具,.NET Framework SDK 1.0 版和 1.1 版使用 signcode,新版SDK則使用 signtool。下面提供簽署工具的下載連結
  • http://msdn.microsoft.com/zh-tw/library/9sh96ycy(v=vs.80)
  • http://msdn.microsoft.com/zh-tw/library/8s9b9yaz(v=vs.80)


4.  各家憑證比較,參考寰宇數位認證中心
GlobalTrust、Thawte 和 GlobalSign 都有自己的程式碼簽張憑證產品,如果您是希望購買微軟代碼簽名證書,我們推薦您選購GlobalTrust的程式碼簽張憑證,一樣的支持所有流覽器,但價格更便宜,審核發送的速度更快,並且有更好的中文支援。而如果您希望購買Java代碼簽名證書(包括MIDlet簽章),寰宇認證中心則推薦您選購Thawte 或 GlobalSign 的程式碼簽章證書,而VeriSign Java程式碼簽章憑證支援最多的機型的手機服務。