1

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

ozbek
  • 20,955
  • 5
  • 61
  • 84
Oleg Gryb
  • 5,122
  • 1
  • 28
  • 40
  • Are you sure that is the case? The author certificate is issued by Samsung and the app store is run by Samsung. I'd think they have a way to handle author certificate hand-over once it is reissued/renewed. – ozbek Apr 12 '16 at 06:18
  • 1
    @ozbek I'd think that too and has already submitted a request to their support. No plausible solution so far. Deleting/re-registering apps that they've suggested is not a good option. Below is what I have in my cert and it did stop working on 04/05. Can't submit any binaries with it. Not Before: Apr 6 22:31:25 2015 GMT Not After : Apr 5 22:31:25 2016 GMT – Oleg Gryb Apr 12 '16 at 16:16
  • Do you mean that you already tried the _obvious_? 1) Generate a new certificate, 2) Sign updated package with the new certificate, and 3) Try to submit the package to app store. – ozbek Apr 13 '16 at 04:14
  • Yes, of course. The message was - you need to delete all existing apps to use the new key. – Oleg Gryb Apr 13 '16 at 04:17

2 Answers2

2

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.

ozbek
  • 20,955
  • 5
  • 61
  • 84
  • 1
    Cool and good. They've probably did it because I've reported the problem. I hope they will also change their error message coming from App Store, which currently says "Default SDK key was used" instead of "Certificate is expired". Thanks for the research. I accept your answer. – Oleg Gryb Apr 27 '16 at 12:46
1

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
Oleg Gryb
  • 5,122
  • 1
  • 28
  • 40