November 2010 (1)
August 2010 (1)
July 2010 (1)
June 2010 (3)
July 2009 (3)
June 2009 (1)
May 2009 (1)
February 2009 (1)
January 2009 (1)
November 2008 (3)
October 2008 (4)
September 2008 (9)
August 2008 (6)
July 2008 (3)
June 2008 (3)
January 2008 (1)
November 2007 (2)
October 2007 (6)
September 2007 (5)
August 2007 (22)
July 2007 (6)
June 2007 (1)
May 2007 (3)
April 2007 (27)
March 2007 (8)
February 2007 (6)
September 2006 (2)
August 2006 (4)
July 2006 (9)
June 2006 (17)
May 2006 (20)
April 2006 (12)
March 2006 (9)
February 2006 (4)
January 2006 (3)
December 2005 (2)
November 2005 (4)
October 2005 (5)
September 2005 (37)
August 2005 (83)
July 2005 (6)

Active Directory / LDAP (0)
ASP.Net (19)
Blackberry Development (4)
c# (34)
c++ (3)
Code Camp (1)
Excel (1)
Exchange (3)
Front Page 2003 (6)
FTP User Editor (4)
HTML / CSS / DHTML (8)
IIS (146)
IIS - Log Parser (7)
IIS / FTP (12)
IIS / Tools / Administration (42)
IIS / Tools / Authentication (6)
IIS / Tools / Compression (8)
IIS / Tools / Crash & Hang (12)
IIS / Tools / ISAPI Filters (17)
IIS / Tools / Log Files (17)
IIS / Tools / Scripts (28)
IIS / Tools / Security (9)
IIS / Tools / SSL (6)
IIS 7 (3)
Internet Information Server (1)
Me (Chris Crowe) (6)
MIME Types (1)
Misc (72)
Oulook Express (2)
Silverlight (1)
SQL Server (27)
SQL Server CTE (1)
Vista (15)
Vista Gadgets (8)
Visual Studio (11)
Voice over BroadBand (1)
Windows (33)
Windows Powershell (3)
Windows Sharepoint Services (0)
Windows Sharepoint Services (15)
Windows Vista (14)
Wine Cellar (1)
WMI (8)
Blackberry Development (4) blog.crowe.co.nz.Models.Category

Blackberry Development

BlackBerry Development using JDE

I found out the hard way that you can have a problem running even a very simple application when you compile with the latest version of the JDE (Java Development Environment) which is available from BlackBerry, at the time this was V4.2.1 - http://na.blackberry.com/eng/developers/downloads/jde.jsp

I compiled a simple hello world type of application and it worked fine in the simulator, but when I imported it into my 7100V device and tried to run it I got an Out Of Memory exception.

I did some searching around the forums and found that there is an issue with the new version on older devices.

The fix was to download and install V4.0.2, I then compiled my application again and installed it to the 7100V and it worked fine.

Since I am only learning Java I assume there is just an incompatibility with the version of Java on the 7100v and the type of code generated with the later version of the JDE.


BlackBerry Application Developers Guides
 Type   Name Ascending Sort   Size   Modified 
URL BlackBerry Application Developer Guide Samples 139 KB  02/05/2007 09:42 AM
Document BlackBerry Application Developer Guide Volume 1 5148 KB  02/05/2007 09:42 AM
Document BlackBerry Application Developer Guide Volume 2 1360 KB  02/15/2007 03:56 PM
Document Release Notes and Known Issues 394 KB  02/05/2007 09:42 AM
wkp05ykf

More developer related content can be found at http://na.blackberry.com/eng/developers/

Developer Labs

 


BlackBerry Code Signing 101

The BlackBerry API set is subdivided into five distinct classifications.

The first of these classifications is the set of “Open” APIs. These APIs include all standard Java APIs from MIDP and CLDC, as well as many BlackBerry-specific APIs. The open API set is, as the name implies, open for all developers. Applications developed that use only open APIs require no signatures of any sort.

The remaining classifications are all “Controlled” APIs. These APIs fall into four categories pertaining to their specific use:

  1. RIM Runtime APIs
  2. BlackBerry APIs
  3. RIM Cryptography
  4. Certicom Cryptography

There is a security risk associated with every class and method in these APIs. For example, the BlackBerry API allows a developer to access the user's Personal Information Manager (PIM) data, which may be a security risk to the end user. The RIM Runtime API allows the developer to send SMS messages, a potential security risk to the network operator and the end user.

To help control these risks, any application that uses a Controlled API will not run on a BlackBerry handheld unless the application is properly signed.

How Do Developers Sign Applications?

Prior to granting access to any of the Controlled APIs, RIM requires the developer to go through a simple registration process during which the developer's identity is verified. The developer needs to download and fill out a registration form from www.na.blackberry.com/eng/developers/downloads/api.jsp then fax it to RIM. Once the registration form and associated processing fee has been received, RIM will send the developer a set of keys via email. These keys can be used in conjunction with the Signature Tool utility in the BlackBerry JDE to sign any application.

The signing process itself is very straightforward. After compilation, the developer manually starts the Signature Tool , which displays a list of necessary signatures. With a single button press, the Signature Tool submits a hash of the application to RIM's signing authority. The signing authority automatically returns the required signature, which is automatically appended to the application. The application can then be loaded onto a handheld.

Detailed instructions related to installing keys and running the signature tool can be found in the BlackBerry Java Developer Guide, Volume 2 - Advanced Topics.

A Few Things to Remember...

In order to run applications that use controlled APIs on a handheld, you must first get it signed by RIM. At no point in the signing process does RIM receive a copy of your application, only a hash of the file(s). The application itself is not reviewed by RIM and the signing is completely automated. Should an application later turn out to have malicious intent, RIM will be able to determine the author of the application by matching the hash of the application against records of the hash kept by RIM signing authorities.

As a developer, your key is your identity. Do not give your keys to others or let others use your keys to sign their applications.

When you register for your keys, you will get three emails from RIM, one from each of the various signing authorities (with the exception of Certicom Crypto). Follow the instructions in the BlackBerry Developer Guide carefully. Also, when you request your keys, you provide RIM with a PIN number. This PIN is used in conjunction with the keys when first contacting the signing authority to ensure that you, and only you, can use the keys that you have been assigned.

To receive a key for the Certicom Cryptography APIs, RIM requires confirmation from Certicom Corp that you have a license for Certicom's Security Builder Toolkit v3.0.

Keep in mind that you do not need to register with RIM to use the JDE or to simulate applications. Applications do not need to be signed to run on the BlackBerry simulator.

Why a $100 fee?

A $100 fee is charged to sign applications. This fee is only charged once to receive a set of keys. There is no fee for each subsequent use of thek eys.

There are two reasons for the fee. First, a legitimate credit card account and a successful transaction help us verify the identity of the registrants. Second, it helps us offset some of the costs of running the program. The expectation is that this small fee is not a burden to legitimate developers, but creates a moderate disincentive for any developer with malicious intent.

For more details see http://na.blackberry.com/eng/developers/resources/journals/may_2004/give_me_a_sign.jsp

Note: The details above are taken from the page referenced above.


Blackberry MIME Types

I have started to look into BlackBerry Development since I received a BlackBerry 7100v device on Friday.

I have not found a lot of info yet but I am sure I will find some good things and post them here.

First off - on IIS 6+ we need to setup some specific mime types that BlackBerry / Java needs

  • .jad = text/vnd.sun.j2me.app-descriptor
  • .wml = text/vnd.wap.wml
  • .cod = application/vnd.rim.cod