Мидлет, подписанный сертификатом
|
Предыдущая В начало Следующая |
|
Поскольку использование мидлета теоретически может привести к нанесению вреда пользователю, стандарт регламентирует процесс подписывания мидлета специальным сертификатом:
|
|
· | автор мидлета создает пару ключей RSA с помощью утилиты, доступной для свободного скачивания;
|
· | автор мидлета получает сертификат (certificate) у известной фирмы (Certificate provider), которая ведет базу данных выданных сертификатов. Сертификат содержит сведения о авторе, его публичный ключ и контрольную сумму этой информации, зашифрованную с помощью закрытого (private) ключа, принадлежащего Certificate provider;
|
· | автор добавляет в JAD файл приложения свой сертификат (который содержит публичный ключ) и контрольную сумму JAR файла, зашифрованную своим закрытым ключом ("подписывает" мидлет).
|
|
|
Необходимо, чтобы в телефоне присутствовал корневой сертификат(root certificate) Certificate provider. Root certificate содержит сведения и Certificate provider и принадлежащий ему публичный ключ. Таким образом, имея root sertificate, прошивка телефона имеет возможность проверить, не подделан ли сертификат автора. Для этого телефон самостоятельно подсчитывает контрольную сумму сертификата, и сравнивает ее с контрольной суммой сертификата, расшифрованной с помощью публичного ключа Certificate Provider;
|
|
После этого прошивка телефона подсчитывает контрольную сумму JAR файла, и сравнивает ее с контрольной суммой, расшифрованной с помощью публичного ключа автора, содержащегося в его сертификате.
|
|
Описанный процесс использует алгоритм SHA-1 для подсчета контрольных сумм длинной 512 бит и алгоритм шифрования RSA, с длинной ключа 1024 бит.
|
|
Только "подписанный" мидлет имеет неограниченный доступ к потенциально опасным операциям (доступ к файловой системе, соединение с интернетом, отсылка SMS и т.д.). Если мидлет не подписан, то, в лучшем случае, телефон будет выдавать запросы безопасности на разрешение доступа (Siemens, Nokia, SonyErricsson), или полностью запрещать использование этих операций (Motorola).
|
|
Необходимо понимать, что сертификат гарантирует только то, что мидлет был подписан владельцем сертификата, но не гарантирует, что мидлет не содержит ошибок и/или производит вредоносные действия.
|
|
См. также: Как избавиться от запросов на разрешение доступа к файловой системе при загрузке мидлета
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|