一直没有时间整理一下自己的东西,我想通过几篇文章来写一下Windows Mobile应用程序数字签名的问题。
先在这里总结的写一下,我以后要写的关于数字签名的内容。
1. 什么情况下要对exe,dll进行签名。
2. 如何签名
3.如何生成自己的证书。
在一般的情况下,exe和dll是不需要签名的,但是系统会给出提示。一般以下情况下要使用签名
1. 使用特权函数:
附录 A:受保护的注册表项
注册表项 |
---|
HKEY_LOCAL_MACHINE/Comm HKEY_LOCAL_MACHINE/Drivers HKEY_LOCAL_MACHINE/HARDWARE HKEY_LOCAL_MACHINE/SYSTEM HKEY_LOCAL_MACHINE/Init HKEY_LOCAL_MACHINE/Security HKEY_LOCAL_MACHINE/WDMDrivers HKEY_LOCAL_MACHINE/Services HKEY CLASSES_ROOT (device specific) |
附录 B:特权 API 列表
组件 | API |
---|---|
Public | SetInterruptEvent SetSystemMemoryDivision CESetThreadPriority CeSetThreadQuantum ForcePageout VirtualCopy LockPages UnlockPages SetProcPermissions SetKMode ReadProcessMemory WriteProcessMemory SetCleanRebootFlag PowerOffSystem DebugActiveProcess CreateProcess(仅 DEBUG_ONLY_THIS_PROCESS 和 DEBUG_PROCESS 调试标志) KernelIOControl |
扩展的电话应用程序接口 (ExTAPI) | lineRegister lineSetCallBarringPassword lineSetCallBarringState lineUnregister lineSetPreferredOperator lineSetEquipmentState lineGetGeneralInfo lineManageCalls lineSetGprsClass lineGetNumberCalls lineSetHSCSDState lineGetUSSD lineSendUSSD lineSetSendCallerIDState lineSetCallWaitingState |
SIM 管理器 | simUnlockPhone simSetLockingStatus simGetSmsStorageStatus simChangeLockingPassword simReadMessage simWriteMessage simDeleteMessage simReadRecord simWriteRecord simGetRecordInfo |
短消息服务 | SmsSetMessageNotification SmsClearMessageNotification SmsReceiveAllMessagesFromSIM SmsSetSMSC |
连接管理器 | ConnMgrProviderMessage |
Critical Process Monitor (CPM) | CPMRegister (Reboot) CPMShutdown CPMStatus CPMRegisterTest |
无线电接口层 | 全部 RIL API 注 RIL API 所需的信任级别可通过将下列注册表项的值从 2 更改为 1 而得以修改: |
2. mui文件:对于mui文件(多语言文件)。比如我写了一个test.exe,那么它的简体中文的语言包就用test.exe.0804.mui,对于英文就是test.exe.0409.mui。对于dll也是如此。如:myappdll.dll,对应的中文和英文mui就是myappdll.dll.0804.mui和myapdll.dll.0409.mui.这样做多语言的时候只要把相应的mui文件打包进入就行了,系统会自动加载相应的mui文件,而不需要特殊的处理。但是我们一定要把我们写的mui文件进行签名,不签名就加载不了。
参考:http://msdn2.microsoft.com/zh-cn/library/ms839377.aspx
很久没写东西了,先就这样吧,我要好好整理整理在写上去。
待续....