Windows Mobile上的签名

之前在windows mobile平台上开发的程序都没有用到过特权api, 一直没有关心过windows mobile平台上签名的问题. 但是现在的项目必须要使用特权api, 不签名就可能无法在用户的手机上运行(其实并不是运行不起来, 而是那些特权api会调用失败, 这样就得不到正确的结果, 就像程序有bug一样, 这比运行不起来更恶劣).
       "代码签名将验证数字内容的来源以及自从它签名后没有更改过的事实", 这是微软自己认为的要进行代码签名的目的.我觉得采用签名确实在一定程度上保障了用户设备的安全, 但是这个签名确实搞得太复杂了点.
       微软的网站http://msdn.microsoft.com/zh-cn/library/ms839377.aspx也把这个问题洋洋洒洒的说了一大通, 看完之后还是迷迷糊糊, 后来问了Wosign的客服人员, 再结合symbain上签名的经验, 总算有了点头绪. 先将我自己认为的签名过程写下来, 一定有理解不对的地方, 等实际操作签名之后再来修改.
        用户的设备(windows mobile设备)有三种安全策略: (1) 只准许运行签过名的程序; (2) 准许运行所有程序(包括未签名), 但是使用特权api的程序不能正常运行; (3) 包括使用了特权api的程序(不管有无签名)都可以运行. 一般用户选择的安全策略是第二种, 这样既在一定程度上保护了设备又能运行大部分的应用程序(一般网络上免费的那些应用程序都是没有签名的). 如果程序中使用了特权api, 如果不签名(而且要签特权的)的话那大部分用户都使用不了了, 毕竟选择第三种策略的是少数, 所以必须要签名.

一旦您已经完成开发并获得证书,就可以通过 5 个简单的步骤来创建经过签名的应用程序:
(1)可以用从一个 Mobile2Market 证书供应商处购买的证书来对应用程序的可执行组件(.exe 和 .dll)进行签名。下面是关于如何完成这些的指导。
(2)通过 Web 接口将经过签名的应用程序组件提交给证书供应商。联系您的证书供应商以获得具体指导。受电话信任的证书签名的一个或多个文件将返回给您。
(3)将这些组件构建到安装包 (.cab) 文件中, 也就是打包生成.cab文件.
(4)使用从某个 Mobile2Market 证书供应商处购买的证书对 .cab 文件进行签名。本文后面的部分有关于如何这样做的指导。
(5)通过 Web 接口将经过签名的 .cab 文件提交给您的证书供应商。联系您的证书供应商以获得具体指导。经过签名的 .cab 文件将返回给您。
(6)然后,可以将该 .cab 文件安装在所有基于 Windows Mobile 的 Smartphone 上。该应用程序无需提示即可自己运行。

签名所使用的工具是 signcode.exe . 微软的指南中有很详细的说明.

但是如果申请的是特权签名, 则要稍稍麻烦些, 你需要将你用到的特权api和修改过的特权注册表提交给微软.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值