Страница 1 из 1

Решение проблемы с сертификатами

Добавлено: 21.04.2008 11:17
Blaze
Внимание, внимание!
Наконец-то и на Symiban 9.1/9.2 появился полный доступ к скрытым папкам!
Всё попробовал! Все работает!! 15 минут мучений и можно забыть о сертификатах!!!

1. Сначала открываем полный доступ к файлам Полный доступ к системным папкам смартфона на базе Symbian
- я пробовал первый способ, всё работает!
В результате получаем возможность просмотреть любую папку и чего-нибудь в нее скопировать!
Методом обычного извлечения из SIS-архива спокойно поставил неподписанный S60 Ticker!

2. Качаем архив с сертификатом на 20 лет -
Cert.zip
Далее:
1. Заходим в resource, создаем там папку swicertstore, в ней создаем папку dat, в эту папку кидаем файл 00000001.
2. Возвращаемся обратно в папку resource и ставим атрибуты "Только чтение" на папку swicertstore, потом на папку dat, потом на сам файл 00000001. Перезагружаем смартфон.
3. Пробуем установить прогу - она установится даже без замены корневого сертификата , так как система неможет заменять файлы у которых атрибуты только чтение.

3. Скачиваем программу SignSIS для подписи на смартфоне:
SignSis 1.03 - Офисная программа для OS Symbian
Изображение
Описание:
SignSis – программа, которая позволяет подписывать (сертифицировать) приложения прямо на смартфоне.

Версия: 1.03
Язык интерфейса: русский
Совместимость: Symbian OS 9.x
Разработчик: Leftup
Тип распространения: Freeware

Особенности:

- возможность удаления с приложения ранее созданного сертификата;
- сохранение путей к ключ-файлу и сертификату;
- возможность ввода собственного пароля к ключ-файлу;
- возможность подписи приложений сертификатом Self-Signed;
- удобный интерфейс;
- добавлена поддержка RSA ключей и сертификатов;
- оптимизированный алгоритм подписи.

Изменения:

- программа перекомпилирована с использованием RVCT компилятора, что позволило уменьшить размер в 2 раза.
Данный файл рассчитан на версию Symbian: 9: Это модели телефонов Nokia 3250, Nokia 5500 Nokia E60, Nokia E61, Nokia E70, Nokia N71, Nokia N73, Nokia N80, Nokia N91, Nokia N92, Nokia N93, Nokia N95 и другие модели.

И ВСЁ!!! Попробовал подписать Nokmote - без проблем!
Главное потерпеть.


Устанавливая важные (интересные, нужные) программы на свой телефон, вы иногда сталкиваетесь с проблеммой сертификации.
Да, к сожалению на Symbian 9 ввели систему сертификации, и теперь все программы, которые требуют доступа к важным данным, должны обязательно пройти сертификацию.

Так как другого выхода нет, разберем этот способ.

1. Скачиваем программу DevCertRequest2.0
2. Запускаем DevCertRequest вводим имя вашего нового файла с расширением .csr К примеру new.csr
Изображение
3. Шаг второй, заполнение полей. Делаем так:
Acs pub id ставим - нет. Для Private key file качаем этот архив signsis, и из него берем ключик.
Password пишем 12345678, только так, чтобы рядом с No password галки не стояло!
Изображение
4. Идем далее. Заполняем поля, думаю с этим трудностей ни у кого не возникнет.
Изображение
5. Далее. Вписываем свой IMEI и добавляем все application capabilities
Изображение
6. Далее жмем Finish и запрос на сертификат готов.
Изображение
>>Изображение<<
7. Далее нам нужно зарегистрироваться на сайте Symbiansigned.com
Регистрация на сайте работает, но вроде для платных почтовых ящиков или т.п. Ящики по типу Рамблера, Яндекса, Майла и т.п. не принимаются!
8. Идем сюда (естественно авторизовавшись) и загружаем файл созданный только что.(.csr файл) Путь его C:\Program Files\Symbian OS Tools\Developer Certificate Request - и там вы увидите new.csr
Изображение
9. Скачиваем только что созданный сертификат.
Изображение
10. Переименовываем в mycert.cer
11. Распаковываем архив на диск С компа в каталог signsis
12. Берем mycert.cer и кладем его в папку cert.
13. Подопытный файл(проги/игры) переименовываем в Moj.SIS и кладем в каталог signsis
14. Запускаем SIGN.bat
15. Далее загружаем на телефон, и ГОТОВО. Прога/игра сертифицированна.


