一直沒有時間整理一下自己的東西,我想通過幾篇文章來寫一下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 |
短Message Service |
SmsSetMessageNotification SmsClearMessageNotification SmsReceiveAllMessagesFromSIM SmsSetSMSC |
連線管理員 |
ConnMgrProviderMessage |
Critical Process Monitor (CPM) |
CPMRegister (Reboot) CPMShutdown CPMStatus CPMRegisterTest |
無線電介面層 |
全部 RIL API 注 RIL API 所需的信任層級可通過將下列登錄機碼的值從 2 更改為 1 而得以修改: [HKEY_LOCAL_MACHINE/Security/Policy/APIs/RILGSM] @="2" |
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
很久沒寫東西了,先就這樣吧,我要好好整理整理在寫上去。
待續....