Как заменить истекший сертификат в Tizen IDE
Существует способ сгенерировать авторский сертификат в Tizen SDK IDE (см. Рисунок ниже). Это работает, но сгенерированный сертификат действителен в течение 1 года только в отличие от случая Android, где авторский сертификат действителен в течение 25 лет.
По истечении срока действия авторского сертификата невозможно отправить новые двоичные файлы в магазин приложений Samsung. Единственный способ исправить это - закрыть все приложения и перерегистрировать их с новым сертификатом. В результате вся статистика будет потеряна, и клиенты должны будут платить за обновления. Поскольку сертификат действителен только в течение одного года, эту процедуру необходимо будет повторять каждый год, что создаст ужасный опыт для клиентов и разработчиков.
Есть ли способ сгенерировать авторский сертификат, действительный в течение 25 лет, как в случае с Android?
2 ответа
Начиная с Tizen SDK 2.4.0_Rev5, в диалоге сертификатов теперь есть "Обновить сертификат" (протестировано в Linux).
- На панели инструментов Tizen IDE нажмите кнопку "Зарегистрировать сертификат".
- Нажмите "Заменить" в Шаге 3., чтобы активировать флажок "Дополнительно". Установите флажок "Дополнительно", и вы увидите кнопку "Обновить сертификат".
- Нажмите "Обновить сертификат" и выберите тот же файл author.p12, введите пароль для него и нажмите кнопку "Запрос".
- Войдите в свою учетную запись Samsung (если будет предложено), и сертификат будет обновлен.
В моем случае не было возможности поставить срок продления и сертификат продлили еще на один год.
Я нашел решение. В Tizen IDE имеется функция "Использовать существующее хранилище ключей Android", которую можно использовать для создания нового сертификата с использованием старого ключа. Это совсем не очевидно, но это сработало.
Сначала я создал хранилище ключей Java, импортировав в него мой старый файл author.p12 от Tizen (не говоря уже о том, что он не имеет ничего общего с Android):
keytool -importkeystore -deststorepass <ks-pwd> -destkeypass <ks-pwd> \
-destkeystore <ks-name>.jks -srckeystore author.p12 \
-srcstoretype PKCS12 -srcstorepass <p12-pwd> -alias usercertificate
Затем я загрузил созданное хранилище ключей в Samsung в Tizen IDE, используя диалоговое окно на картинке ниже, и получил новый / обновленный сертификат, подписанный старым ключом.
Новый сертификат уже был принят в App Store, поэтому он работает.
PS. После того, как я все это сделал, я получил еще одно предложение из App Store. Они в основном сказали, что файл author.p12 можно использовать в процедуре выше вместо *.jks, но я не пробовал.
Инструкция для TizenStudio 1.0.1
- Перейдите в Инструменты->CertificateManager
- Нажмите на +, чтобы добавить новый профиль сертификата
- Выберите "Samsung" на следующем экране
- Выберите Мобильный / Носимый
- Нажмите на Дополнительные параметры, установите флажок "Использовать существующий...", выберите существующий сертификат с истекшим сроком действия и введите старый пароль.
- Перейти на страницы входа Samsung
- Будет создан новый сертификат, подписанный старым авторским ключом, и новый профиль будет установлен по умолчанию