Подпись сообщений сертификатом PCKS12 на стороне клиента (браузером)?
Добрый день. Я особо с криптографией не знаком был до последнего момента, поэтому не пинайте сильно если вопрос нубский (гуглю я на эту тему уже два дня, и все никак).
Диспозиция: пользователь заходит, пользуясь своим любимым браузером на сайт по https. Указывет сертификат, с помощью которого надо установить конект с сервером. Сертификат валидный, его пускает, и ему надо послать на сервер текстовое сообщение, подписанное его сертификатом.
На сервере есть только публичная часть ключа, то есть подпись на стороне сервера отпадает (сделано это для защиты от фальсификации сообщений со стороны владельцев сервера).
Собственно вопрос: есть ли способ подписать сообщение клиентским сертификатом на стороне браузера? Я находил решение на JS, но основано оно на ActiveX, т.е. исключительно для IE. Подпись руками через шелл тоже не подходит.
Единственное что могу посоветовать — взглянуть на javascript код регистрации на startssl.com (это бесплатно) — там как минимум яваскриптом генерируется ключ. Быть может найдете что-то… В любом случае поддержки этого вы добьетесь только в ie и ff, в хроме у того же startssl не работает ничего.
Вообще стандарт для подписи чего-либо на клиентской стороне — java-апплеты.