How to replace expired certificate in Tizen IDE

2.1k views Asked by At

There is a way to generate an author's certificate in Tizen SDK IDE (see a picture below). It works, but the generated certificate is valid for 1 year only unlike in Android case where an author's cert is valid for 25 years.

When an author certificate is expired, it's impossible to submit new binaries to Samsung's App Store. The only way to fix this is to terminate all applications and re-register them with a new certificate. As a result, all statistics will be lost and customers would need to pay for updates. Since certificate is valid for one year only, this procedure would need to be repeated every year, which would create a horrible experience for customers and developers.

Is there a way to generate an author's certificate valid for 25 years just like in Android case?

Cert generation in Tizen SDK

2

There are 2 answers

1
ozbek On BEST ANSWER

As of Tizen SDK 2.4.0_Rev5, there is now "Renew Certificate" in certificate dialog (tested on Linux).

  1. On the Tizen IDE toolbar, click the "Register Certifcate" button.

Register Certificate button

  1. Press "Replace" in Step 3. to activate "Advanced" checkbox. Check the "Advanced" box and you will see "Renew certificate" button.

Advanced checked

  1. Press "Renew certificate" and choose the same author.p12 file, input the password for it, and press "Request" button.

Author Certificate

  1. Login to your Samsung account (if prompted) and the certificate will be renewed.

In my case, there was no option to put the renewal period and the certificate extended for only another year.

0
Oleg Gryb On

I found a solution. There is a feature in Tizen IDE called "Use existing Android Keystore" that can be used to generate a new certificate using an old key. It's not obvious at all, but it worked.

I've created Java keystore first by importing my old Tizen's author.p12 file to it (needless to say that it has nothing to do with Android):

keytool -importkeystore -deststorepass <ks-pwd> -destkeypass <ks-pwd> \
  -destkeystore <ks-name>.jks -srckeystore author.p12 \
  -srcstoretype PKCS12 -srcstorepass <p12-pwd> -alias usercertificate

Then I've uploaded the created keystore to Samsung in Tizen IDE using the dialog on the picture below and got my new/renewed certificate signed by the old key.

The new certificate has been accepted by the App Store already, so it works.

PS. After I've done all that, I got another suggestion from the App Store. They basically said that author.p12 file can be used in the procedure above instead of *.jks, but I didn't try it.

Renewing Tizen Certificate

Instructions for TizenStudio 1.0.1

  1. Go to Tools->CertificateManager

enter image description here

  1. Click on + to add a new certificate profile

enter image description here

  1. Select "Samsung" on the next screen
  2. Select Mobile/Wearable
  3. Click on Advanced Options, check "Use an existing...", select your existing expired certificate and provide an old password

enter image description here

  1. Go through Samsung login pages
  2. New certificate signed by the old author's key will be created and new profile will be set as a default