[Teaching] [Silverlight 4] 自製數位簽章for XAP簽名(Xap code signing)

  • 2876
  • 0
  • 2010-08-25

[Silverlight4]-自製數位簽章for XAP簽名(Xap code signing)

 

XAP簽名是Silverlight4.0的功能。

乍看之下,你會不太瞭解他是做什麼用的。

對開發人員來說,它可以確保取得使用者主機某種程度上的操控許可權,也確保使用者下載的軟體,是由你發行的。

對使用者來說,它可以看到比較安心的OOB(流覽器外執行)的安裝畫面,另外,由於這間開發公司是經過驗證的,如果軟體使用上有什麼問題(例如程式導致你的資料外泄),你可以找到軟體發行的公司,拿到一筆賠償(理想狀態下)。

當你在OutOfBrowserSettings.xml中加入ElevatedPermissions="Required"後,你就會發現最明顯的差別會在OOB(流覽器外執行)的安裝畫面。

<OutOfBrowserSettings.SecuritySettings>

<SecuritySettings ElevatedPermissions="Required" />

</OutOfBrowserSettings.SecuritySettings>

未加上數位簽章的OOB(流覽器外執行)的安裝畫面會如下,OS會警告你軟體有驗證的問題:

clip_image001[4]

加上數位簽章的OOB(流覽器外執行)的安裝畫面會如下:

clip_image002[4]

如果你要替你的軟體公司申請正式的數位簽章,你必須支付一年99元美金的價格,這有點類似SSL,如果你要讓使用者更安心,就必須要支付一些費用。

但如果你想要自製的數位簽章,提供測試使用。你可以依照以下方式製作。

1. 將makecert和signtool註冊為DOS外部指令:搜尋電腦裡,找到makecert和signtool 這兩個檔案,放到Windows/system32目錄下。這樣做的目的是讓makecert和signtool成為DOS的外部指令,這樣你就可以在任何地方,使用這兩個指令。

2. 建立自製的數位簽章:

到專案的ClientBin目錄下

makecert -r -pe -ss Privatecertstore -n "CN=SITestCert" MyTestCert.cer

完成後,你會發現,底下多了一個MyTestCert.cer檔案。Makecert還有很多可以設定的資料,請直接google makecert。

3. 將數位簽章註冊到xap裡:

signtool sign /v /s Privatecertstore /n SITestCert SignedXap.xap

4. 安裝自製的數位簽章

執行MyTestCert.cer

clip_image004[5]

clip_image006[5]

clip_image008[8]

Copyright © 2010 比比觸控遊戲工作室 WWW.BPLUSGAME.COM

簡體版同步發佈在博客園http://www.cnblogs.com/bplus