Мидлет, подписанный сертификатом
Предыдущая  В начало  Следующая


 
   Поскольку использование мидлета теоретически может привести к нанесению вреда пользователю, стандарт регламентирует процесс подписывания мидлета специальным сертификатом:  
 
·автор мидлета создает пару ключей 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).  
 
   Необходимо понимать, что сертификат гарантирует только то, что мидлет был подписан владельцем сертификата, но не гарантирует, что мидлет не содержит ошибок и/или производит вредоносные действия.  
 
    См. также: Как избавиться от запросов на разрешение доступа к файловой системе при загрузке мидлета  
 
 
 



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Rambler's Top100