• x Main page
  • x Legal notice
  • x Change history
  • x Library contents
  • x Guide to Testing and Signing Developer's Library
  • x Testing tools and resources
  • + Overview to security
    • x Scope
    • x Feature matrix
    • + Principles and terminology
      • x Definition of security
      • x Threats
      • x Protection
      • x General protection principles
    • + Device security
      • x Device security methods
    • + Application security
      • x Application signing
      • x Client/server communication
      • x User interface applications
      • x Plug-ins
      • x Software installer
      • x Publish & Subscribe
      • x Descriptors
    • + Communications security
      • x Secure transport
      • x IPv6
      • x Host name resolution
      • x Local connectivity
    • + Content security
      • x Backup and restore
      • x Cryptography module
      • x Digital Rights Management
  • + Symbian security model
    • + Platform security model in practice
      • x Data caging
      • x Capability model
      • x Other features
    • x Assigning capabilities
    • x The need for platform or manufacturer capabilities
    • x IDs
    • x Embedding SIS files
    • + Platform security FAQ
      • + General information about platform security
        • x What is capability?
        • x What is TCB?
        • x What is SID?
        • x Is the SID generated by the software installer? If not, where do I get the SECUREID value for the MMP file?
        • x What is UID?
        • x What is the difference between SID and UID?
        • x Can the SID and UID3 of an application be different?
        • x How do SIDs relate to applications consisting of an EXE and a DLL? Are the SIDs of these the same?
        • x How is the SID of the calling EXE checked?
        • x What is VID?
        • x Why is the registration RSS file required? Where should it be located? What information should be specified in it?
        • x Where should files used by the application be installed?
        • x What are the changes regarding application files and their locations in the system?
        • x What changes are required to change an application from an .app to an .exe?
        • x Where did 10003a3f come from in the MMP file for the target resource path?
        • x Can I use a SID or a VID instead of capability check?
        • x Does the SID of a DLL have any run-time significance?
        • x How and when are capabilities put in the DLL or EXE?
        • x Is it possible to change capabilities during run time?
        • x What certifications do the capabilities require?
        • x What certificate is needed in the development phase?
        • x What does .sis file signing mean?
        • x Does the behavior of self-signed applications differ during execution?
        • x How does the UID range correspond to Symbian Signed and Developer Certificates? What range should be used during development time and for the final release?
        • x Do I need to re-request legacy UIDs from Symbian Signed before I can use them?
        • x How do I certify my application for testing purposes?
        • x Do I have to certify/sign every update of the application?
        • x Who is permitted access to the Symbian Signed Catalogue?
        • x What is "passive content"?
        • x Why are DLL capabilities needed?
        • x Does loading a DLL with a different set of capabilities change the process capabilities?
        • x Can a process load a DLL with fewer capabilities than itself?
        • x How are the capabilities assigned when a process is spawned by another process?
        • x How does the EPOCHEAPSIZE work?
        • x How does the EPOCSTACKSIZE work?
      • + Data caging
        • x What is the idea behind data caging?
        • x What is the idea behind the import directory?
        • x Does AllFiles allow reading from/writing to a directory under \sys, \private, and \resource?
        • x Can a program read from/write to other directories not under \sys, \private, and \resource?
        • x How do I change SYSTEMRESOURCE in the .mmp file?
        • x Is \private\<SID>\import writable or accessible by everyone?
        • x Can DLLs have their own private directories?
        • x How do polymorphic DLLs work?
      • + Publish and Subscribe
        • x What is Publish and Subscribe?
        • x What is the difference between Publish and Subscribe and Central Repository?
        • x What is the best way to share a large amount of data between two processes?
      • + Configuring platform security settings
        • x How do I turn on/off platform security diagnostics?
        • x How do I turn on/off platform security enforcement?
        • x How do I disable a set of capabilities and what does it mean?
        • x What is the capability if the CAPABILITY keyword doesn't exist in the MMP file?
        • x What does "CAPABILITY ALL -TCB" mean?
        • x How do I exclude multiple capabilities?
      • + Software installation
        • x Where can I find information about signing SIS files?
        • x What are the new directives used in a .pkg file?
        • x Does the S60 3rd Edition SW installer support old SIS files?
        • x Where are ECOM registration resource files installed?
        • x Where are application registration resource files installed?
        • x What should I do if I get a "Certificate check failed" message?
        • x What does the "Cannot grant capabilities" message mean?
        • x Which capabilities can the user grant?
        • x What does the "Unable to verify supplier" message mean?
        • x Why do I get a "Cannot install" message?
        • x How should I use the manufacturer identifier in a condition block?
        • x Can I launch my application during install/uninstall?
      • x Testing
  • + Signing applications
    • x Preinstalled applications
  • + Introduction to test design
    • x Overview of software testing
    • x Understanding testability
    • + Developing unit tests
      • x Black-box versus white-box testing
      • x Behavioral testing techniques
      • x Structural methods
      • x Using stubs and mock objects
  • + Testing your software
    • x Overview of Symbian C++ unit testing
    • + Setting up a test project
      • x Tool setup
      • x Creating the unit test project
      • x Building the test and running it in the emulator
    • x Stubbing dependencies
    • x Implementing tests
    • x Using a code coverage tool
    • x TestSource.cpp
  • x Avoiding common failures in Symbian Signed and Nokia tests
  • x Terms and abbreviations
  • x Discussion about this resource