Возникла такая задача - реализовать подпись данных в браузере используя сертификат PKCS#12. Например - есть данные в виде строки и кнопочка - Подписать. Перед нажатием на кнопку надо выбрать сертификат или с хранилища или с какого-то места, им подписать данные - получить строку подписи. Реализовал это через Java applet. Но как выяснилось это не подходит. Смотрю в сторону создания плагина (использовать XPCOM) или может еще чего-либо, используя javascript. Может кто-то сталкивался с такими задачками и подскажет в какую сторону копать, какие объекты или библиотеки использовать, а то уже от десятков метров прочитанной документации толком ни на шаг не приблизился к решению этого вопроса. Заранее благодарен за любую инфу, которая хоть немного подтолкнет к реализации (просьба в гугль не посылать - постоянно его тормошу, )))) |
Alexandrr пишетподозреваю никто не понял что конкретно вы хотите, подпись данных для кого-чего, и зачем?
Входные данные: 1) строка, которую надо подписать, наприммер: {"_inherited":{"p":1},"childrenCache":{},"_objectPath":"local.mg","_systemCallbackHandle":{},"nvp":{"name":"type","value":"dunduk"},"str":"big interesting variable"} 2)путь к сертификату pkcs#12 В расширение отправляется строка для подписи и открывается такое окно Надо выбрать сертификат, его обработать - запросить пароль, получить данные и заполнить поля: - Файл(путь к файлу) (это сделано) Далее идет то что надо получить при работе с сертификатами (на java аплетах я это реализовывал). Как я понимаю, надо использовать какую-то библиотечку XPCOM для работы с сертификатами pkcs#12, если она есть, или если ее нет -то написать. - Отпечаток (не сделано) - Идентификатор (не сделано) И последнее - при нажатии на кнопку Подписать - происходит создание электронной цифровой подписи, которая заносится в соответствующее поле (как понимаю работа с какой-то библиотекой XPCOM) Далее при нажатии на кнопку Ок - строка с цифровой подписью отправляется в окно браузера в виде текстовой строки (тоже еще не понял как из расширения изменять данные в окне браузера)
Вот такая задача. Итог по вопросам: а) есть ли библиотека для работы с сертификатами pkcs#12 или может существует другой вариант для реализации этой задачи б) как можно изменять с расширения данные в окне браузера (передавать данные, и всячески работать с DOM) |