Цифровая подпись с использованием клиентского сертификата в ASP.Net

Я пытаюсь подписать информацию с помощью закрытого ключа. Я знаю, как это сделать в настольном клиентском приложении с .Net, но не знаю, как это сделать в ASP.Net. Он будет использоваться во внутренней сети с использованием IE8. Если это делается через ASP.Net, я предполагаю, что закрытый ключ не отправляется на сервер, когда пользователь вводит свой пароль сертификата при переходе на сайт (https, двусторонний SSL), но я не уверен. Если нет возможности получить доступ к закрытому ключу клиента на сервере, то как я могу что-то подписать в браузере? Могу ли я использовать javascript?

Изменить: я думаю, что было бы полезно узнать в первую очередь, можно ли это сделать на сервере или это нужно сделать на клиенте?


person jle    schedule 07.03.2012    source источник


Ответы (1)


Закрытый ключ сертификата клиента НЕ передается на сервер.

ЕСЛИ вы действительно хотите/должны что-то подписать с помощью клиентского сертификата, ТОГДА вам нужен компонент на стороне клиента... Насколько я знаю, это невозможно с javascript... есть решения, использующие Flash, Silverlight, Java-апплеты как часть Страница ASP.NET для выполнения того, что вы просите...

Возможность делать это исключительно на стороне сервера является верным признаком нарушения безопасности (относительно клиентского сертификата) ИМХО.

person Yahia    schedule 07.03.2012