Developers
Local Navigation
Research In Motion (RIM) must track the use of some sensitive BlackBerry® application programming interfaces (APIs) for security and export control reasons. Sensitive classes or methods are indicated in the API reference documentation by a lock icon or are otherwise noted as "signed". If you use these controlled classes in your applications, your application must be signed using a signature key (provided by RIM) before you can load the application .cod files onto the BlackBerry smartphone.
Note: While the core set of controlled APIs is covered by the RIM API signature keys, certain cryptography classes related to public/private key cryptography contain technology from Certicom. Certicom code signing keys are now included in the set of keys available from RIM. Signing your applications using these keys will provide access to the Certicom Cryptography APIs.
RIM Controlled APIs
RIM Controlled APIs are split into 3 categories: Runtime APIs, BlackBerry Application APIs and BlackBerry Cryptography APIs. For a complete list of RIM controlled APIs, refer to the API reference included with the BlackBerry® Java® Development Environment (BlackBerry JDE) download.
Certain other functionality, such as the ability to execute on startup, also requires developers to sign their applications. Additional details on controlled APIs and the signing process can be found in the BlackBerry Development Guide.
Note: Registration and signing of applications is only required to run an application on a BlackBerry smartphone. Signing of applications is not required to run applications using the BlackBerry smartphone simulator.
BlackBerry Development Tools
Various BlackBerry development tools are available for developers to make use of BlackBerry API classes, including controlled classes, during the compilation of their BlackBerry applications. If your application uses controlled APIs, it must be signed using a signature key provided by RIM before it can be loaded onto a BlackBerry smartphone.
BlackBerry Widgets
The BlackBerry Widget API contains controlled classes and methods that are used during the compilation of a BlackBerry Widget application. Any BlackBerry Widget application that uses classes or methods from the BlackBerry Widget API must be signed using the signature keys provided by RIM before it can be loaded onto a BlackBerry smartphone.
How to Register RIM Controlled APIs
To register for access to the BlackBerry runtime, application and cryptography APIs, you’ll need to fill out the web form. Once registered, you’ll be sent a set of keys and installation instructions via email that can be used to allow you to sign your applications using the BlackBerry Signature Tool. An administration fee of $20.00 USD will be charged to a valid credit card to complete the registration process.
Note: Typically, keys are sent via email within 48 hours of submitting the necessary forms, but occasionally the process can take up to 10 business days. If you haven’t received your keys within 10 business days of submitting the registration form, contact BlackBerry support at 1-877-255-2377.
Code signing registration is solely for purposes of monitoring usage of these particular APIs in third-party application development, and does not in any way indicate RIM's approval or endorsement of your application or your use of the APIs. You are solely responsible for the implementation and use of the application or your use of the APIs in your application(s), and you acknowledge, by submitting your registration, that RIM shall have no liability to you or any third party for issues arising from your application(s). All APIs are subject to the terms and conditions of the BlackBerry Software License Agreement that you have agreed to in relation to your use of one of the RIM BlackBerry Development Tools, as amended from time to time. All information that you provide on your registration form must be accurate and complete, and by submitting your registration, you agree to promptly notify RIM of any changes to the information that you provide.
Download the Code Signing Registration Form (PDF)
For more information on code signing and controlled APIs, refer to the BlackBerry Development Guide.
Certicom Cryptography Classes
The Certicom cryptographic classes within the RIM cryptography API provide additional data security capabilities, including data encryption and decryption, digital signatures, data authentication and certificate management. For more information on how these classes augment developer security choices, refer to the Application Note available from the Certicom website.
The following classes use technology from Certicom. Registration with RIM allows access to these classes.
Note: Public/Private Key cryptography is provided by the Certicom API key.
RIM Cryptography API – Certicom Classes
net.rim.device.api.crypto
- CryptoByteArrayArithmetic
- CryptoInteger
- DHCryptoSystem
- DHCryptoToken
- DHKey
- DHKeyAgreement
- DHKeyPair
- DHPrivateKey
- DHPublicKey
- DSACryptoSystem
- DSACryptoToken
- DSAKey
- DSAKeyPair
- DSAPrivateKey
- DSAPublicKey
- DSASignatureSigner
- DSASignatureVerifier
- ECCryptoSystem
- ECCryptoToken
- ECDHKeyAgreement
- ECDSASignatureSigner
- ECDSASignatureVerifier
- ECIESDecryptor
- ECIESEncryptor
- ECKey
- ECKeyPair