Крипто система довольно сложная вещь, включает в себя закрытый ключи и подписанные доверенным удостоверяющим центром открытые ключи. После накладывания подписи вы отправляете результирующий файл в котором сама информация и подпись или по отдельности информация + файл подписи, куда-либо. На приемной стороне снимают подпись на основе своей пары закрытый-открытый ключ (сертификат) и проверкой списка отзывов, который публикует удостоверяющий центр. Для обмена информацией точки обмена должны обменяться своими открытыми ключами, которые подписал данный удостоверяющий центр (это сертификаты). Закрытые ключи не должны покидать точки обмена.
Плагин для браузеров работает с самим криптопровайдером, и имеет свой API, с его помощью можно делать много чего,
cpdn.cryptopro.ru/default.asp?url=content/cades/pl... скачайте библиотеку от производителя и там можно разобраться как это работает.
Для работы вам нужен либо сторонний УЦ, либо развернуть свой, установить корневой сертификат УЦ в доверенные на сервере и клиенте, выпустить 2 сертификата-ключа, для сервера и для клиента, на сервере установить сертификат клиента, на клиенте установить сертификат сервера, у клиента в личное хранилище установить свой сертификат.
Подписываете на клиенте, файл отправляете на сервер любым способом, там снимаете подпись, получаете исходный файл. Для всех манипуляций имеется ПО от производителя.