[Silverlight4]-自制数字签名for XAP签名(Xap code signing)
2010-04-24 15:48
190 查看
XAP签名是Silverlight4.0的功能。
乍看之下,你会不太了解他是做什么用的。
对开发人员来说,它可以确保取得用户主机某种程度上的操控权限,也确保用户下载的软件,是由你发行的。
对使用者来说,它可以看到比较安心的OOB(浏览器外执行)的安装画面,另外,由于这间开发公司是经过验证的,如果软件使用上有什么问题(例如程序导致你的数据外泄),你可以找到软件发行的公司,拿到一笔赔偿(理想状态下)。
当你在OutOfBrowserSettings.xml中加入ElevatedPermissions="Required"后,你就会发现最明显的差别会在OOB(浏览器外执行)的安装画面。
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
未加上数字签名的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
乍看之下,你会不太了解他是做什么用的。
对开发人员来说,它可以确保取得用户主机某种程度上的操控权限,也确保用户下载的软件,是由你发行的。
对使用者来说,它可以看到比较安心的OOB(浏览器外执行)的安装画面,另外,由于这间开发公司是经过验证的,如果软件使用上有什么问题(例如程序导致你的数据外泄),你可以找到软件发行的公司,拿到一笔赔偿(理想状态下)。
当你在OutOfBrowserSettings.xml中加入ElevatedPermissions="Required"后,你就会发现最明显的差别会在OOB(浏览器外执行)的安装画面。
<OutOfBrowserSettings.SecuritySettings> <SecuritySettings ElevatedPermissions="Required" /> </OutOfBrowserSettings.SecuritySettings>
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
未加上数字签名的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
相关文章推荐
- 对silverlight xap包进行数字签名
- IOS开发中的证书和代码签名(code signing)
- iOS 开发 Certificate和Code Signing--证书与签名--详解
- 给自制htc desire ROM签名的方法
- [Xcode]iOS代码签名(Code Signing)
- [Xcode]iOS代码签名(Code Signing)
- 给自制htc desire ROM签名的方法
- IOS开发中的证书和代码签名(code signing)
- windows phone7 越狱(解锁)使你可以安装自制软件(xap包) (已过期)
- iPhone 代码签名 (code signing) 以及解析、屏蔽
- 命令行和Eclipse 2种方式实现对APK的签名与APK文件优化
- android获取APK文件,及应用内部签名信息方法
- Android手机出现"已安装了存在签名冲突的同名数据包"的原因及解决办法
- intellij idea开发环境对android apk进行签名sign signature,查看SHA1值
- 小白也能自制APP
- 关于文件(软件)签名问题的理解
- android apk批量去签名的正确方法
- windows启动winload.exe的数字签名错误问题
- 如何给Android的apk重新签名
- 发布出 SignTool 报告了一个错误“未能给 bin\Debug\LTCY_Client.publish\\setup.exe 签名 是怎么回事