Websites Navigation: Airbit | Shop | m-shell.net
Languages: EN | DE

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 TypeSelf DLLOnline DLLDevCert DLL
    Self myesnoyes
    Online mnoyesno
    DevCert mnonoyes

    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.


© 2004-2011 airbit AG, CH-8008 Zürich
Document AB-M-NMI-887
mShell Home  > Documentation  > Manuals