You Are Here:

Community: Wiki

This page was last modified on 2 November 2009, at 18:04.

How to sign a .Sis file with Self-Sign Certificate

From Forum Nokia Wiki

Reviewer Approved   
Note!

Carbide.c++ IDE offers inbuilt feature to create and sign the .sis file with Self-signed certificate or Developer certificate. See the images below:

  • Step1 : Open your project in Carbide.c++
  Project >> Properties >> Carbide.c++ >> Build Configurations >> SIS Builder

Image:Step1.png


  • Step2 :
  Project >> Properties >> Carbide.c++ >> Build Configurations >> SIS Builder >> Add

Image:Step2.png



This article is specific to S60 3rd Edition development or newer. From S60 3rd Edition, which is based on Symbian OS 9, a user can install only signed applications.

If an application requires basic capabilities only, it can be signed with self-signed certificate. Basic capabilities include LocalServices, NetworkServices, ReadUserData, UserEnvironment and WriteUserData. Starting with S60 3rd Edition Feature Pack 2 release (aka S60 3.2) the Location capability can also be granted to self-signed applications.

An application that does not require any capabilities can also be signed with self-signed certificate. The advantage of self-signing is that it's fast, since it's done locally on developer's machine and that a self-signed installable package can be installed on more than one device, i.e. no restriction applies (based on IMEI number, for example).

The drawback of self-signed certificate is that a user will be prompted a warning dialog. It says that the application is not trusted and the user can decide whether or not to continue the installation. The warning dialog does not appear when the application is signed via Symbian Signed.

Please note that self-signing works even if the application demands stronger capabilities than what is in the basic set, however, it won't install on the device.

Aside from the capability restrictions please note that you cannot self-sign applications having the UID3/SID in the protected range. In practice, during R&D stage you can use a random UID from the 0xE******* range but for the application release you must still use an UID allocated to you, for free, by Symbian. This UID will be in the 0xA******* range and can be obtained through the Unprotected UID Allocation Request form.

Following is the example which illustrates the Self-Signing procedure.


Step-1 Creating Certificate and Keys

From your Desktop Screen: Start-> Run -> Cmd then go in your Sis file path using cd DOS command.

C:\HelloWorld\sis> makekeys -cert -password World123 -len 1024 -dname "CN=World User OU=Development OR=WorldCompany CO=FI EM=World@test.com" WorldKey.key WorldCert.cer

Note: It is important the the above code be written on one line. This applies to the code below too.

This will create WorldKey.key and WorldCert.cer files which you will need to sign your HelloWorld.Sis file in the following statement.

Important: Versions of MakeKeys prior to Symbian 9.2 always generate certificates with a validity period of 1 year. This may be too short for released code, as it restricts the lifetime of the signed SIS files. You can create a certificate using OpenSSL to choose a different validity period, or use the update to MakeKeys provided by Symbian here to specify an alternative validity period.


Step-2 Signing Application

C:\HelloWorld\sis>signsis HelloWorld.sis HelloWorld.sis WorldCert.cer WorldKey.key World123


Note: Here you may find that World123 is the password.

Finally you will get your Self-Signed certified HelloWorld.Sis file. Install it on the device. Have fun !!!

Related articles

S60 SW installer troubleshooting

Related Wiki Articles

No related wiki articles found

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fUsingE5fTCE5fTrustCenterE5fPublisherE5fIE44X qdcZpublisherQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fc764fd1cE2d8b06E2d499aE2d9a6aE2d17c3903d5a65E2fforumE5fnokiaE5fcrawlerE5fagentX qdcZtitleQSxUsingE20TCE20TrustCenterE20PublisherE20IE44E20E2dE20ForumE20NokiaE20WikiX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qrssZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qfnZdistributionQUxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2fX qfnZtopicQUqfnTopicZsecurityQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZsigningE5fandE5fcertificationQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qfnZupdatedQDx2008E2d10E2d02X qfnZuserE5ftagQSxpkcsX qfnZuserE5ftagQSxsecurityX qfnZuserE5ftagQSxsigningE2dandE2dcertificationX qmarsZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ
User Rating: qfnZuserE5FratingQNx4E2E0000X
RDF Facets: qfnZuserE5FtagQSxiE20didntE20understandE20stepE201E20withE20cmdX qfnZuserE5FtagQSxmeE20tooX