[Silverlight4]-自製數位簽章for XAP簽名(Xap code signing)
XAP簽名是Silverlight4.0的功能。
乍看之下,你會不太瞭解他是做什麼用的。
對開發人員來說,它可以確保取得使用者主機某種程度上的操控許可權,也確保使用者下載的軟體,是由你發行的。
對使用者來說,它可以看到比較安心的OOB(流覽器外執行)的安裝畫面,另外,由於這間開發公司是經過驗證的,如果軟體使用上有什麼問題(例如程式導致你的資料外泄),你可以找到軟體發行的公司,拿到一筆賠償(理想狀態下)。
當你在OutOfBrowserSettings.xml中加入ElevatedPermissions="Required"後,你就會發現最明顯的差別會在OOB(流覽器外執行)的安裝畫面。
<OutOfBrowserSettings.SecuritySettings>
<SecuritySettings ElevatedPermissions="Required" />
</OutOfBrowserSettings.SecuritySettings>
未加上數位簽章的OOB(流覽器外執行)的安裝畫面會如下,OS會警告你軟體有驗證的問題:
加上數位簽章的OOB(流覽器外執行)的安裝畫面會如下:
如果你要替你的軟體公司申請正式的數位簽章,你必須支付一年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
Copyright © 2010 比比觸控遊戲工作室 WWW.BPLUSGAME.COM
簡體版同步發佈在博客園http://www.cnblogs.com/bplus