Принцип работы КриптоПро

Сервер - компьютер, на котором запущена система ТЕЗИС.
Клиент - браузер с запущенной системой ТЕЗИС.

Процесс подписания

Когда пользователь инициирует процесс подписи, происходит следующее:

  1. Клиент обращается к хранилищу сертификатов системы пользователя (посредством CSP)
  2. CSP отдает клиенту список сертификатов (все происходит на стороне клиента)
  3. Клиент фильтрует сертификаты, показывая пользователю только те, что соответствуют ГОСТ
  4. Сервер генерирует данные для подписи (делает ХЕШ каждого подписываемого вложения и\или совокупности полей карточки. Алгоритм хеширования: ГОСТ Р 34.11-2012)
  5. Сервер передает данные клиенту
  6. Клиент подписывает данные (посредством CSP) (все происходит на стороне клиента, сервер не знает о ключах шифрования\паролях)
  7. Клиент передает подписанные данные серверу
  8. Сервер сохраняет подпись в БД (в этих данных также хранится информация об используемых для подписи сертификатах)

Процесс проверки данных

Когда пользователь инициирует процесс проверки данных, происходит следующее:

  1. Сервер считывает данные из БД о подписи для данного вложения\карточки
  2. Сервер проверяет подпись (посредством JCP) (никакой информации от клиента для этого не нужно)

Просмотр иерархии сертификатов

Когда пользователь инициирует процесс просмотра иерархии сертификатов, используемых для подписи данных, происходит следующее:

  1. Сервер считывает данные из БД о подписи для данного вложения\карточки
  2. Сервер разбирает подпись и показывает информацию о сертификате клиенту (никакой информации от клиента для этого не нужно)

Cкачивание подписанных вложений

Когда пользователь запрашивает скачивание вложения с подписями происходит следующее:

  1. Сервер считывает данные из БД о подписях для данного вложения
  2. Сервер генерирует контейнер, содержащий в себе вложения и все подписи (никакой информации от клиента для этого не нужно)
  3. Сервер отдает клиенту сформированный контейнер

Файл для скачивания

Принцип работы КриптоПро.pdf (213,0 КБ)