BlackBerry
Skip Top Navigation
Developers Partners
North America [change region] Products Solutions Purchasing Support
Developers


Controlled APIs and Code Signing

Research In Motion (RIM) must track the use of some sensitive application program interfaces (APIs) in the BlackBerry® Java Development Environment (JDE) for security and export control reasons. In the API reference documentation, sensitive classes or methods are indicated by a lock icon or are noted as "signed". If you use these controlled classes or methods in your applications, your application must be signed using a key, or signature, provided by RIM before you can load the application .cod files onto the BlackBerry device.

Note: While the core set of controlled APIs is covered by the RIM API signature, certain cryptography classes related to public/private key cryptography contain technology from Certicom. Use of these classes must be registered and licensed from Certicom directly, and are not covered under RIM's registration process. For more information on the registration and use of these classes please refer to the Certicom Cryptography Classes section.

RIM Controlled APIs
RIM Controlled APIs are split into three categories: Runtime APIs, BlackBerry Application APIs, and BlackBerry Cryptography APIs. For a complete list of RIM controlled APIs please refer to the API reference included with the 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 Developer Guide, Volume 2 - Advanced Topics.

Note: Registration and signing of applications is only required to run an application on a BlackBerry device. Signing of applications is not required to run applications using the BlackBerry device simulator.

How to register RIM controlled APIs
To register for access to the BlackBerry runtime, application and cryptography APIs, you will need to fill out the web form. Once registered, you will be sent a set of keys via email that will allow you to sign your applications using the signature tool included with the BlackBerry JDE. An administration fee of US$100 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 have not received your keys within 10 business days of submitting the registration form, please contact BlackBerry support at 1-877-255-2377.

Code signing registration is solely for purposes of tracking 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 RIM software license agreement that you have agreed to in relation to your use of the BlackBerry JDE, 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 Code Signing Registration Form

For more information on code signing and controlled APIs, please refer to the BlackBerry Developer Guide, Volume 2, Advanced Topics.

Note: Registration for the Certicom Cryptography Classes is not available at this time. For registration instructions for these classes please refer to the information below.

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 please refer to the Application Note available from the Certicom website.

The following classes use technology from Certicom. A Certicom license is required to use these classes and is available from the Certicom website. Registration with RIM alone does not allow access to these classes.

Note: Cryptography other than Public/Private Key cryptography is covered by the RIM Cryptography API key. The public/private key cryptography is included in the Certicom license.

RIM Cryptography API
net.rim.device.api.crypto
  Certicom Classes
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,
ECMQVKeyAgreement,
ECNRSignatureSigner,
ECNRSignatureVerifier,
ECPrivateKey,
ECPublicKey,
KEACryptoSystem,
KEACryptoToken,
KEAKey,
KEAKeyAgreement,
KEAKeyPair,
KEAPrivateKey,
KEAPublicKey,
PKCS1SignatureSigner,
PKCS1SignatureVerifier,
PSSSignatureSigner,
PSSSignatureVerifier,
RSACryptoSystem,
RSACryptoToken,
RSADecryptorEngine,
RSAEncryptorEngine,
RSAKey,
RSAKeyPair,
RSAPrivateKey,
RSAPublicKey,
X931SignatureSigner,
X931SignatureVerifier

 
Related Links
 
     
 Home | Products | Solutions | Purchasing | Support | Developers | Worldwide | News | About Us | Contact Us | Site Map
 Legal | Copyright © 2008 Research In Motion Limited, unless otherwise noted.