说起来开发WM程序也已经有快3年的时间了,但是对WM的安全模型还是一知半解,一有人拿着程序来问,总是让他拿着个签名签一下程序了事,也说不出个所以然来,最近几天自己的程序在一台产商DEVICE上始终无法启动,询问原因是签名问题,只好硬着头皮啃MSDN了,以下是自己的学习笔记,英语水平我是很烂的,肯定有不对的地方,原文参考出自http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mobilesdk5/html/wce51conWindowsMobileDeviceSecurityModel.asp,如有发现不正确的地方,望大家多指教,共同进步,谢谢先!
什么是One-tier 、Two-tier Devices
WM安全模型分为两种配置方案:One-tier和 Two-tier。
在One-tier device上区分已签名(signed)和未签名(unsigned)程序,已签名程序能够运行所有DEVICE功能,包含一些受限API(Trusted API)和注册表键值,而未签名程序则需要根据DEVICE具体的安全方案(实际上WM安全模型下包含了许多的安全方案(security policy),在后面会做介绍)来做不同处理:
A. 未签名程序运行方案(The unsigned applications policy (UNSIGNEDAPPS)):由它来决定是否允许运行未签名程序。
B. 未签名程序提示方案(Unsigned Prompt policy(UNSIGNEDPROMPT)):由它来决定当运行未签名程序时候是否提示用户。UNSIGNEDPROMPT为0时将会提示用户,由用户决定是否运行该程序。
在One-tier device上应用程序要么可以运行,要么就不能运行,而Two-tier device提供了更加灵活的机制,它在前者的基础上再区分出了受信任程序(Trusted )和普通程序(Normal),受信任程序可以运行Device上的所有功能,而普通程序将不能运行受限API(Trusted API)和不能修改一些特殊的注册表键值。(受限API列表见http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceosdev5/html/wce50conTrustedAPIs.asp), Two-tier Device通过程序的不同签名来区分是否是受信任程序。
以下列出了几个platform支持的安全配置方案:
|
Platform
|
One-tier
|
Two-tier
|
|
WM2003 Smartphone
|
支持
|
支持
|
|
WM5.0 Smartphone
|
支持
|
支持
|
|
WM2003 PocketPC
|
不支持
|
不支持
|
|
WM5.0 PocketPC
|
支持
|
不支持
|
先写这么多,明天有空继续
无聊客
2006.4.19
发表于 @ 2006年04月19日 22:43:00|评论(loading...)|编辑