Symbian developer community

 
wiki

Capabilities (Symbian Signed)

From Symbian Developer Community

Jump to: navigation, search

Contents

What is a Capability?

The Symbian platform enables applications to use the Platform Security architecture in order to gain access to sensitive functionality within the platform. The APIs which give access to this functionality are protected by a series of capabilities. There are twenty capabilities, and they are split into four groups - User Capabilities, System Capabilities, Restricted Capabilities and Device Manufacturer Capabilities.

Depending which APIs you use within the platform, you will need to grant your application the relevant capabilities when you sign it.

Which capabilities can I access?

Capability Group Capability Name Self-Signed Open Signed Online Open Signed Offline Express Signed Certified Signed
User Capabilities LocalServices Yes, with user confirmation at install time Yes Yes Yes Yes
Location
NetworkServices
ReadUserData
UserEnvironment
WriteUserData
System Capabilities PowerMgmt No Yes Yes Yes Yes
ProtServ
ReadDeviceData
SurroundingsDD
SwEvent
TrustedUI
WriteDeviceData
Restricted Capabilities CommDD No No Yes No Yes
DiskAdmin
NetworkControl
MultimediaDD
Device Manufacturer Capabilities AllFiles No No No No See below
DRM
TCB

How do I know which capabilities I need?

There are, broadly speaking, two ways to find out which capabilities your application will need signing with.

  • The first option is to look up the functions you use in the SDK documentation. When you find the documentation on a particular API, it will tell you which (if any) capabilities you need in order to use that API, as the following example shows

File:AppSigningSDKCapabilitiesExample.png

  • The second way is to select the .mmp file in the Project Explorer window from within Carbide.c++ and select Project, Run Capability Scanner on Project MMP. The results will be displayed in a new Platform Security window, as shown in the example below

File:OutputFromCapabilityScanner.png

Device Manufacturer Capabilities

AllFiles, TCB and DRM protect the most sensitive aspects of the platform functionality, and access to them is only permissible when working with a Device Manufacturer and with their consent. However, it is very unlikely that your application will need these capabilities as they are only required for some very sensitive operations.

A more in-depth discussion of these capabilities can be found in the full article on the subject.

Comments

Sign in to comment…