Symbian3/SDK/Source/GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita
changeset 0 89d6a7a84779
equal deleted inserted replaced
-1:000000000000 0:89d6a7a84779
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22" xml:lang="en"><title>Capabilities</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    13 <p>Capabilities allow the Symbian platform to control access by applications
       
    14 to the functionalities provided by the platform APIs. Access to capabilities
       
    15 is determined by the device configuration and how the application has been
       
    16 signed. Capabilities can be divided into four categories:</p>
       
    17 <ul>
       
    18 <li><p><i>user capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/LocalServices" scope="external"><codeph>LocalServices</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/NetworkServices" scope="external"><codeph>NetworkServices</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ReadUserData" scope="external"><codeph>ReadUserData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/WriteUserData" scope="external"><codeph>WriteUserData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/UserEnvironment" scope="external"><codeph>UserEnvironment</codeph></xref> and, <xref href="http://wiki.forum.nokia.com/index.php/Location" scope="external"><codeph>Location</codeph></xref></p>
       
    19 </li>
       
    20 <li><p><i>system capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/PowerMgmt" scope="external"><codeph>PowerMgmt</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ProtServ" scope="external"><codeph>ProtServ</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/ReadDeviceData" scope="external"><codeph>ReadDeviceData</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/SurroundingsDD" scope="external"><codeph>SurroundingsDD</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/SwEvent" scope="external"><codeph>SwEvent</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/TrustedUI" scope="external"><codeph>TrustedUI</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/WriteDeviceData" scope="external"><codeph>WriteDeviceData</codeph></xref></p>
       
    21 </li>
       
    22 <li><p><i>restricted capabilities</i>: <xref href="http://wiki.forum.nokia.com/index.php/CommDD" scope="external"><codeph>CommDD</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/DiskAdmin" scope="external"><codeph>DiskAdmin</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/MultimediaDD" scope="external"><codeph>MultimediaDD</codeph></xref> and <xref href="http://wiki.forum.nokia.com/index.php/NetworkControl" scope="external"><codeph>NetworkControl</codeph></xref></p>
       
    23 </li>
       
    24 <li><p><i>device manufacturer capabilitie</i>s: <xref href="http://wiki.forum.nokia.com/index.php/AllFiles" scope="external"><codeph>AllFiles</codeph></xref>, <xref href="http://wiki.forum.nokia.com/index.php/DRM" scope="external"><codeph>DRM</codeph></xref> and <xref href="http://wiki.forum.nokia.com/index.php/Trusted_Computing_Base_%28TCB%29" scope="external"><codeph>TCB</codeph></xref></p>
       
    25 </li>
       
    26 </ul>
       
    27 <p>Capabilities required by the application are defined in the <codeph>mmp</codeph> project
       
    28 definition file during the build process, and cannot be changed during run
       
    29 time. For information on the parameters you can use, see <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/ToolsAndUtilities94/Build-ref/Mmp-ref/capability.html" format="application/java-archive">capability</xref>.
       
    30 Carbide.c++ has a Capability Scanner tool which can be accessed through the <b>Project
       
    31 &gt; Run Capability Scanner on Project MMP</b> menu. The tool scans and checks
       
    32 the project for required capabilities.</p>
       
    33 <p>During the installation the <xref href="GUID-1293DE8C-E803-4ADF-9FA8-862519337331.dita">Software
       
    34 Installer</xref> application in the device checks whether the application
       
    35 has been certified or signed. It then checks the capabilities requested by
       
    36 the application. If the application has been certified, it checks that the
       
    37 root certificate is allowed to grant the required capabilities. If no problems
       
    38 are encountered, the installation can continue. For information on certifications
       
    39 required by the capabilities, see <xref href="GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita">Application
       
    40 signing</xref>.</p>
       
    41 <p>The user can grant the <i>user capabilities</i> to a self-signed application.
       
    42 For example, the following dialog is shown to the user to grant the <codeph>LocalServices</codeph> capability:</p>
       
    43 <fig id="GUID-5FCD68FB-BB79-48E0-B438-E8BFAD37331D"><title>Granting LocalServices capability during the installation</title><image href="GUID-08152DC3-2A5D-42AC-B722-3D49275FE548_d0e8048_href.png"/></fig>
       
    44 <section id="GUID-DD22FF50-BE6F-4929-85BA-EAF3481EA2BD"><title>dll capabilities</title>
       
    45 <p>A <codeph>dll</codeph> must have equal or greater set of capabilities
       
    46 than the loading process, otherwise the process is not allowed to load the <codeph>dll</codeph>.
       
    47 Once loaded, a <codeph>dll</codeph> runs at the capability level of the loading
       
    48 process. A <codeph>dll</codeph> that has a higher capability set than the
       
    49 loading process cannot leak capabilities to the process, but a process can
       
    50 leak capabilities to the <codeph>dll</codeph>.</p>
       
    51 <p>For more information, see <xref href="http://wiki.forum.nokia.com/index.php/TSS000454_-_DLL_capability_model_in_a_secure_platform" scope="external">DLL
       
    52 capability model in a secure platform</xref> (TSS000454) in the Forum Nokia
       
    53 Knowledge Base.</p>
       
    54 </section>
       
    55 </conbody></concept>