Prev: Files
Platform Security
With the 3rd edition of its OS, Symbian OS has introduced platform security, complicating matters for developers.
m for Symbian 3rd Edition thus comes in three variants (see also chapter * (Reference)):
- A self signed package with the following capabilities:
LocalServices NetworkServices ReadUserData UserEnvironment
WriteUserData
|
- An unsigned package for online signing, with the following capabilities:
LocalServices NetworkServices ReadUserData UserEnvironment
WriteUserData Location PowerMgmt ProtServ ReadDeviceData
SurroundingsDD SwEvent TrustedUI WriteDeviceData
|
- An unsigned package for signing with a Developer Certificate (DevCert), with the following capabilities:
LocalServices NetworkServices ReadUserData UserEnvironment
WriteUserData Location PowerMgmt ProtServ ReadDeviceData
SurroundingsDD SwEvent TrustedUI WriteDeviceData
CommDD DiskAdmin MultimediaDD NetworkControl
|
In order to be loadable by an application, a DLL must have at least the capabilities of the process loading it (the capabilities of a process never change during its lifetime). This has the following consequences
[6]:
- You must compile your code with at least the capabilities listed above.
- Adding more capabilities than those of the installed m package will have no effect.
- Signing types of DLL and m installation cannot be freely mixed. The following matrix shows the possible combinations:
| Signing Type | Self DLL | Online DLL | DevCert DLL |
| Self m | yes | no | yes |
| Online m | no | yes | no |
| DevCert m | no | no | yes |
| |
If you plan to make your library publicly available via SIS packages, make sure you provide all three packages (self signed, online signable unsigned, DevCert signable unsigned) with the corresponding capabilities.
Next: Footnotes© 2004-2010 airbit AG, CH-8008 Zürich
Document AB-M-NMI-869