[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

加上数字签名的OOB(浏览器外执行)的安装画面会如下:

clip_image002

如果你要替你的软件公司申请正式的数字签名,你必须支付一年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

 

clip_image006

 

clip_image008

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


posted on 2010-04-24 15:48  B+  阅读(1219)  评论(2编辑  收藏  举报

导航