Monday 10 December 2007

Symbian Developer Certificate and SIGNSIS Errors

Symbian Developer Certificate Woes

Yesterday, I generated a new Developer Certificate for a Nokia 6610 handset. This took way longer than it should have done because even though I had successfully generated a Private Key, a Certificate Request and had a Developer Certificate issued by Symbian Signed, I was unable to actually sign a SIS file due to a password error.

The SIGNSIS Error
I ran SIGNSIS with the following command:

SIGNSIS -v -s Test.SIS Test.SISx Test2.cer Test2.key 12345

Where:

  • Test.SIS is the name of my unsigned Symbian installer file;
  • Test.SISx is the name of the signed installer I wanter to create;
  • Test2.cer is the name of my Symbian Developer Certificate;
  • Test2.key is my Private Key; and,
  • 12345 is the password for my Private Key.

This reported the following error:

error:06065064:digital envelope routines:EVP_DecryptFinal:bad decrypterror:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrongtagencryption error, Cannot load Test2.key

The salient point being that they key could not be loaded.

The Solution
A number of posts on the net discuss this problem and suggest creating a Private Key without a password. (Clearly this is not recommended practice for anything but a Symbian Developer Certificate that can only be use to sign for a single IMEI.)

If, like me you have not got an ACS Published ID, and you use the Symbian Developer Certificate Request Wizard v2.1, you cannot generate a Private Key without a password. As stated earlier, Keys generated with a password cause an error in SIGNSIS.


Using the wizard you can either select an existing Private Key file or have the tool create a new Private Key for you. However, the Developer Certificate Request Wizard UI is somewhat confusing because on the second property sheet, it has a check box for ‘No Password’ against the Private Key File option. I had assumed that this meant ‘I do not want a password on the generated Private Key’. Not so. What it actually means is ‘There is no password on the Private Key file I have selected’.

What Works
The trick is to create a Private Key using the Symbian makekeys utility. This tool allows you to create a Private Key without a password.

makekeys -cert -dname "CN=Wooldridge OU=Consulting OR=Wooldridge Consulting CO=AU" NoPassword.key ThrowThisAway.cer

Simply answer 'n' to the prompt

Warning: the private key should be encrypted with the -password option

The Private Key file thus generated can then be used with the Symbian Developer Certificate Wizard with the ‘No Password’ option checked. The file ThrowThisAway.cer has no further use.

You must then request a Developer Certificate from Symbian in the normal way. SIGNSIS will now behave.

Tuesday 4 December 2007

Nokia 6610: Packet Data not Allowed

6110 Packet Data Woes
I recently upgraded from a Nokia N70 to a Nokia 6110 Navigator. The process proved remarkably hard due to a 'Packet data not allowed' error whenever I tried to access the Internet.

The Fix
If you have the same problem as I did, the answer is to go to Settings | Phone Settings | Connection | APN Control. If, like me, you see a 'Connection restrictions active' message you have to use the Options | Deactivate restrictions menu item which requires your SIM PIN code.

Call Centre Woes
I have a 3G USIM from Optus in Australia and had no problem accessing packet data services using this SIM card on my N70. My first thought was that the operator settings (APNs) were incorrect on my 6110. So, I:
  • deleted all of the pre-installed used the Settings Wizard; and,
  • used the Settings Wizard to re-create the correct APNs.
No go - same error. I repeated this process using the settings sent OTA from the Nokia Support site. No go - same error again.

Then I tried a friend's USIM in the handset and everything worked fine.

Baffled, I called Optus support and explained the problem. They, in turn, explained that the problem was due a handset problem and forwarded me to the Nokia support call centre. I had a long, but ultimately fruitless, conversation with a nice lady who assured me that the problem was with my APN settings and, once again, made me run the Settings Wizard application. When this failed, she referred me back to Optus support.

I had wasted about one and a half hours at this point.

On my second call to Optus support I was transferred to Technical Support (instead of the normal non Technical Support people who happen to answer the Technical Support number). They immediately came up trumps and had me navigate to the correct menu, enter my PIN and voila.

Two hours wasted - at least 20 minutes on the phone to three separate people at Optus and 10 minutes talking to Nokia.

Rant
I hate APN settings and salute any operator who moves to a single APN.

What really irks me about the waste of time I went through on my new handset is that my Operator already controls what data services I am provisioned for. Why add an additional level of control on the terminal?

Furthermore, why is it that Nokia themselves had no idea even when I had explained that the APN settings worked when my friend's SIM was substituted for my own?

I would guess that the cost of servicing my calls has erased any contribution to Optus' bottom line from my handset this month.