×

Discussion Board

Results 1 to 5 of 5

Thread: Signing issues

  1. #1
    Registered User
    Join Date
    Sep 2008
    Posts
    13

    Question Signing issues

    Once more, a soul lost in signing hell...

    I just started developing for Symbian (and in C++ in general).

    I created a 'HelloWorld' and I want it to run on my Nokia E51. The code compiles and runs fine in the emulator. I created a self-signed certificate that I used to sign the application. When I try to install it on the phone it fails with this error: "Unable to install a protected application from an untrusted supplier".

    I've read the FAQ, the Q&A, lots of posts on this forum and elsewhere but I just can't figure out what I'm doing wrong.

    I'll try to be as complete as possible in providing info.

    I. The code and build files:

    HelloWoldClass.cpp:
    Code:
    #include <e32base.h>
    #include <e32cons.h>
    
    LOCAL_D CConsoleBase * console;
    
    GLDEF_C TInt E32Main()
    	{
    		_LIT(KTextTitle, "HelloWorld");
    		console = Console::NewL(KTextTitle, TSize(KConsFullScreen, KConsFullScreen));
    		_LIT(KTextContent, "Hello World!!");
    		console->Write(KTextContent);
    		_LIT(KTextPause, "[press any key");
    		console->Write(KTextPause);
    		console->Getch();
    		delete console;
    		return 0;
    	}
    HelloWorld.mpp:
    Code:
    TARGETTYPE EXE
    TARGET HelloWorld.exe
    SOURCEPATH ..\src
    SOURCE HelloWorldClass.cpp
    
    LIBRARY euser.lib
    SYSTEMINCLUDE \epoc32\include
    
    UID 0xA0000001
    HelloWorld.pkg:
    Code:
    #{"HelloWorld EXE"},(0xA0000001),1,0,0
    [0x102032BE], 0, 0, 0, {"S60ProductID"}
    [0x20002498], 0, 0, 0, {"Nokia E51"}
    %{"Simbios-EN"}
    :"Simbios"
    "$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\HelloWorld.exe"
    -"!:\sys\bin\HelloWorld.exe"
    II. Console output:

    Creating the certificate:
    Code:
    C:\Symbian\Carbide\workspace\Testing\group>makekeys -cert -dname "CN=Nick de Graeve OR=Simbios" file.key file.cer
    Warning: the private key should be encrypted with the -password option
    Do you want to use a password (y/n)? y
    Generating private key...
    Move the mouse within the window or press keys to generate random data
    ......................................................................
    ..............................random data collected.
    A DSA private key has been generated with a keylength of 1024 bits
    Enter private key passphrase:
    Verifying password - Enter private key passphrase:
    Created certificate file.cer
    Signing the code:
    Code:
    C:\Symbian\Carbide\workspace\Testing\sis>signsis -s HelloWorld.sis HelloWorld.sisx c:\Symbian\Carbide\workspace\Testing\group\file.cer c:\Symbian\Carbide\workspace\Testing\group\file.key xxxxxx
    III. The phone:

    I enabled the use of self-signed applications:
    Code:
    Tools -> Settings -> Applications -> App.Manager -> Software Application -> All
    I use the Nokia Application Installer to copy HelloWorld.sisx to the phone.
    Sequence of events:
    • "Install HelloWorld EXE?", pressed "Yes";
    • "Security warning", pressed "Continu";
    • "Details", pressed "Continu";
    • "Installing" and after a few seconds I get
    • "Unable to install a protected application from an untrusted supplier".

  2. #2
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,168

    Re: Signing issues

    You are propably trying to use more capabilities than are allowed for self-signed applciations.

  3. #3
    Registered User
    Join Date
    Sep 2008
    Posts
    13

    Re: Signing issues

    As you can see in the code in the 1st post, I'm only trying to put 2 strings on the screen and then wait for the user to press a button.
    If you're not even allowed to do that then self-signing is completely useless.

  4. #4
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,750

    Re: Signing issues

    A Symbian binary always has 3 UIDs:
    - UID1 comes from the TARGETTYPE
    - UID2 and UID3 comes from the UID keyword
    In case of Symbian 9 / S60 3rd edition, UID3 differentiates between protected and unprotected. In your .mmp file UID keyword is followed by one number, that will be UID2. And UID3 remains 0, however it should be something larger or equal to 0x8000000.
    So you need two numbers
    Code:
    UID 0 0xA0000001
    would be the minimum.
    In fact you will not get really far with a mere .exe on the device, you will not be able to execute it. However in Symbian 9 / S60 3rd edition you can have an icon for 'console' executables too, either check GUI examples, or search for console executable or similar things in the Wiki.

    There is a complete example in http://discussion.forum.nokia.com/fo...d.php?t=110301

  5. #5
    Registered User
    Join Date
    Sep 2008
    Posts
    13

    Re: Signing issues

    Thanks, that did it. It was succesfully installed. Oh, and thank you for the heads up about console apps.

Similar Threads

  1. PyS60 Talks #1 : Sis files and Signing Issues
    By bogdan.galiceanu in forum Symbian
    Replies: 12
    Last Post: 2008-07-29, 11:16
  2. Security & Signing issues with new nokia models?
    By Tzimbar in forum Mobile Java Networking & Messaging & Security
    Replies: 2
    Last Post: 2008-07-09, 17:18
  3. Signing issues
    By lores3000 in forum Mobile Java Networking & Messaging & Security
    Replies: 3
    Last Post: 2008-04-25, 16:34
  4. Midlet Signing Issues
    By robop in forum Mobile Java General
    Replies: 4
    Last Post: 2008-03-06, 04:53
  5. Signing issues with N80
    By the_bolo in forum Mobile Java Networking & Messaging & Security
    Replies: 5
    Last Post: 2006-05-24, 18:57

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×