SisSigner
По многочисленным просьбам, выкладываю программу SISsinger, которая позволяет, после получения сертификата, подписать любое приложение. Архив содержит все необходимые файлы: папка cert (файл mykey внутри), и установочный файл SISsinger. Сначала устанавливаем саму программу, а затем в ее папку добавляем папку с ключом из архива.

Теперь более подробно о том, что делать после получения сертификата:

1. Заходим в папку SISsinger и копируем в нее сертификат и подписываемое приложение
2. Запускаем файл SISSigner и указываем пути к сертификату, ключу и приложению ( рисунок 1)
3. Нажимаем Подписать ( появится картинка, как на рисунке 2)
4. После появления запроса Для продолжения нажать любую клавишу, нажимаем любую клавишу.
5. Все, приложение подписано.
6. Загружаем приложение в телефон и устанавливаем.
Сертификат и приложение можно не переименовывать - главное правильно в SisSinger'e указать к ним путь!

Изображение
Изображение

Дополнение от lv333

Промучившись некоторое время с командной строкой, решил упростить такой процес как подпись sisов сертификатом.
После установки этой программы добавляется такая надпись в меню при нажатии правой кнопки мышки:
Изображение
Как оно работает?
1) Очень просто, распаковываем приложеный архив в нем 4 файла:
install1.bat, install2.bat, uninstall.bat и signsis.exe.
2) Потом в тот же каталог куда мы все это распаковали кидаем свои сертификат и ключ.
3) Переименовывает сертификат в cert.cer, а ключ в cert.key. Или можно не переименовывать но тогда нужно редактировать в файле install1.bat переменные cer_name1 и key_name1.
4) Редактируем переменную password1 в файле install1.bat на свой пароль.
5) Запускаем install1.bat.

Если нужно две менюшки с двумя сертификатами редактируем и запускаем install2.bat.
Для полного удаления приложения, а так же записей реестра запускаем uninstall.bat.

Вот блок который нужно редактировать:

Код: Выделить всё

rem vars
rem -----------------------------------------------
rem Диск на который ставим прогу
set disk_ins=C:
rem Каталог в который ставим прогу
set app_path=Sign_sis
rem Префикс для подписаных файлов
set sign_prf=signed
rem Имя файла с сертификатом
set cer_name1=cert.cer
rem Имя файла ключа
set key_name1=cert.key
rem Пароль на сертификат
set password1=31536u2
rem Имя bat файла с параметрами
set bat_file1=signsis.bat
rem ключ реестра для команды
set sign_key1=Sign
rem ----------------------------------------------- 
Качаем архив со всеми файлами здесь.
install1.bat install2.bat uninstall.bat signsis.exe
меню.


Ответы на часто задаваемые вопросы:
При попытке установки приложения, смартфон пытается соединиться с Интернетом
Это происходит из-за необходимости проверки подлинности сертификата безопасности, которым подписана программа. Используется либо указанный вами принудительно Интернет адрес, либо адрес по умолчанию установленный в настройках "диспетчера приложений".
Во избежание этого, необходимо в "диспетчере приложений" отключить проверку сертификатов. [функция доступная через его настройки]
При попытке установки приложения, возникает уведомление :
"Ошибка в сертификате- обратитесь к поставщику приложения !"

Программа, которую вы пытаетесь установить, не имеет сертификата безопасности.
Необходимо выполнить сертификацию этого приложения.

При попытке установки приложения возникает уведомление:
"Срок действия сертификата истек или ещё не начался!"

Дата начала срока действия сертификата, которым подписана программа, ещё не наступила.
Эта ошибка возникает с новыми сертификатами. Подобное может происходить из-за разницы в часовых поясах, места где сертификат был выписан, и того где вы находитесь. Или по причине заведомо не совпадающей с реальным временем даты начала срока действия нового сертификата [вина Symbiansigned.com].
Перед установкой программы, переведите дату на смартфоне, на сутки – двое вперёд, установите программу, и верните дату обратно.

