Как работает ЭЦП?

Может кто-нибудь объяснить простым языком?

Цель задачи: подписывать текстовые сообщения, подписывать документы.

У меня есть:
1) КРИПТО ПРО CSP
2) CryptoPro Extension for CAdES Browser Plug-in

Может кто-нибудь рассказать как рабоает подпись и как ее потом проверять на сервере?
1) Плагин браузера заправшивает сертификаты в системе, терь у нас есть список сертификатов
2) ...
3) ...


Я Иванов Иван Петрович и у меня есть текстовая строка, я сгенерировал себе подпись на основе моего сертификата, в результате у меня есть длинная Base64 последовательность символов, как я понял это и есть подпись.

Что дальше? каким образом сервер поймет что подпись настоящая? Что мне надо отправлять на сервер?

Если с строкой более менее понятно, то как получать пощдпись файла на JS?
  • Вопрос задан
  • 3282 просмотра
Пригласить эксперта
Ответы на вопрос 4
@UPSA
anykey. Я не программист, я просто ленивый.
то как получать пощдпись файла на JS?

Никак исходя из того что у тебя, если хочешь делать через JS.
Нужен модуль jcp НАВЕРНОЕ )))

Чтобы забить голову начнем с RSA
Дальше я буду выдумывать )))
КРИПТО ПРО CSP - это некий алгоритм сравнения открытого и закрытого ключа
CryptoPro Extension for CAdES Browser Plug-in - обеспечивает выход браузера за его программное пространство. Запуск программы. Далее идет запрос к КРИПТО и вызов всех сертификатов. При выборе происходит сравнения открытого и закрытого ключа. Это только вход на страницу.
Далее сложнее... что ты хочешь хранить?
1. DOC - пользователь из word подписывает его и отправляет (нужны доп.модули)
2. PDF - пользователь из PDF подписывает его и отправляет (нужны доп.модули)
3. ZIP - где то сталкивался ))). В архиве находиться передаваемый файл и всякие файлы для проверки что файл не изменился.
4. Контейнеры - есть программа которая создает контейнер который подписывается ключом и прикрепляется к форме. Используется в банках.
Но мне кажется тебе все это не понравиться )))
НУЖНЫ Серверные лицензии КРИПТО ПРО, в твоем вопросе они отсутствуют.
Поэтому сразу отсылаю например к КРИПТО.
Цытирую:"Подпись XML-документов (XMLDSig);
Подпись документов PDF;
Подпись документов Microsoft Office."
Ответ написан
Крипто система довольно сложная вещь, включает в себя закрытый ключи и подписанные доверенным удостоверяющим центром открытые ключи. После накладывания подписи вы отправляете результирующий файл в котором сама информация и подпись или по отдельности информация + файл подписи, куда-либо. На приемной стороне снимают подпись на основе своей пары закрытый-открытый ключ (сертификат) и проверкой списка отзывов, который публикует удостоверяющий центр. Для обмена информацией точки обмена должны обменяться своими открытыми ключами, которые подписал данный удостоверяющий центр (это сертификаты). Закрытые ключи не должны покидать точки обмена.
Плагин для браузеров работает с самим криптопровайдером, и имеет свой API, с его помощью можно делать много чего, cpdn.cryptopro.ru/default.asp?url=content/cades/pl... скачайте библиотеку от производителя и там можно разобраться как это работает.
Для работы вам нужен либо сторонний УЦ, либо развернуть свой, установить корневой сертификат УЦ в доверенные на сервере и клиенте, выпустить 2 сертификата-ключа, для сервера и для клиента, на сервере установить сертификат клиента, на клиенте установить сертификат сервера, у клиента в личное хранилище установить свой сертификат.
Подписываете на клиенте, файл отправляете на сервер любым способом, там снимаете подпись, получаете исходный файл. Для всех манипуляций имеется ПО от производителя.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Вам для чего?
И какой софт?
  • Если вам продали решение на базе софта КРИПТО ПРО - спрашивайте инструкцию у тех кто вам продал решение на базе КРИПТО ПРО.
  • Если вы сами делаете решение- спрашивайте инструкцию у продавца данного продукта, перед покупкой.
Ответ написан
Комментировать
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Обьясняю.

Скажу сразу, что понятния не имею, что такое КриптоПро и зачем оно, но электронная подпись скажем сообщения электронной почты выглядит так:

- Некий CA, которому доверяют и отправитель и получатель (это критичное условие) выпускает сертификат Иванову Ивану Ферапонтовичу.
- Иван Ферапонтович настраивает свою почтовую программу (например Thunderbird), чтобы она подписывала все исходящие сообщения.
- Используя свой ключ сертификата, Иван Ферапонтович формирует электронную подпись, которая не защищает текст письма от прочтения, но защищает от изменения. То есть, если в текст письма будет внесено изменение - подпись не сойдется и появится соответствующее оповещение. После этого письмо отправляется
- Получатель проверяет корректность письма, используя сертификат Ивана Ферапонтовича, который может передаваться вместе с письмом. Если подпись сошлась - получатель видит значок "корректная электронная подпись"

Самое главное здесь - чтобы и отправитель и получатель доверяли сертификатам, используемым для подписи. Если КриптоПро - это некий госсертификат - то его можно использовать для подписи по крайней мере для того, чтобы подписывать сообщения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы