Автор: Бакунин Юрий
Источник: http://www.mobi.ru/
В середине февраля была приостановлена выдача сертификатов DevCert. Сейчас сертификаты DevCert выдаются лишь владельцам Publisher ID, недоступного физическим лицам. Напомним, что сертификация программ – головная боль владельцев смартфонов на ОС Symbian 9 с программной платформой S60 3rd. Сертификаты DevCert ранее раздавались всем желающим и позволяли использовать программы, созданные энтузиастами. Теперь подписывать программы очень сложно. Что можно сделать, а чего уже никак не сделаешь, подробно рассмотрено в нашем FAQ.
Устаревшие моменты мы специально оставили, этот текст набран курсивом и выделен серым. |
В. Скачал программу, при установке пишет "Ошибка в сертификате. Обратитесь к поставщику приложения". Что делать? Обращаться к автору программы?
О. Нужно прочитать очень внимательно описание к программе. Скорее всего, там есть где-то текст "Программу необходимо подписать". Не поверите, но ее действительно необходимо подписать.
Обязательно напишите об этом автору по e-mail. Если не ответит после 5 попыток – раздобудьте номер его ICQ и пишите туда с периодичностью в 10 минут (5 смайликов подряд, CAPS LOCK, куча восклицательных знаков и падонковский сленг приветствуются). Если и это не работает – узнайте, где он живет: пишите большими буквами на заборе, подсовывайте записки под дверь...
Но гораздо лучше – научиться подписывать программы самостоятельно.
В. А как это сделать? Если можно – подробнее.
О. О, сразу видно практический подход. Очень подробно и красочно – здесь.
В. Что такое этот сертификат вообще?
О. Программе для работы необходимы некоторые функции телефона, доступ к которым ограничен. Сертификат предоставляет доступ к этим функциям.
В. Можно ли как-то исхитриться и поставить программу без сертификата?
О. Пока еще никто не придумал, как это сделать. Дерзайте, вдруг у вас получится (шутка)!
В. Можно внести ясность? Почему некоторые программы не подписаны и их нужно подписать? Почему некоторые разработчики распространяют неподписанные программы?
О. Потому, что подписать программу стоит денег и времени.
Мне, как автору неподписанных программ Jbak Tools, Jbak TaskMan и нескольких других, уже порядком надоел этот вопрос, задаваемый раз по пятнадцать в неделю.
Платить нужно за каждую новую версию программы, и ждать результат надо не один день.
Заниматься подписью своих программ имеет смысл только для коммерческих организаций.
В. А вот разработчик программы XXX сделал так, что подписывать программу не нужно, и никому за это не платил! Получается, он шаман, а ты не шаман?
Все зависит от того, что делает программа. Простейшие программы подписывать обычно не требуется.
Понять, какие функции доступны программе без подписи и для чего нужна подпись, можно из этой статьи.
В. А все же, в каких случаях применяется сертификат SelfSigned, и в каких – DevCert?
О. Чтобы понять это, нужно изучить статью по ссылке из предыдущего поста. Вкратце – некоторым функциям системы – интернет, SMS, мультимедиа – вполне достаточно сертификата SelfSigned, и программисты подписывают их самостоятельно этим сертификатом. Программа, подписанная таким сертификатом, работает на всех устройствах Symbian 9.x
Если в программе используется хоть одна из более опасных функций – такими считаются глобальная обработка клавиш, выгрузка сторонних процессов, изменение настроек телефона и даже автозагрузка – необходим DevCert и программу необходимо подписывать самостоятельно.
В. Но есть же Symbian Freeware? Почему бы разработчикам бесплатного софта не воспользоваться этим?
О. Программа Symbian Freeware действительно существует и подписывает бесплатно некоммерческие программы. Но то ли работает слишком медленно, то ли совсем не работает. Среди разработчиков бытует мнение, что все эти объяснения придуманы, чтобы избавиться от назойливых пользователей.
- Дайте мне сертификат! - просит пользователь. - Я хочу подписать им программу ХХХ.
- Зачем пользователю сертификаты? - отвечают ему в Symbian (либо кто-то из "компетентых" разработчиков на форуме). - Сертификатами должен заниматься разработчик. Для него созданы все условия. Например, Symbian Freeware. Для некоммерческих разработчиков у нас все бесплатно.
На официальных форумах forum.nokia.com, symbian.developer.com и других есть по несколько веток примерно такого содержания:
- Я отправил свою программу на подпись месяц назад, но мне пока не ответили, - жалуется новичок фриварного движения.
- Счастливчик, - утомленно вздыхает ветеран. - Я уже семь месяцев жду. А даже если и подпишут - так это был кривой релиз семимесячной давности, оно мне уже и не нужно.
- Товарищи дорогие! - восклицает другой ветеран. - Найдите какую-то компанию, у которой есть Publisher ID! Я нашел, уговорил, теперь подписываю через Express Sign, всего 20 долларов за релиз.
- Найди, уговори, заплати... Эх, почему я не пишу калькулятор, - вздыхает новичок, выводя в ридми к своей системной утилите фразу "программу необходимо подписать".
Вот такая ситуация c Symbian Freeware на сегодня.
О. Потому, что это тоже стоит денег и мороки. Там, где вы прочитали про Freeware, было написано маленькими такими буквами (если вообще было написано) – Symbian Freeware требует наличия у разработчика ACS Publisher ID, а это не бесплатно. Так что учитесь подписывать.
В. Какие вообще бывают сертификаты?
О. Пользователю нужно знать только про один – DevCert (Developer Certificate), по-русски – сертификат разработчика. Этот сертификат бесплатно выдаётся разработчику для тестирования программы. На практике оказалось, что пользователь также может им пользоваться, чтобы подписывать программы для своего телефона.
Все прочие сертификаты нужны только разработчику – они разрешают установку программ на всех телефона Symbian 9.x. Подробно – здесь.
В. Сертификаты больше не дают! Что теперь делать?
О. Теперь доступно 3 варианта использования программ.
Вариант первый - посмотреть, нет ли версии программы для онлайн-подписи (online sign)? Если есть - скачать и воспользоваться онлайн-формой.
Вариант второй - найти кого-то, у кого есть Publisher ID, и уговорить его сделать сертификат.
Вариант третий - старые сертификаты никто не отменял. Сертификат, сделанный на полгода, работает неограниченный срок, достаточно перед установкой подписанной им программы перевести дату назад.
Ну и еще два, необычных.
Фантатический - войти в контакт с инопланетянами - возможно, их технологии позволят ставить на ваш S60-телефон неподписанные программы.
Суперфантастический - взять чужой сертификат, расшифровать, вписать туда свой IMEI и зашифровать обратно. Но это, понимаете, кроме технической суперсложности, ещё и нелегально.
В. Что такое этот Publisher ID?
О. Как следует из названия - это некий уникальный номер, который выдается издателю. В данном случае - издателю программ для Symbian 9.x. На руки выдаётся сертификат, который загружается в браузер. По наличию сертификата определяется, может ли пользователь воспользоваться symbiansigned.com. Ключ из этого сертификата используется для подписи программ.
Publisher ID выдаются централизовано сайтом http://trustcenter.de. Сертификат могут получить лишь юридические лица после проверки, проведенной центром сертификации. Стоимость Publisher ID - $200 в год.
По этому самому ID можно получить теоретически неограниченное количество сертификатов, до 1000 IMEI в каждом.
Некоторые западные и китайские форумы приобрели Publisher ID и выдают сертификаты своим пользователям, что не вполне законно.
В. Какие программы можно подписать через онлайн-форму?
О. У каждой программы есть уникальный номер - UID. Если UID программы начинается с 0xE - ее можно подписывать через онлайн форму.
Однако раньше использовались UID из другого диапазона и начинались с Ox2. Поэтому разработчику, чтобы сделать доступной подпись через онлайн-форму, неоходимо менять UID в программе.
Это само по себе несложно, но есть и другие препятствия, начиная от лени разработчика, который мог уже давно переключиться на другой проект, и заканчивая неостаточной оперативностью обновления программ на вашем любимом сайте.
В. Я разработчик. Есть пару вопросов по этому делу...
О. То, с чем я сам сталкивался, описал в отдельной статье. Очень надеюсь, что после прочтения вопросов больше не останется.
В. Один сертификат – это на сколько телефонов?
О. Раньше на сайте simbiansigned.com можно было свободно получить сертификат на один-единственный IMEI. Сейчас такой возможности нет, осталась только возможность получения сертификата для владельцев Publisher ID. Такой сертификат может быть получен сразу на 1000 телефонов.
Было раньше:
О. Есть особый DevCert на 1000 телефонов, но бесплатно его не получить. Тот, что вы получили самостоятельно, – только на один телефон. Программа, подписанная вашим сертификатом, на другом телефоне выдаст ошибку сертификата.
В. При установке подписанной программы выдается ошибка – срок действия сертификата истек, или еще не наступил, или неверная дата в телефоне. Что бы это значило?
О. Во-первых, срок действия сертификата ограничен – полгода с момента получения. При попытке установить «просроченную» программу выдаётся ошибка. Это нестрашно – достаточно переставить дату в телефоне назад. После установки программы не забудьте выставить правильную дату.
Есть ещё один нюанс. У меня были случаи, когда срок действия только что полученного сертификата начинался с завтрашнего дня. Если сразу же подписать программу этим сертификатом – будет та же ошибка. В этом случае нужно переставить дату на день вперед.
В последнее время этого не наблюдается.
Ну и в-третьих – дата на телефоне может быть и в самом деле неправильной.
В. Скачал программу, которую не нужно подписывать. Ставлю – выдает ошибку "невозможно установить незащищенное приложение из ненадежного источника" (либо просто "Ошибка сертификата", как в первом вопросе).
О. На многих моделях по умолчанию запрещена установка приложений, которые программист собственноручно подписал сертификатом Self Sign.
Запускайте диспетчер приложений, настройки, там есть пункт "Установка приложений" и два варианта – "все" или "с подписью". Нужно выбрать "все". После этого все подобные ошибки исчезнут.
В. Сертификат, которым я подписываю программы для себя, официально называется "Сертификат разработчика", но при этом я не разработчик. Это вообще легально?
О. Сам по себе сертификат на руках у пользователя – вполне законное явление. Если автор выложил в Интернете программу с пометкой, что ее нужно подписать, а вы подписали и установили – закон никто не нарушал.
Если вы подписали и установили взломанную программу – это незаконно. Не ставьте ломанные программы, пожалуйста!
Было раньше:
О. Да, это абсолютно законно.
Просто изначально компания Symbian планировала несколько иной сценарий развития.
Программист пишет программу, отсылает им на тестирование, проплачивает всё, что следует, и выкладывает своё детище на радость пользователя. А пользователь ни сном ни духом о сертификатах не знает. И всем хорошо.
На практике оказалось несколько иначе. Программист написал какую-то утилиту для себя и выложил на каком-нибудь сайте с пометкой: "Кто хочет себе такую же программу – подписывайте сами, это бесплатно. Платить за то, чтобы вам было удобнее, я не хочу – я и так потрудился". И пользователи бросаются на штурм symbiansigned.com. Так появился новый тип программного обеспечения – "программа, которую нужно подписать".
Судя по работе symbiansigned.com, такое действительно не ожидалось. Какое-то время на сайте, выдающем сертификаты всем желающим, были перебои, потом (где-то полгода назад) выдача сертификатов была на несколько недель остановлена. Портал за это время, видимо, перевели на более мощное железо, и он стал удовлетворять растущие потребности пользователей в хитроумных файлах.
Совсем недавно на symbiansigned.com открылся новый сервис – подпись программ через интернет (пока ещё бета). Чтобы воспользоваться сервисом, необходимо зарегистрироваться на сайте и зайти под своей учетной записью. Для подписи программы достаточно ввести свой IMEI, e-mail и указать путь к подписываемому файлу – подписанная программа будет выслана по электронной почте. Это в очередной раз доказывает, что подпись программ – легальна.
В. Но ведь на Symbian 6-7-8 такого не было! Зачем ввели? Мне и без этого хорошо было!
О. Есть вполне объективные соображения, чем это может быть выгодно производителям телефонов. Некоторые из них неочевидны простому пользователю, а тем более – с русским менталитетом.
Законы одного американского штата запрещают выбрасывать лосей из вертолёта. Видимо, был какой-то случай, в результате которого этот штат проиграл судебный процесс. И только из-за того, что один из участников процесса заявил: "В законе не сказано, что нельзя выбрасывать лосей из вертолета. Пусть штат выплачивает все убытки, раз я ничего противозаконного не делал".
Здесь наверняка было что-то подобное. Поставил пользователь программу, которая сотворила что-то страшное с его телефоном. Пошли тяжбы – пользователь не мог знать, что программа ненадёжная, не знал, какие функции она могла использовать, – нигде об этом не сказано. Пусть производитель возмещает убытки и моральный ущерб.
Теперь производители телефонов оградили себя от подобного риска. При установке обязательно показывается, какие жизненно важные функции телефона будет использовать программа. А если программа не прошла через Symbian Signed – выводится предупреждение о том, что приложение ненадежно и может повредить телефон. Потерял данные или повредил телефон? Тебя же предупреждали при установке!
Ну и потом – кому помешает контроль над крупными производителями ПО? Дополнительный финансовый ручеек тоже не лишний. К тому же у финнов появляется ещё один аргумент в пользу права писать в анонсах – "наша ось – самая защищенная и надежная ось".
Крупным производителям ПО сертификация тоже на руку. По логике, должно было резко снизиться пиратство из-за появления различных защитных функций – нет доступа к исполняемым файлам на телефоне, после распаковки установочного файла сертификат становится недействительным, и прочее. Но, как ни странно, индустрия вареза своих темпов не снизила.
Вторая явная выгода – подавление мелкого конкурента. Раньше ведь как было? Появился вдруг какой-то энтузиаст, написал в одиночку какую-то мощную программу – и у крупного производителя количество продаж резко упало. Теперь проще стало: начнет этот конкурент про всякие сертификаты читать, про сложные процедуры – и махнет на все рукой.
С точки зрения пользователя... Как ни странно, тоже все неплохо. Вопрос про неудобства подписи программ поднимался на официальном форуме Nokia не один раз. Диалог обычно идёт в следующем ключе:
- Nokia, Nokia, а почему у тебя такой выкрутас с подписями?
- Потому, что пользователь не должен подписывать программы. Это должен делать программист.
- Nokia, Nokia, а почему программу XXX нужно подписать?
- Потому, что ее написал плохой программист, это плохая программа!
- Хм... Программист, программист, а почему ты написал плохую программу, которую нужно подписать?
- Потому что эти редиски из NokiО... Иди их проси.
- Nokia, NokiО... А, ладно, уж как-нибудь сам подпишу.
В. Я купил телефон за свои кровные. Я знаю, что с установкой и использованием программ, не прошедших тестирование в Symbian Signed, связан некоторый риск. Тем не менее я готов пойти на этот риск, разрешив программам делать все что угодно и не предъявлять претензий ни к разработчикам программ, ни к компаниям Nokia и Symbian. Могу ли я как-то оградить себя от навязчивой заботы упомянутых компаний о безопасности моего телефона и просто пользоваться интересующим меня софтом так же легко, как на Symbian 6-7-8?
О. Вопрос, который звучал примерно так, был задан постоянными посетителями одного русскоязычного сайта энтузиастов на форуме Nokia. Постоянные посетители вначале не поняли, что за пожар случился и почему вдруг посыпались посты на русском языке (позже русский текст из темы был убран, самые вразумительные высказывания перевели на английский). Впрочем, в итоге был получен вполне официальный ответ: Нет. Нельзя. Потому, что Nokia прежде всего заботится о среднестатистическом пользователе, который не желает никакого риска. Таких пользователей десятки миллионов, продвинутых пользователей гораздо меньше.
Читатель может почувствовать подвох – оказывается, выпуская смартфоны под Symbian 6-7-8, Nokia заботилась о других пользователях, что ли? Но это уже вопрос риторический.
Существует способ добиться доступа в недоступные простым смертным папки и разрешить программам использовать функции, доступные только производителям телефонов. Способ этот связан с модификацией файла прошивки. Но он не гарантирует то, что всё заработает. Кроме того, способ нелегальный и в 25% случаев смартфоны в процессе такой перепрошивки погибают.