Зачем отключать проверку сертификатов, если программа уже подписана
Если вы пользуетесь официальным софтом, то кроме того, что при проверке подлинности сертификата безопасности, будет потрачено некоторое количество трафика, вам терять нечего. Если вы используете отличный от выше указанного софт, то сертификат не пройдет проверки, и установка будет отменена.
Для проверки используется либо указанный вами принудительно Интернет адрес, либо адрес по умолчанию установленный в настройках Диспетчера приложений.

При попытке установки приложения, возникло уведомление:
"Срок действия сертификата истёк!"

Сертификат безопасности выдается на срок равный шести месяцам. По истечении этого срока, приложение более не может использоваться.
Способы решения проблемы:
1 - Откатите дату на смартфоне на срок от 2 до 6 месяцев если приложение относительно новое, или на более длительный срок, в случае если программный релиз более старый . Установите требуемую программу, и верните дату обратно.
2 – Подпишите заново приложение новым персональным сертификатом
3 - Используйте более позднюю версию приложения с ещё не истекшим сроком действия сертификата. [/*]

Возможно ли подписать своим сертификатом, программу для кого-то другого :
Нет, персональный сертификат безопасности, выдается только на один IMEI.
Установить приложения, подписанные под чужой IMEI невозможно.

Для каждой программы нужен свой сертификат, или подойдет один для любой программы:
Единожды полученным сертификатом, можно подписывать все требующие сертификации программы, но только для смартфона на IMEI которого сертификат был выдан.

Мне подписали программу, и выдали файл -MyCert- куда его устанавливать:
Этот файл и есть сертификат, устанавливать его не нужно. Выдан он вам для того, чтобы вы либо могли самостоятельно подписывать, либо его не приходилось выписывать для ВАС заново. Что касается программы, то копия сертификата уже туда благополучно внедрена, и файл приложения готов к установке.


Сертифицируем приложения на смартфоне.

Что требуется:
1.Установленное на смартфон приложение - SignSiS
2.Сертификат безопасности - *cer
3.Файл ключа (с паролем или без) - MyKey

Первое:
Делаем запрос и получаем сертификат способом изложенным выше.

Второе:
Устанавливаем на смартфон программу SignSiS. Создаем в любом удобном для вас месте папку - например "Signed", в неё помещаем файл сертификата *cer, ключ MyKey, и файл приложения которое хотим подписать unsigned по умолчанию Moj.sis

Далее рассмотрим способ получения ключа без пароля:
Применяем ключ тот-же , что и в случае сертификации программ с помощью SisSinger на ПК. Скачиваем архив removepass, распаковываем в любое удобное место. Перемещаем в папку с файлами от removepass файл ключа MyKey. Открывем его с помощью стандартного приложения Блокнот, и смотрим какой тип ключа DSA или RSA. Согласно увиденному запускаем файл DSA.bat или RSA.bat в папке removepass . Откроется окно в котором требуется ввести пароль ключа с которого вы его хотите снять. Для ключа из архива SisSinger, пароль 12345678. Его и вводим. При этом знаки в строке могут не отображаться. Нажимаем один раз ввод , и в папке removepass создается файл ключа без пароля - mykey2 Смотрим скриншот.
Изображение
Изображение
Теперь у нас есть как ключ с паролем, так и без оного.

Эксперемент:
Для процесса подписи было взято четыре различных ключа - mykey с паролем 12345678, mykey2 тотже ключ но для него теперь не нужен пароль так как мы его устранили с помощью removepass , SmartMyKeyNP без пароля, и SmartMyKey применяемый с любым паролем. Также было взято четыре одинаковы SIS не подписанных приложения , которые были помещены в папки под номерами от #1- #4.
Изображение
Все четыре одинаковых файла, были подписанны различными ключами (по списку) с применением пароля, и без пароля.

Итог:
Приложение было успешно сертифицированно и установленно в трёх случаях.
А подписанное с применением ключа SmartMyKey не смотря на рапорт об успешном завершении процесса ,не установилось, так как мы получили ошибку : "Ошибка в сертификате, обратитесь к поставщику приложения!"

signsis_1.02_133.zip - 38,27 KB
mykey.zip - 1,13 KB
SmartMyKey.zip - 1,09 KB
SmartMyKeyNP.zip - 1,09 KB
removepass_135.zip - 1,28 MB