Что значит ошибка при инициализации криптографической сессии

Чтобы решить эту проблему, пришлось немного покопаться в настройках программы.

Для начала нужно кликнуть правой клавишей мыши по значку установленной программы, расположенному в трее, чтобы перейти непосредственно в раздел «Настройки».

Далее переходим во вкладку «Криптосервер 3» и в открывшемся окне «Какие сертификаты проверять» выбираем «Только конечный сертификат»

В «Режим проверки» подставляем значение

А

отмечаем чекбокс «Не проверять»

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

Область применения электронной подписи (ЭП или ЭЦП) довольно широка. Например, многие специальные сервисы требуют верификации пользователя с её помощью: Госуслуги, онлайн-сервисы для управления средствами в банке, электронные площадки и другие. Поэтому любые технические неполадки, возникающие при использовании ЭЦП, могут вызвать различные серьёзные: от упущенной выгоды до материальных убытков.

Какие бывают ошибки

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

  • Проблемы с сертификатом. Они появляются, когда сертификат не выбран, не найден или не верен.
  • Проблемы с подписанием документа. Ошибки возникают при попытке подписать документ.
  • Проблема при авторизации на торговых площадках.

Рассмотрим неполадки подробнее и разберёмся, как их решать.

Сертификат не найден

Иногда при попытке подписать электронный документ с помощью ЭП пользователь может столкнуться с ошибкой «Не удалось найти ни одного сертификата, пригодного для создания подписи».

У подобных ошибок могут быть следующие причины:

  1. На компьютере не установлены корневые сертификаты Удостоверяющего Центра (УЦ), в котором была получена ЭП. Необходимо установить либо обновить корневой сертификат. Установка корневых сертификатов удостоверяющего центра подробно описана в нашей инструкции.
  2. На ПК не установлено ни одного личного сертификата ЭП. Для применения ЭП необходимы и личные сертификаты. Об их установке мы писали в другой статье.
  3. Установленные на компьютере необходимые сертификаты не валидны. Сертификаты отозваны или просрочены. Уточните статус сертификата в УЦ. Ошибка с текстом «Ваш сертификат ключа подписи включён в список отозванных» возникает, если у сертификата закончился срок действия или на ПК нужно обновить список сертификатов. В последней ситуации следует вручную загрузить перечень отозванных сертификатов.

Для установки списка отозванных сертификатов:

  • Откройте личный сертификат пользователя в окне Свойства браузера. Чтобы открыть его, наберите «Свойства браузера» в поисковой строке меню Пуск. Перейдите во вкладку Содержание и нажмите кнопку «Сертификаты».
  • личный сертификат1

  • Во вкладке Состав выберите из списка пункт «Точки распространения списков отзыва».
  • В блоке Имя точки распространения скопируйте ссылку на загрузку файла со списком отзыва.
  • Имя точки2

  • Скачайте по указанной ссылке файл. Нажмите по нему правой кнопкой мыши и выберите в контекстном меню «Установить список отзыва (CRL)».
  • Следуйте указаниям «Мастера импорта сертификатов».

Не виден сертификат на носителе

Как правило, причина такой проблемы — сбой в работе программных компонентов. Для её решения достаточно перезагрузить компьютер. Однако иногда этого бывает недостаточно, поэтому требуется переустановка драйверов или обращение в службу техподдержки.

К наиболее распространённым причинам такой проблемы относятся следующие случаи:

  1. Драйвер носителя не установлен или установлен некорректно. Для решения проблемы необходимо извлечь носитель электронной подписи из ПК и скачать последнюю версию драйвера носителя с официальных ресурсов. Если переустановка драйвера не помогла, подключите носитель к другому ПК, чтобы убедиться в исправности токена. Если токен определится другой системой, попробуйте удалить на неисправном компьютере драйвер носителя и установить его заново.
  2. Долгое опознание носителя. Для решения проблемы необходимо дождаться завершения процесса или обновить версию операционной системы.
  3. Некорректная работа USB-порта. Подключите токен к другому USB-порту, чтобы убедиться, что проблема не в носителе ЭП. Если система определила токен, перезагрузите компьютер. Если это не поможет, следует обратиться службу технической поддержки.
  4. Неисправность носителя. Если при подключении токена к другому компьютеру или USB-порту система не определяет его, значит, проблема в самом носителе. Устранение неисправности возможно в данном случае лишь одним путём — нужно обратиться в сервисный центр для выпуска нового носителя.

ЭП не подписывает документ

Причин у подобной проблемы множество. Каждый случай требует отдельной проверки. Среди самых распространённых можно выделить следующие неполадки:

  1. Закрытый ключ на используемом контейнере не соответствует открытому ключу сертификата. Возможно, был выбран не тот контейнер, поэтому следует проверить все закрытые контейнеры на компьютере. Если необходимый контейнер по тем или иным причинам отсутствует, владельцу придётся обращаться в удостоверяющий центр для перевыпуска ЭП.
  2. Ошибка «Сертификат недействителен» (certificate is not valid). Следует повторно установить сертификат ЭП по инструкциям УЦ в зависимости от используемого криптопровайдера — КриптоПро CSP, ViPNet CSP или другого.
  3. Сертификат ЭП определяется как непроверенный. В этом случае необходимо переустановить корневой сертификат удостоверяющего центра.
  4. Истёк срок действия криптопровайдера. Для решения этой проблемы необходим новый лицензионный ключ к программе-криптопровайдеру. Для его получения необходимо обращаться к специалистам УЦ или к ответственным сотрудникам своей организации.
  5. Подключён носитель с другим сертификатом. Убедитесь, что подключён правильный токен. Проверьте также, не подключены ли носители других сертификатов. Отключите другие носители в случае их обнаружения.

В момент подписания электронных документов или формирования запроса в различных может возникнуть ошибка «Невозможно создание объекта сервером программирования объектов».

подписания3

В этой ситуации помогает установка и регистрация библиотеки Capicom:

  1. Скачайте файл архива.
  2. Распакуйте и переместите файлы capicom.dll и capicom.inf в каталог syswow64, находящийся в корневой папке ОС.
  3. Откройте командную строку от имени администратора — для этого в меню Пуск наберите «Командная строка», нажмите по найденному приложению правой кнопкой мыши и выберите Запуск от имени администратора.
  4. «Командная строка»4

  5. Введите «c:windowssyswow64regsvr32.exe capicom.dll» (без кавычек) и нажмите ENTER. Должно появиться уведомление о том, что команда выполнена успешно.
  6. нажмите ENTER5

Выбранная подпись не авторизована

Подобная ошибка возникает при попытке авторизации в личном кабинете на электронных торговых площадках. Например, при входе на площадку ZakazRF отображается сообщение «Выбранная ЭЦП не авторизована».

площадку ZakazRF6

Эта ошибка возникает из-за того, что пользователь не зарегистрирован на площадке, либо не зарегистрирован новый сертификат ключа ЭП. Решением проблемы будет регистрация нового сертификата.

Процесс запроса на авторизацию ЭП на разных торговых площадках может отличаться: часто нужно отправлять запрос оператору системы на авторизацию, иногда рабочее место настраивается автоматически.
Если ошибка сохраняется, возможно, следует отключить защитное ПО или добавить сайт электронной площадки в исключения.

Часто задаваемые вопросы

Почему компьютер не видит ЭЦП?

Причина кроется в несовместимости программного обеспечения и физического носителя ЭЦП. Необходимо проверить версию операционной системы и переустановить её до нужной версии. Если токен повреждён, возможно, понадобится обратиться в удостоверяющий центр для перевыпуска электронной подписи.

О том, что делать, если компьютер не видит ЭЦП и о способах проверки настроек, мы подробно писали в нашей статье.

Почему КриптоПро не отображает ЭЦП?

Если КриптоПро не отображает ЭЦП, следует проверить настройки браузера. Также исправляет ошибку добавление программы в веб-обозреватель и загрузка недостающих сертификатов электронной подписи.

Подробнее ознакомиться, как устранить данную неисправность можно в нашей статье.

Где на компьютере искать сертификаты ЭЦП?

Сертификат ЭЦП позволяет проверить подлинность подписи, содержит в себе срок её действия и информацию о владельце. Он автоматически загружается в папку с системными файлами. В операционной системе Windows от 7 версии и выше ЭЦП хранится по адресу:

C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates. Вместо ПОЛЬЗОВАТЕЛЬ требуется указать наименование используемого компьютера.

Что такое сертификат ЭЦП и зачем он нужен мы рассказали в нашей статье.

Содержание

  1. ЕГИССО настройка рабочего места
  2. Программы для ЕГИССО
  3. Настройка рабочего места ЕГИССО
  4. Настройка браузера для ЕГИССО
  5. В заключение
  6. Настройка CryptoDE для ЕГИССО
  7. Где скачать Crypto+DE
  8. Ошибка
  9. Настройка CryptoDE для ЕГИССО

ЕГИССО настройка рабочего места

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

Программы для ЕГИССО

Начнем с загрузки всего необходимого нам для настройки рабочего места, чтобы потом на это не отвлекаться. И так, для работы с порталом ЕГИССО нам понадобятся:

  • В первую очередь операционная система Windows 7 или Windows 10. В случае с Windows 7 возможно ещё понадобиться дополнительно обновить браузер Internet Explorer до 11 версии;
  • Криптопровайдер КриптоПро CSP 4.0 R3. Скачать дистрибутив для установки можно с официального сайта КриптоПро (Обязательно требуется регистрация);
  • Прикладное программное обеспечение управления электронной подписью и шифрованием (ППО УЭПШ) Crypto+ DE 3.1;
  • Плагин для браузера КриптоПро ЭЦП Browser plug-in версии 2.0;
  • Плагин для работы с порталом государственных услуг IFCPlugin;
  • Корневой сертификат ЕГИССО;
  • Сертификат безопасности выданный на юридическое лицо. Его можно получить в авторизованном удостоверяющем центре.

На этом перечень нужных нам программ для работы с ЕГИССО окончен.

Настройка рабочего места ЕГИССО

Приступаем к установке и настройке программного обеспечения для организации работы в кабинете поставщика информации (КПИ).

Первым делом, должна быть произведена настройка КриптоПро для ЕГИССО. Скачиваем и устанавливаем КриптоПро CSP 4.0 R3. Хотелось бы подчеркнуть, рекомендуемая версия программы КриптоПро CSP 4.0.9944. С этой сборкой проблем во время работы обнаружено не было. Запускаем установочный файл и нажимаем «Установить (рекомендуется)», при этом пункт «Установить корневые сертификаты» должен быть отмечен.

После установки КриптоПро перезагружаем компьютер и устанавливаем корневой сертификат ЕГИССО. Кликаем два раза по ранее загруженному сертификату. Затем кликаем по кнопке «Установить сертификат…».

В мастере импорта сертификатов отмечаем пункт «Поместить все сертификаты в следующее хранилище» затем жмем кнопку «Обзор…».

В предоставленном списке выбираем «Доверенные корневые центры сертификации» и нажимаем «ОК».

Далее, если всё сделано верно, на экране появится окно с предупреждением о безопасности. Это окно носит уведомительных характер, подтверждаем установку сертификата ЕГИССО нажатием на кнопку «Да».

После подтверждения вы увидите сообщение о том, что импорт успешно выполнен. Установка сертификата ЕГИССО завершена.

Следующим шагом копируем контейнер закрытого ключа и устанавливаем сертификат организации выданный авторизованным удостоверяющим центром. Перед началом копирования подключите устройство на котором храниться контейнер с сертификатом.

После подключения устройства открываем КриптоПро CSP, переходим на вкладку «Сервис» и кликаем «Скопировать…».

В открывшимся окне нажимаем «Обзор…», затем выбираем контейнер для копирования.

Вводим пароль от контейнера (пароль по умолчанию обычно 12345678) и жмем «ОК». Ставить галочку «Запомнить пароль» не нужно, так как обращаться к данному контейнеры с этого компьютера вы больше не будете.

В следующем окне выбираем пункт «Реестр».

Устанавливаем пароль на создаваемый контейнер и опять жмем «ОК».

Следующее сообщение которое вы увидите, уведомляет об успешном копировании контейнера.

Возвращаемся во вкладку «Сервис». Теперь нам надо установить сертификат из контейнера. Для этого нажимаем «Просмотреть сертификаты в контейнере…».

Жмем «Обзор…» и выбираем контейнер который только что скопировали. Будьте внимательны, поле «Считыватель» должно содержать «Реестр». Чтобы не ошибиться можете отключить устройство с которого копировали контейнер.

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

Проверяем данные по сертификату, что бы не ошибиться с выбором контейнера если их у вас несколько. И кликаем по кнопке «Установить».

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

Контейнер не содержит сертификата

Часть работы по настройке рабочего места ЕГИССО касающаяся КриптоПро CSP 4.0 R3 и установки сертификатов выполнена. Переходим к этапу установки плагина пользователя системы электронного правительства. Для этого запускаем установочный файл IFCPlugin и нажимаем «Далее».

Дожидаемся окончания процесса и переходим к установке КриптоПро ЭЦП Browser plug-in версии 2.0. Для этого запускаем файл cadesplugin и нажимаем «Да». После установки рекомендовано перезапустить браузер.

Приступаем к установке УЭПШ Crypto+DE.

Во время установки Crypto+DE скачивает с интернета недостающие для работы компоненты. По этому процесс установки может занять от пары минут до получаса, возможно и больше (в зависимости от скорости вашего интернета). Терпеливо ждем и ни в коем случае не прерываем процесс установки. По окончанию процесса установки будет предложено запустить программу.

После нажатия «Готово» будет предложено установить сертификат, обязательно нажимаем «Да».

Затем программа предложит установить ещё один сертификат, тоже обязательно соглашаемся.

После их установки появиться сообщение в котором говориться что «Установка корневого сертификата для https завершена». Это говорит о том, что Crypto+DE установлена верно. Перезагружаем компьютер.

Осталось выполнить еще пару шагов. После загрузки компьютера нажимаем правой кнопкой мыши по зеленому значку только что установленной программы в трее возле часов. И выбираем пункт «Настройки».

Первым делом переходим во вкладку «Криптосервер 3» и изменяем параметр режима проверки на пункт «с помощью списка отзыва сертификатов с подключением к сети». В параметре «Сертификат по умолчанию» должен отображаться сертификат юридического лица, который устанавливали через КриптоПро.

Установка и настройка программ для рабочего места ЕГИССО был выполнена успешно!

Настройка браузера для ЕГИССО

Переходим к настройке браузера. Запускаем Internet Explorer 11, нажимаем шестеренку в правом верхнем углу и выбираем пункт «Свойства браузера».

В открывшимся окне переходим на вкладку «Безопасность». Выбираем зону «Надежные сайты» и нажимаем кнопку «Сайты».

Далее снимаем галочку «Для всех сайтов этой зоны требуется проверка серверов (https:)» Затем добавляем поочередно узлы http://*.egisso.ru, https://*.egisso.ru и https://*.gosuslugi.ru.

После нажатия кнопки «Закрыть», переходим на вкладку «Дополнительно». В этой вкладке снимаем галочку с пункта SSL 3.0. Обязательно должны быть отмечены пункты:

  • TLS 1.0;
  • Использовать TLS 1.1;
  • Использовать TLS 1.2.

На этом настройка браузера, ровно, как и настройка рабочего места ЕГИССО, завершена.

Для проверки доступа в кабинет поставщика информации заходим на сайт ЕГИССО и жмем на ссылку «Поставщик информации».

Если настройка была произведена правильно, то вы будите перенаправлены на форму авторизации через сайт госуслуги.

В заключение

В этой статье рассмотрена настройка КриптоПро для ЕГИССО, настройка Crypto+DE и браузера Internet Explorer. Как видите сам процесс настройки не сложный и сводиться к нескольким действиям. Скачиваете дистрибутивы по приведенным в статье ссылкам (все ссылки даны на официальные источники). Устанавливаете криптропровайдер КриптоПро CSP, перезагружаете компьютер. Настраиваете сертификат ЕГИССО и вашей организации. Устанавливаете плагины КриптоПро ЭЦП Browser plug-in и пользователя системы электронного правительства IFCPlugin. Затем устанавливаете Crypto+DE. Перезагружаете компьютер и настраиваете Crypto+DE. Последним шагом является настройка браузера Internet Explorer.

Источник

Настройка CryptoDE для ЕГИССО

Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

Где скачать Crypto+DE

Скачать актуальную версию программы можно:

  • С официального сайта ПФР ( ссылка )
  • Яндекс Диск ( ссылка )

Ошибка

Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

Настройка CryptoDE для ЕГИССО

Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

  1. Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
  2. Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
  3. Нас интересует вкладка «Криптосервер 3».
    • «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
    • «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
    • «Режим проверки квалифицированной ЭП» ставим «Не проверять»

  • Все остальные значения я оставил по умолчанию. Не забываем нажать «Ок», чтобы все изменения вступили в силу.
  • На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!

    Источник

    Содержание

    1. Настройка CryptoDE для ЕГИССО
    2. Где скачать Crypto+DE
    3. Ошибка
    4. Настройка CryptoDE для ЕГИССО
    5. Частые проблемы при работе с электронной подписью
    6. Проблема 1. Неверные имя пользователя или пароль.
    7. Проблема 2. При нажатии на кнопку «Запросить сертификат» возникают ошибки или не открывается программа КриптоПро.
    8. Проблема 3. Не удается выполнить запрос на сертификат.
    9. Проблема 4. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:
    10. Проблема 5. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.
    11. Проблема 6. Если Вы выпускали электронную подпись до 01.07.2022 и не удается войти в личный кабинет на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР». Например, возникает следующая ошибка:
    12. Проблема 7. При выборе сертификата, который был выпущен до 01.07.2022, в личном кабинете на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР» возникает ошибка:
    13. Проблема 8. При аннулировании или приостановке действия сертификата ЭП, который был выпущен до 01.07.2022, окно отзыва или приостановления не закрывается автоматически или страница сайта не обновляется.
    14. Смешанный (клиент/сервер) алгоритм формирования цифровой подписи xmlDsig на основе CryptoPro Browser Plugin

    Настройка CryptoDE для ЕГИССО

    Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

    Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

    Где скачать Crypto+DE

    Скачать актуальную версию программы можно:

    Ошибка

    Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

    Настройка CryptoDE для ЕГИССО

    Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

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

    Источник

    Частые проблемы при работе с электронной подписью

    Рассмотрим проблемы, которые возникают при создании запроса на сертификат ключа проверки электронной подписи (ЭП), при установке или использовании сертификата.

    Ознакомьтесь с видеоинструкцией
    «Как выпустить ЭП через модуль «Полигон Про: Удостоверяющий центр»
    или программу «Подпись Про»

    Проблема 1. Неверные имя пользователя или пароль.

    01

    Решение: проверьте корректность логина и пароля указанного в настройках программы. Должен быть указан логин и пароль, который Вы используете для авторизации на сайте https://pbprog.ru.

    02m

    Проблема 2. При нажатии на кнопку «Запросить сертификат» возникают ошибки или не открывается программа КриптоПро.

    Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.

    Если на компьютере установлены программыблокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).

    В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:

    04m

    Выберите пункт «Включение и отключение брандмауэра Windows»:

    05m

    В открывшемся окне отключите брандмауэр, нажмите «ОК»:

    06m

    Проблема 3. Не удается выполнить запрос на сертификат.

    Решение: проверьте версию операционной системы (ОС).

    Например, в программе «Подпись Про» нажмите кнопку 07. В окне «О Программе» нажмите кнопку «О системе…»:

    pasted%20image%200

    Проверьте версию операционной системы:

    09

    К сожалению на версии операционной системы отличной от Windows 10 невозможно выполнить запрос на сертификат из программы.

    Для продолжения операции выпуска сертификата обратитесь в отдел технической поддержки по номеру 8 (800) 100-58-90.

    Также Вы можете обновить свою операционную систему до Windows 10 или воспользоваться другим компьютером с уже установленной версией ОС.

    Проблема 4. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:

    10

    Решение: добавить биологический датчик случайных чисел.

    Для добавления биологического датчика ДСЧ запустите программу КриптоПро CSP от имени администратора. Перейдите на вкладку «Оборудование» и нажмите кнопку «Настроить ДСЧ»:

    11

    12

    В открывшемся окне нажмите «Далее». В окне «Выбор ДСЧ» выберите «Биологический ДСЧ» и нажмите кнопку «Далее»:

    13

    Задайте имя добавляемого ДСЧ или оставьте по умолчанию, нажмите «Далее» и «Готово».

    14

    В окне «Управление датчиками случайных чисел» появится «Биологический ДСЧ».

    15

    16

    Проблема 5. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.

    Запустите программу КриптоПро CSP и на вкладке «Общие» проверьте срок действия.

    17

    Если в поле «Срок действия» указано «Истекла», то необходимо приобрести лицензию на программу либо ввести лицензионный ключ при наличии такового.

    1. Через модуль «Удостоверяющий центр» или через программу «Подпись Про». Для этого на ленте на вкладке «Главная» нажмите кнопку
    18:

    pasted%20image%200 2

    2. Вручную. Для этого:

    — Скачайте корневые сертификаты:

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (действует с 19.10.2016 по 19.10.2026)

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (действует с 06.04.2018 по 06.04.2027)

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (для ЭП, выпущенных по ГОСТ Р 34.10-2012 с 01.01.2019) (с 26.09.2018 по 26.09.2033)

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (ГОСТ Р 34.10-2012, для ЭП с 15.10.2019 по 13.08.2020) (с 26.07.2019 по 26.07.2034)

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (ГОСТ Р 34.10-2012, для ЭП с 13.08.2020) (с 13.07.2020 по 13.07.2035)

    — Нажмите правой кнопкой мыши по одному из сертификатов и выберите «Установить сертификат»:

    19

    В появившемся окне нажмите «Далее»:

    Снова нажмите «Далее»:

    Нажмите на кнопку «Готово»:

    Выполните аналогичные действия для других скачанных сертификатов.

    — Откройте меню «Пуск» и в папке «КРИПТО-ПРО» запустите «Сертификаты».

    — В открывшемся окне раскройте ветку Сертификаты → текущий пользовательПромежуточные центры сертификацииРеестрСертификаты.

    Найдите сертификаты «Головной удостоверяющий сертификат» и «Минкомсвязь России», зажав левую кнопку мыши, перетащите их в ветку «Доверенные корневые центры сертификации».

    На предупреждение о безопасности ответьте «Да».

    Для этого скачайте нужную версию и установите ее (подробнее см. инструкцию по установке):

    Проверьте актуальность версии программы одним из способов:

    — В стартовом окне Полигон Про нажмите в правом верхнем углу кнопку 26«Настройка и управление Полигон Про» и в выпадающем списке выберите 27.

    — В любом программном модуле в левом верхнем углу нажмите кнопку 28и в открывшемся меню выберите 29.

    — В любом программном модуле на «Ленте» перейдите на вкладку «Помощь» и нажмите на кнопку 30.

    В окне «О программе» сравните версию программы с версией, указанной в карточке товара.

    pasted%20image%200 3

    Проблема 6. Если Вы выпускали электронную подпись до 01.07.2022 и не удается войти в личный кабинет на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР». Например, возникает следующая ошибка:

    32m

    Для этого в окне «Свойства браузера» на вкладке «Безопасность» добавьте в список «Надежные сайты» адрес: https://ra.pbprog.ru.

    33

    34

    Для зоны «Надежные сайты» разрешите запуск ActiveX приложений.

    Для этого в окне «Параметры безопасности – зона надежных сайтов» во всех пунктах установите значение «Включить».

    35

    36

    Для этого в окне «Свойства браузера» на вкладке «Конфиденциальность» уберите галочку с поля «Включить блокирование всплывающих окон».

    37

    Для этого в окне «Свойства браузера» на вкладке «Дополнительно» установите галочки в полях: «SSL 2.0», «SSL 3.0», «TLS 1.0», «Использовать TLS 1.1» и «Использовать TLS 1.2».

    38

    Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.

    Если на компьютере установлены программыблокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).

    В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:

    08mini

    Выберите пункт «Включение и отключение брандмауэра Windows»:

    09mini

    В открывшемся окне отключите брандмауэр, нажмите «ОК»:

    10mini

    Проблема 7. При выборе сертификата, который был выпущен до 01.07.2022, в личном кабинете на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР» возникает ошибка:

    new 1

    Решение: обновите или скачайте и установите «КриптоПро CSP» версии 4.0.9969. Скачать программу можно с официального сайта.

    Проблема 8. При аннулировании или приостановке действия сертификата ЭП, который был выпущен до 01.07.2022, окно отзыва или приостановления не закрывается автоматически или страница сайта не обновляется.

    new 2

    Решение: скачайте и установите плагин «КриптоПро ЭЦП browser plug-in». Скачать плагин можно с официального сайта или с сайта Программного центра (>» href=»https://pbprog.ru/upload/download/files/cadesplugin.exe»>скачать).

    Если после выполнения данных рекомендаций проблема не устранилась, запишитесь на сеанс удаленного доступа.

    39m

    40

    Когда специалист будет подключаться к Вам, разрешите доступ к вашему компьютеру. Нажмите кнопку «Разрешить».

    41

    02

    03

    Для зоны «Надежные сайты» разрешите запуск ActiveX приложений.

    04

    05

    Отключите блокирование всплывающих окон.

    06

    07

    Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.

    Если на компьютере установлены программыблокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).

    В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:

    08mini

    Выберите пункт «Включение и отключение брандмауэра Windows»:

    09mini

    В открывшемся окне отключите брандмауэр, нажмите «ОК»:

    10mini

    Проблема 2. Не удается выполнить запрос на сертификат.

    Решение: проверьте версию операционной системы (ОС).

    Например, в программе «Полигон Про» нажмите на кнопку 34. В окне «О Программе» нажмите кнопку «О системе…»:

    12

    Проверьте версию операционной системы:

    13

    Если на компьютере установлена Windows XP, обновите версию ОС или воспользуйтесь другим компьютером с операционной системой Windows 7 или выше.

    Внимание! Windows XP снята компанией Microsoft с поддержки в 2014 г. (информация с официального сайта Мicrosoft), т.е. для нее не выходят обновления безопасности, что делает уязвимой как саму ОС, так и Ваши данные.

    Проблема 3. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:

    14

    Решение: добавить биологический датчик случайных чисел.

    Для добавления биологического датчика ДСЧ запустите программу КриптоПро CSP от имени администратора. Перейдите на вкладку «Оборудование» и нажмите кнопку «Настроить ДСЧ»:

    15

    16

    В открывшемся окне нажмите «Далее». В окне «Выбор ДСЧ» выберите «Биологический ДСЧ» и нажмите кнопку «Далее»:

    17

    Задайте имя добавляемого ДСЧ или оставьте по умолчанию, нажмите «Далее» и «Готово».

    18

    В окне «Управление датчиками случайных чисел» появится «Биологический ДСЧ».

    19

    19 2

    Проблема 4. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.

    Запустите программу КриптоПро CSP и на вкладке «Общие» проверьте срок действия.

    20

    Если в поле «Срок действия» указано «Истекла», то необходимо приобрести лицензию на программу либо ввести лицензионный ключ при наличии такового.

    1. Через модуль «Удостоверяющий центр» или через программу «Подпись Про». Для этого на ленте на вкладке «Главная» нажмите кнопку 21:

    22mini

    2. Вручную. Для этого:

    — Нажмите правой кнопкой мыши по скачанному файлу и выберите «Установить сертификат»:

    23mini

    В появившемся окне нажмите «Далее»:

    Снова нажмите «Далее»:

    Нажмите на кнопку «Готово»:

    — Откройте меню «Пуск» и в папке «КРИПТО-ПРО» запустите «Сертификаты».

    27

    — В открывшемся окне раскройте ветку Сертификаты – текущий пользователь – Промежуточные центры сертификации – Реестр – Сертификаты, найдите сертификат «Головной удостоверяющий сертификат» и, зажав левую кнопку мыши, перетащите его в ветку «Доверенные корневые центры сертификации».

    28mini

    На предупреждение о безопасности ответьте «Да».

    29

    Для этого скачайте требуемую версию и установите ее (подробнее см. инструкцию по установке).

    Проверьте актуальность версии программы одним из способов:

    — В стартовом окне Полигон Про нажмите в правом верхнем углу кнопку 30«Настройка и управление Полигон Про» и в выпадающем списке выберите 34.

    — В любом программном модуле в левом верхнем углу нажмите на кнопку 32и в открывшемся меню выберите 33.

    — В любом программном модуле на «Ленте» перейдите на вкладку «Помощь» и нажмите на кнопку 34.

    В окне «О программе» сравните версию программы с версией, указанной в карточке товара.

    35

    Если после выполнения данных рекомендаций проблема не устранилась, запишитесь на сеанс удаленного доступа.

    Авторизуйтесь в личном кабинете на сайте pbprog.ru;

    Слева перейдите в пункт меню «Предварительная запись» и выберите пункт «Техподдержка: Удаленный доступ»;

    36mini

    Скачайте и установите программу TeamViewer 9 версии;

    В таблице сеансов удаленного доступа выберите любое удобное для Вас время для подключения специалиста (время московское) и запишитесь на сеанс удаленного доступа, указав необходимые для записи данные (обязательно опишите проблему);

    За пять минут до начала сеанса запустите программу TeamViewer, позвоните в отдел технической поддержки по бесплатному номеру 8-800-100-58-90 и сообщите 9 цифр ID, необходимых для подключения.

    37

    Примечание: как использовать программу TeamViewer читайте на форуме (сообщение №5 «2.Управление Вашим компьютером через Интернет»).

    Источник

    Смешанный (клиент/сервер) алгоритм формирования цифровой подписи xmlDsig на основе CryptoPro Browser Plugin

    На хабре уже была обзорная статья о механизмах создания ЭЦП в браузере, где было рассказано о связке Крипто-Про CSP +их же плагин к браузерам. Как там было сказано, предварительные требования для работы — это наличие CryptoPro CSP на компьютере и установка сертификата, которым собираемся подписывать. Вариант вполне рабочий, к тому же в версии 1.05.1418 плагина добавлена работа с подписью XMLDsig. Если есть возможность гонять файлы на клиент и обратно, то для того, чтобы подписать документ на клиенте, достаточно почитать КриптоПрошную справку. Все делается на JavaScript вызовом пары методов.
    Однако, что если файлы лежат на сервере и хочется минимизировать трафик и подписывать их, не гоняя на клиент целиком?
    Интересно?
    Итак, клиент/серверный алгоритм формирования цифровой подписи XMLDSig.
    Информацию об спецификации по XMLDsig можно найти по адресу тут.
    Я буду рассматривать формирование enveloping signature (обворачивающей подписи) для xml-документа.
    Простой пример подписанного xml:

    Чтобы лучше понять, что из себя представляет enveloping signature, предлагаю краткий перевод описания тэгов из спецификации:

    Итак, исходные данные:

    Код на C#, который заработал в моем случае:

    Шаг №3.
    Берем хэш от канокализированного SignedInfo.
    Тут возможны 2 варианта-серверный и клиентский.
    3.1) Взятие хэша на клиенте. Именно его я использую, так что опишу его первым:
    На сервере кодируем канокализированный SignedInfo в base64
    C#:
    и отправляем эти данные на клиент.
    На клиенте берем хэш с помощь криптопрошного плагина
    JavaScript:

    Посмотреть хэш можно с помощью hashObject.Value
    3.2)Считаем хэш на сервере и отправляем на клиент. Этот вариант у меня так и не заработал, но честно сказать я особо и не пытался.

    Возможно хэш надо преобразовывать в base64.

    Отправляем на клиент, там используем

    Именно на методе hashObject.SetHashValue у меня падала ошибка. Разбираться я не стал, но криптопрошном форуме говорят, что можно как-то заставить ее работать.

    Если соберетесь реализовывать серверный алгоритм генерации хэша, то вот пара полезных советов:
    1) Посчитайте хэш на клиенте и на сервере от пустой строки. он должен совпадать, это значит ваши алгоритмы одинаковые.
    Для GOST3411 это следующие значения:
    base64: mB5fPKMMhBSHgw+E+0M+E6wRAVabnBNYSsSDI0zWVsA=
    hex: 98 1e 5f 3c a3 0c 84 14 87 83 0f 84 fb 43 3e 13 ac 11 01 56 9b 9c 13 58 4a c4 83 23 4c d6 56 c0
    2) Добейтесь, чтобы у вас совпадали хэши для произвольных данных, генерируемые на клиенте и на сервере.
    После этого можно пересылать клиенту только хэш от SignedInfo вместо всего SignedInfo.

    Шаг №4.(клиент)
    Генерируем SignatureValue и отсылаем на сервер SignatureValue и информацию о сертификате

    Возвращем на сервер binReversedSignatureString и certValue.

    Код функций из utils не выкладываю. Мне его подсказали на форуме криптоПро и его можно посмотреть в этой теме

    Шаг №5. (сервер)
    Заменяем в сгенерированном на шаге №1 тэге Signature значения тэгов SignatureValue и X509Certificate значениями, полученными с клиента

    Шаг №6. (сервер)
    Верифицируем карточку.
    Если верификация прошла успешно, то все хорошо. В результате мы получаем на сервере документ, подписанный клиентским ключом, не гоняя туда-обратно сам файл.

    Примечание: если работа ведется с документом, уже содержащим подписи, то их надо отсоединить от документа до шага №1 и присоединить к документу обратно после шага №6

    В заключение хочется сказать большое спасибо за помощь в нахождении алгоритма участникам форума КриптоПро dmishin и Fomich.
    Без их советов я бы плюхался с этим в разы дольше.

    Источник

    Перейти к содержанию

    На чтение 1 мин Просмотров 6.8к. Опубликовано 07.10.2022

    Для работы Пенсионного Фонда России требуется специальный плагин, который система предложит вам установить во время входа — Crypto + DE

    Если быть точнее, вероятно вы даже сможете войти, а вот подписать документ с разрешением на использование — может быть проблемно, т.к. будет возникать

    Лучшей Вашей благодарностью будет комментарий под этой записью, спасибо

    Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов.

    Содержание

    1. Настройка CryptoDE для ЕГИССО
    2. Где скачать Crypto+DE
    3. Ошибка
    4. Настройка CryptoDE для ЕГИССО
    5. PKCS#11 для самых маленьких
    6. Про APDU
    7. Репозиторий с примерами
    8. Цикл работы с токеном
    9. Подготовительный этап
    10. Основной этап
    11. Завершающий этап
    12. Классификация функций PKCS#11
    13. Стандартные функции и функции расширения
    14. Разделение по предназначению
    15. Атомарные и составные операции
    16. Работа со слотами
    17. Получение списка слотов
    18. Мониторинг событий слотов и получение информации о слоте
    19. Объекты
    20. Создание объектов — на примере генерации ключевых пар
    21. Поиск объектов и создание сырой подписи
    22. Работа с функциями расширения на примере создания запроса на сертификат
    23. Импорт сертификата на токен. Создание объекта вручную
    24. Формирование CMS-подписи
    25. Получение и установка атрибутов публичных объектов
    26. Про механизмы
    27. Работа с механизмами, на примере зашифрования сообщения
    28. Проверка поддержки механизмов
    29. Утилита pkcs11-tool
    30. Дополнительный материал
    31. Выводы

    Настройка CryptoDE для ЕГИССО

    Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

    Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

    Где скачать Crypto+DE

    Скачать актуальную версию программы можно:

    • С официального сайта ПФР ( ссылка )
    • Яндекс Диск ( ссылка )

    Ошибка

    Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

    Настройка CryptoDE для ЕГИССО

    Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

    1. Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
    2. Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
    3. Нас интересует вкладка «Криптосервер 3».
      • «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
      • «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
      • «Режим проверки квалифицированной ЭП» ставим «Не проверять»

  • Все остальные значения я оставил по умолчанию. Не забываем нажать «Ок», чтобы все изменения вступили в силу.
  • На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!

    Источник

    PKCS#11 для самых маленьких

    В этой статье мы познакомимся со стандартом PKCS#11, предназначенным для работы с различными криптографическими устройствами. Для демонстрации мы будем использовать токены и смарт-карты Рутокен ЭЦП 2.0.

    Чтобы вам было проще понять эту информацию, перед её прочтением желательно:

    Исходя из определения из Википедии:

    PKCS #11 — один из стандартов семейства Public-Key Cryptography Standards (PKCS). Он определяет платформонезависимый программный интерфейс доступа к криптографическим устройствам смарт-картам, токенам, криптографическим ускорителям, серверам ключей и другим средствам криптографической защиты информации. Иногда именуется Cryptoki.

    Проще говоря, PKCS#11 определяет платформонезависимый набор функций, структуры, константы и т.п. для работы с криптографическими устройствами. Эти функции могут быть реализованы внутри различных библиотек, например, opensc-pkcs11 или в нашей библиотеке по работе с устройствами Рутокен rtpkcs11ecp. Библиотеки могут отличаться не только реализацией, но и самим набором функций, типов и констант. Это возможно, так как стандарт PKCS#11 описывает различные способы расширения, что позволяет добавлять свои функции, например, для работы с CMS-подписью, флеш-памятью и т.п.

    Но давайте обо всем по порядку. В первую очередь, определимся, что из себя представляют функции PKCS#11-библиотек. Функции PKCS#11 внутри — это обертки для работы с токенами и смарт-картами через APDU команды…

    Про APDU

    APDU — “язык ассемблера” для устройств.

    Более подробно об APDU-формате написано в этой статье, мы же опишем его проще. APDU-формат описывает способ общения с различными устройствами с помощью байтовых последовательностей. На практике это происходит следующим образом:

    Токену или смарт-карте посылается байтовая последовательность;

    Операционная система устройства обрабатывает эту последовательность в команду и посылает в ответ код возврата и, при необходимости, дополнительную информацию.

    Что же могут содержать внутри себя такие команды? Все, что угодно! Начиная с просьбы отправить информацию об устройстве или записать какие-то данные на него и заканчивая просьбой зашифровать указанное сообщение. Более того, эти команды могут быть разбиты на несколько, что позволяет оптимизировать работу с токеном и сделать ее конвейерной. К примеру, при шифровании сообщения устройству может передаваться небольшая часть сообщения, а он в ответ будет высылать результат шифрования только этой части. Эта особенность может быть использована при работе с данными больших размеров.

    И вот вроде бы все хорошо: APDU даёт полную возможность для общения с токеном и смарт-картой, но зачем же тогда нужна PKCS#11-обертка? Причины достаточно очевидны:

    Работать с шестнадцатеричными байтовыми последовательностями весьма неудобно, каждый раз надо заглядывать в спецификацию команд. Хотелось бы иметь их текстовый эквивалент, а лучше целую библиотеку для разработки.

    Программирование через APDU-команды имеет “низкий КПД”. При выполнении даже самой простой операции надо написать множество команд. PKCS#11 устраняет эту проблему: при выполнении одной функции PKCS#11 посылается несколько APDU команд. Меньше пишешь — больше делаешь.

    Теперь, когда мы знаем что лежит в основе PKCS#11-команд, перейдем к рассмотрению цикла работы с устройством.

    Репозиторий с примерами

    Чтобы улучшить понимание представленных ниже примеров рекомендуем:

    Выполнить настройку системы согласно README.

    Попробовать собрать примеры.

    Отформатировать устройство семейства Рутокен ЭЦП 2.0 с помощью примера ex0_format_token.

    Цикл работы с токеном

    Придержим пока описание содержимого стандарта PKCS#11 и дадим поверхностное представление о том, как происходит работа с токеном в целом. Для этого рассмотрим листинг смены PIN-кода Пользователя на токене и смарт-карте:

    Внутри заголовочного файла utils.h находится описание функций init_pkcs11, free_pkcs11, get_slot_list. Их определение мы дадим ниже.

    Всю работу с токеном можно разделить на три этапа:

    Подготовительный этап

    Мы реализовали его внутри функции init_pkcs11:

    Здесь происходит следующее:

    В память процесса подгружается PKCS#11-библиотека, хранящаяся по пути PKCS11ECP_LIBRARY_NAME, с помощью функции LoadLibrary (стандартная функция для Windows-систем, для Linux-систем определена обертка).

    Далее из библиотеки вытаскиваются указатели на функции C_GetFunctionList и C_EX_GetFunctionListExtended. Первая функция определена в стандарте PKCS#11 и позволяет получить структуру указателей на функции библиотеки. Вторая — является специфичной для библиотеки rtpkcs11ecp и позволяет получить схожую структуру указателей на функции расширения библиотеки. О функциях расширения мы поговорим позже.

    Потом мы вызываем полученную функцию C_GetFunctionList и получаем уже саму структуру указателей на функции.

    С помощью функции C_Initialize инициализируется загруженная библиотека. Функция C_Initialize в качестве аргумента принимает параметры инициализации библиотеки. Подробнее о них можно почитать здесь, для нас же важен флаг CKF_OS_LOCKING_OK. Его необходимо использовать, если мы хотим использовать библиотеку в нескольких потоках. В нашем примере мы могли бы опустить этот флаг.

    Основной этап

    Основной этап можно разделить на работу со слотами и работу внутри сессии

    Этап работы со слотами

    Слот — это дескриптор виртуального интерфейса, куда подключен токен. Конкретно в нашем примере весь этап работы со слотами уместился в определение одной функции get_slot_list:

    Работа со слотами происходит примерно в такой последовательности:

    Получение списка слотов с помощью функции C_GetSlotList или через функцию ожидания событий, связанных со слотами (пример будет рассмотрен ниже).

    Выполнение различных функций работы со слотами. В нашей программе этот этап отсутствует, но его пример можно найти здесь для функции форматирования устройства C_EX_InitToken. Подробнее функции работы со слотами будут описаны ниже.

    Этап работы внутри сессии

    Сессия — это дескриптор контекста выполнения последовательности операций. Обычно во время сессий выполняются основные функции работы с токеном или смарт-картой: шифрование, подпись и т.п. В нашем случае выполняется смена PIN-кода:

    Работу внутри сессий можно разделить на несколько этапов:

    Открытие сессии в слоте с помощью функции C_OpenSession.

    Аутентификация пользователя с помощью функции C_Login. Стандартно на Рутокене присутствуют два пользователя: Администратор (CKU_SO) и Пользователь (CKU_USER). Аутентификация на устройстве — не является обязательной операцией. Она нужна, когда мы хотим получить доступ к операциям и объектам, которые требуют наличия соответствующих прав доступа. В нашем случае, это операция смены PIN-кода Пользователя.

    Выполнение различных функций по работе с сессиями. В нашем случае это функция C_SetPIN.

    Далее по нисходящей могут идти операции сброса прав доступа (C_Logout) и завершения сессии (C_CloseSession).

    Завершающий этап

    Весь наш завершающий этап поместился внутри определения функции free_pkcs11:

    Завершающий этап можно разделить на:

    Деинициализацию библиотеки с помощью функции C_Finalize.

    Выгрузку библиотеки из памяти процесса через функцию FreeLibrary (для Linux-систем имеется обертка).

    Классификация функций PKCS#11

    Стандартные функции и функции расширения

    В общем виде все функции внутри PKCS#11-библиотек можно разделить на:

    Стандартные — те, что явно описаны в стандарте. Список указателей на эти функции можно получить с помощью функции C_GetFunctionList, хранящейся в этой же библиотеке. Сами же стандартные функции имеют префикс «C_».

    Расширения — те, что были добавлены разработчиками библиотеки и не описаны в стандарте. Стандарт явно не определяет функцию для получения списка расширенных функций. Но в библиотеке rtpkcs11ecp этой функцией является C_EX_GetFunctionListExtended. Сами же функции-расширения обычно имеют префикс «C_EX_».

    Описание стандартных функций можно найти в документации PKCS#11. Про то, как работать с расширениями — надо смотреть у разработчиков конкретных библиотек. Например, у нас для этого есть отдельная страница на портале документации.

    Разделение по предназначению

    С другой стороны, функции PKCS#11 можно классифицировать по их предназначению. Логично выделить следующие виды функций:

    Функции общего назначения. Например, для получения списка функций или получения информации о библиотеке.

    Функции работы со слотами. Они не зависят от контекста работы с токеном. Например, C_GetSlotInfo, C_GetTokenInfo и т.п.

    Функции для работы с сессиями. Как уже говорилось ранее, обычно во время выполнения этих функций осуществляется основное взаимодействие с токеном. При выполнении функции внутри сессии контекст работы с токеном не теряется. Самый простой пример этих функций: функция аутентификации (C_Login), функции работы с закрытым ключом на токене (C_Sign, C_Encrypt) и т.п.

    Атомарные и составные операции

    Некоторые операции в PKCS#11 работают привычным для нас образом: вызвал функцию — получил результат. Но есть и операции, реализация которых выстроена через многократный вызов функций. Ярким примером такой операции является блочное шифрование: чтобы зашифровать данные нужно вызвать функции: C_EncryptInit, C_EncryptUpdate, C_EncryptFinal. Пример этого будет приведен ниже. Эта особенность связана с тем, что внутри библиотеки PKCS#11 скрыт вызов APDU-команд, который как раз предусматривает разбиение некоторых команд на несколько итераций. Как уже говорилось ранее, это способствует эффективному использованию PKCS#11 с потоками данных.

    Работа со слотами

    Слоты — это виртуальные устройства библиотеки для подключения токенов и смарт-карт. PKCS#11 предоставляет функции для получения списка слотов и ожидания изменения состояний слотов. Также с помощью специальных функций можно получать информацию о состоянии слота, например, наличие токена в нем, информация о подключенном токене и т.п. Давайте подробнее рассмотрим функции по работе со слотами.

    Получение списка слотов

    Одна из самых важных операций, которую мы будем использовать в 99 процентах случаев — это получение списка активных слотов. Для этого в PKCS#11 есть функция C_GetSlotList. Примером ее использования является функция get_slot_list, определенная ниже:

    Первый вызов функции C_GetSlotList позволяет получить количество доступных слотов. Это позволяет в дальнейшем выделять память под необходимое количество слотов. Второй вызов позволяет получить список слотов.

    Первым аргументом C_GetSlotList является флаг, говорящий библиотеке, возвращать ли только слоты с подключенными устройствами (CK_TRUE) или нет (CK_FALSE).

    Мониторинг событий слотов и получение информации о слоте

    Тем не менее, хоть функция C_GetSlotList и является самой часто используемой, она неудобна при написании приложений, которые хотят динамически следить за состоянием слотов. Особенно это может быть критично при написании многопоточных приложений. На помощь может прийти функция мониторинга событий слотов C_WaitForSlotEvent. Она прерывает свою работу при любом изменении состояния какого-либо слота и возвращает идентификатор измененного слота. Работа с этой функцией выглядит примерно следующим образом:

    Как можно заметить, функция отлавливает помимо событий подключения и извлечения токена и смарт-карты, еще и событие деинициализации библиотеки PKCS#11 (код возврата CKR_CRYPTOKI_NOT_INITIALIZED). Данная особенность позволяет использовать эту функцию внутри многопоточных приложений без дополнительной возни с обработкой событий при завершении работы приложения.

    Первым аргументом в функцию C_WaitForSlotEvent передается флаг блокировки (CKF_DONT_BLOCK). Если он установлен, то функция не является блокирующей. В таком случае, если никакой слот не был изменен, то возвращается код CKR_NO_EVENT.

    Также стоит обратить внимание на использование функции получения информации о слоте C_GetSlotInfo. Мы использовали ее для определения наличия токена по флагу CKF_TOKEN_PRESENT. Подробнее с этой структурой можно ознакомиться здесь.

    В этом файле представлен пример получения информации о подключенных токенах или смарт-картах с помощью функции C_GetTokenInfo. С помощью этой функции можно получить серийный номер, метку и другие характеристики подключенного устройства.

    Объекты

    Всё есть объект — это почти про PKCS#11.

    Теперь начнём знакомство с PKCS#11-объектами. А чтобы закрепить материал по функциям, будем рассматривать множество примеров с их использованием. Поскольку одним из самых важных объектов, которые обычно хранятся на токене или смарт-карте является ключевая пара, мы начнём знакомство с объектами через генерацию ключевой пары.

    Создание объектов — на примере генерации ключевых пар

    В этом примере для нас много нового. Можно заметить, что здесь вызывается всего одна функция C_GenerateKeyPair. Эта функция является стандартной функцией генерации ключей, работающей внутри открытой сессии. Также стоит отметить, что пользователь должен быть аутентифицирован перед вызовом этой функции.

    Теперь перейдём к объектам. Внутри функции gen_gost_key_pair происходит создание двух объектов на токене: открытого и закрытого ключей. Вот, что стандарт PKCS#11 говорит про объекты:

    Cryptoki recognizes a number of classes of objects, as defined in the CK_OBJECT_CLASS data type. An object consists of a set of attributes, each of which has a given value. Each attribute that an object possesses has precisely one value.

    То есть стандарт не даёт явное определение объекта, но из того, что там написано, мы знаем:

    объект относится к определенному классу;

    объект состоит из множества атрибутов, имеющих заданное значение;

    каждый атрибут имеет ровно одно значение.

    Также в стандарте представлена классификация объектов:

    Иерархия PKCS#11 объектов

    Заголовок диаграммы определяет класс объекта, а то что ниже — некоторые из его атрибутов.
    Видно, что объектом может являться некоторый механизм (о механизмах мы поговорим позже), встроенные функции токена (Hardware feature), некоторые данные на токене (Storage). В нашем случае мы выполнили действие с данными.

    Название всех атрибутов начинается с префикса «CKA_». Одним из самых важных атрибутов является CKA_ID. Он задаёт идентификатор объекта и используется для связи ключевых пар и сертификатов. Атрибут CKA_TOKEN является булевым и показывает, является ли объект — объектом токена. Атрибут CKA_PRIVATE тоже является булевым и определяет нужна ли предварительная аутентификация для получения доступа к объекту. Атрибут CKA_ID — задаёт шестнадцатеричный идентификатор объекта. Также есть булевые атрибуты CKA_MODIFIABLE, CKA_COPYABLE, CKA_DESTROYABLE для более тонкой настройки доступа к объекту. Подробнее про возможные атрибуты конкретных классов объектов можно прочитать непосредственно в самом стандарте для каждого класса объектов.

    Объекты данных могут быть самыми разнообразными: асимметричные ключи, симметричные ключи, сертификаты, просто какая-либо информация на токене. В нашем примере мы создали два объекта, но сделали это неявно с помощью механизма генерации ключей. C_GenerateKeyPair приняла на вход механизм генерации ключевой пары, шаблоны открытого и закрытого ключа и с помощью механизма сгенерировала объекты ключевой пары (publicKey и privateKey). Мы пока ещё не описывали механизмы, но, говоря простым языком, механизм — это идентификатор операции, которая выполняет какую-то криптографическую функцию. В нашем случае — это функция генерации объекта.

    Поиск объектов и создание сырой подписи

    В прошлом разделе мы сгенерировали ключевую пару. На этот раз будем считать, что у нас нет хендлов на сгенерированные ключи, но мы знаем их идентификатор – CKA_ID. Попробуем найти объект закрытого ключа на токене:

    Данный пример иллюстрирует работу с функцией поиска объекта по заданным атрибутам. Как можно заметить, операция поиска объекта на токене является составной и работа с ней сводится как минимум к вызову трёх функций: C_FindObjectsInit, C_FindObjects, C_FindObjectsFinal. Функция C_FindObjects может вызываться по несколько раз, и каждый раз она будет возвращать следующие объекты поиска. Предпоследний аргумент функции C_FindObjects задаёт размер выходного массива объектов. А последний — количество полученных объектов после очередного поиска.

    Поиск приватного ключа производился по атрибуту его класса и идентификатору. Мы рассчитывали, что найдётся хотя бы один объект по заданному шаблону и брали любой из них. Используем найденный ключ для вычисления сырой подписи:

    В этом примере подпись и хеш можно считать одновременно. Такой вариант рекомендован для безопасности: цепочку «хеширование-подпись» лучше не «разрывать». Чтобы показать, какой алгоритм хеширования использовать, мы передали его OID.

    Также имеется возможность считать сырую подпись в два этапа: сначала брать хеш от данных, а затем вычислялась подпись от хеша. Такой подход более модульный, т.к. алгоритмы хеширования и вычисления подписи могут быть любыми и их можно комбинировать. Естественно, комбинировать можно с некоторыми ограничениями, которые налагаются стандартами, например, на длину хеша.

    Работа с функциями расширения на примере создания запроса на сертификат

    Пришло время показать, как работать с функциями-расширениями. Сделаем это на примере библиотеки PKCS#11 от Рутокен и создадим запрос на сертификат для нашей ключевой пары. Генерация запроса на сертификат не описана в стандарте, поэтому сделаем это через функцию-расширение C_EX_CreateCSR.

    Можно заметить, что работа с функциями расширения очень похожа на работу со стандартными функциями. Основное отличие лишь в том, что мы обращаемся к другому списку функций CK_FUNCTION_LIST_EXTENDED_PTR. Создание запроса на сертификат происходит в одну строчку функцией C_EX_CreateCSR и возвращает запрос в DER-формате. Также стоит обратить внимание, что память, выделенную внутри библиотеки, следует высвобождать с помощью функции C_EX_FreeBuffer.

    По полученному запросу можно получить сертификат в Удостоверяющем центре. Например, воспользуемся тестовым УЦ КриптоПро для получения сертификата. Полученный сертификат необходимо скачать в DER-формате, сохранить в файле с именем «cert_2012-256.cer» и положить в директорию, из которой вы запускаете примеры. Полученный сертификат можно импортировать на токен.

    Импорт сертификата на токен. Создание объекта вручную

    Сертификаты на токене так же как и ключи — являются объектами. Сертификат можно импортировать на токен, создав объект с нужными атрибутами. Для этого мы реализовали функцию: import_cert:

    На этот раз мы создали объект напрямую с помощью функции C_CreateObject. Для создания объекта сертификата мы аналогично передали шаблон с атрибутами объекта: тело сертификата, идентификатор, тип доступа, тип сертификата и т.п.

    Функцию C_CreateObject можно использовать не только для создания сертификата на токене, но и для создания других объектов, например, публичных ключей (CKO_PUBLIC_KEY), закрытых ключей (CKO_PRIVATE_KEY), симметричных ключей (CKO_SECRET_KEY), обычных данных (CKO_DATA). Их значение будет также содержаться внутри атрибута CKA_VALUE.

    Теперь, когда у нас на токене имеется и ключевая пара и сертификат, для закрепления материала рассмотрим операцию создания CMS-подписи.

    Формирование CMS-подписи

    Данная возможность является расширением библиотеки Рутокен и может работать только с ГОСТ-ключами. Для создания подписи в формате CMS требуется наличие закрытого ключа и сертификата (неявно содержащего в себе открытый ключ). Создание CMS-подписи реализовано в функции sign_cms:

    Создание CMS-подписи произошло вызовом всего лишь одной функции расширения C_EX_PKCS7Sign. А объект сертификата нашелся так же просто, как и объект ключа с минимальными отличиями в коде. Все это показывает, как просто и лаконично (по меркам языка C) спроектирован стандарт PKCS#11 с идеей объектного подхода.

    Получение и установка атрибутов публичных объектов

    В завершение главы про объекты хотелось бы отметить, что атрибуты публичных объектов можно получать и изменять. Делается это с помощью функций C_SetAttributeValue и C_GetAttributeValue.

    Логика работы с функцией C_SetAttributeValue очень похожа на логику создания объектов — создаётся шаблон, атрибуты заполняются указанными значениями. Все это передаётся на вход функции C_SetAttributeValue. Изменять атрибуты можно, если у объекта атрибут CKA_MODIFIABLE равен CK_TRUE.

    При получении значений атрибутов иногда неизвестно, какой будет выходной размер атрибута. В таком случае создается шаблон с нулевыми значениями указателей на выходные объекта атрибутов и их размеров. Этот шаблон передаётся функции C_GetAttributeValue. Функция заполняет значение выходных размеров атрибутов в этом шаблоне. Мы может воспользоваться этой информацией для выделения памяти под атрибуты в шаблоне и дальнейшего вызова функции C_GetAttributeValue.

    Для демонстрации работы функций C_GetAttributeValue и C_SetAttributeValue рассмотрим пример получения тела сертификата и изменения текстовой метки сертификата:

    Про механизмы

    Мы уже ранее встречались с механизмами в примерах и дали краткое описание. Давайте теперь опишем их подробнее. Описание механизмов в PKCS#11 было вынесено в отдельный документ, с которым можно ознакомиться здесь. В этом документе написано:

    A mechanism specifies precisely how a certain cryptographic process is to be performed. PKCS #11 implementations MAY use one of more mechanisms defined in this docuоment.

    Отсюда следует, что механизмы:

    Определяют некоторое криптографическое преобразование.

    PCKS#11 может использовать механизмы, определенные в этом документе.

    Более того, некоторые PKCS#11-библиотеки могут использовать и другие механизмы.

    Согласно документации механизмы можно разделить на:

    Механизмы шифрования и расшифрования (Encrypt & Decrypt);

    Механизмы подписи и проверки подписи (Sign & Verify);

    Механизм формирования хеша (Digest);

    Механизм генерации симметричных и асимметричных ключей (Gen. Key/Key Pair);

    Экспорт и импорт ключей (Wrap & Unwrap);

    Выработка общего ключа на основе асимметричных ключей (Derive).

    Каждый механизм идентифицирует одну или несколько из этих функций. Так, например, ранее рассмотренный механизм CKM_GOSTR3410_KEY_PAIR_GEN предназначен для генерации ключей, а механизм CKM_AES_ECB может использоваться как для зашифрования/расшифрования, так и для свертки/развертки ключей.

    Работа с механизмами, на примере зашифрования сообщения

    Механизмы в PKCS#11 задаются через структур CK_MECHANISM. Объекты типа CK_MECHANISM в дальнейшем передаются PKCS#11-функциям для указания нужного механизма. Сама структура CK_MECHANISM состоит из трех элементов:

    Идентификатор механизма (mechanism);

    Указатель на параметры механизма (pParameter);

    Длина в байтах параметров механизма (ulParameterLen).

    Самый простой пример параметра механизма — вектор инициализации для алгоритмов шифрования. Попробуем на примере показать, как можно зашифровать сообщение через механизм CKM_GOST28147 с указанным вектором инициализации. Пример реализован внутри функции encrypt_data:

    В этом примере стоит обратить внимание на то, как передаётся вектор инициализации механизму шифрования. Стоит заметить, что после вызова функции C_Encrypt вызывать функцию C_EncryptFinal не нужно: для многих механизмов вызов C_Encrypt эквивалентен последовательному вызову функций C_EncryptUpdate и C_EncryptFinal.

    Проверка поддержки механизмов

    Ранее в примерах мы всегда надеялись на то, что токен поддерживает используемые механизмы, но, вообще говоря, — это может быть не так. Так, например, Рутокен Lite не поддерживает криптографические механизмы. Поэтому перед началом работы с каким-либо механизмом желательно убедиться в том, что он поддерживается устройством. Это можно сделать с помощью функции C_GetMechanismList, которая возвращает список поддерживаемых механизмов токена. Напишем удобную обертку для проверки поддержки определенного механизма:

    Эта обертка удобна для одноразовой проверки поддержки механизма. Если же мы хотим проверить поддержку сразу нескольких механизмов, то лучше получить список поддерживаемых механизмов токена один раз и проверить наличие требуемых механизмы. Это позволит сократить количество обращений к токену и время работы программы, соответственно.

    Утилита pkcs11-tool

    Часто бывает необходимо просто и быстро выполнить какое-либо обращение к PKCS#11-библиотеке, не прибегая к написанию кода. На помощь может прийти утилита pkcs11-tool, которая распространяется в составе пакета (opensc)[https://github.com/OpenSC/OpenSC].

    Утилита pkcs11-tool может гибко выполнять огромное количество стандартных PKCS#11-операций. Например:

    Генерация ключевых пар:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so —keypairgen —key-type GOSTR3410-2012-256:B —id 45 -l

    Создание сырой подписи:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so —sign —id 45 -l -i file.txt —mechanism GOSTR3410-WITH-GOSTR3411-12-256

    Генерация псевдослучайных последовательностей:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so —generate-random 16

    Получение списка объектов на токене:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so -O

    Получение механизмов, поддерживаемых токеном:
    pkcs11-tool —module /usr/lib/librtpkcs11ecp.so -M

    Список не является исчерпывающим, более подробно о полных возможностях утилиты можно прочитать в мануале.

    Дополнительный материал

    Если вы захотите узнать, как работать с более специфичными функциями, то большое количество примеров по работе с PKCS#11 можно найти в нашем SDK. Все примеры по работе с PKCS#11-библиотекой находятся в директории sdkpkcs11samples.

    Выводы

    Зачастую библиотека PKCS#11 является основным кирпичиком при написании приложений или других библиотек для работы со смарт-картами на других языках программирования. Поэтому знание основ работы с PKCS#11 на языке C может помочь разобраться с тем, как работать с обертками или как лучше реализовать архитектуру новой обертки.

    Кроме PKCS#11 с объектами на смарт-картах/токенах можно работать через:

    OpenSSL API (pkcs11 engine, rutoken engine);

    Java c JDK 8 или новее через интерфейсы PKCS#11-wrapper и JCA;

    C++ с использованием библиотеки pki-core;

    Если вы хотите узнать про какую-то реализацию подробнее, то напишите в комментариях и мы постараемся в ближайшее время выпустить новую статью с её разбором.

    Источник

    Содержание

    1. ЕГИССО настройка рабочего места
    2. Программы для ЕГИССО
    3. Настройка рабочего места ЕГИССО
    4. Настройка браузера для ЕГИССО
    5. В заключение
    6. Настройка CryptoDE для ЕГИССО
    7. Где скачать Crypto+DE
    8. Ошибка
    9. Настройка CryptoDE для ЕГИССО

    ЕГИССО настройка рабочего места

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

    Программы для ЕГИССО

    Начнем с загрузки всего необходимого нам для настройки рабочего места, чтобы потом на это не отвлекаться. И так, для работы с порталом ЕГИССО нам понадобятся:

    • В первую очередь операционная система Windows 7 или Windows 10. В случае с Windows 7 возможно ещё понадобиться дополнительно обновить браузер Internet Explorer до 11 версии;
    • Криптопровайдер КриптоПро CSP 4.0 R3. Скачать дистрибутив для установки можно с официального сайта КриптоПро (Обязательно требуется регистрация);
    • Прикладное программное обеспечение управления электронной подписью и шифрованием (ППО УЭПШ) Crypto+ DE 3.1;
    • Плагин для браузера КриптоПро ЭЦП Browser plug-in версии 2.0;
    • Плагин для работы с порталом государственных услуг IFCPlugin;
    • Корневой сертификат ЕГИССО;
    • Сертификат безопасности выданный на юридическое лицо. Его можно получить в авторизованном удостоверяющем центре.

    На этом перечень нужных нам программ для работы с ЕГИССО окончен.

    Настройка рабочего места ЕГИССО

    Приступаем к установке и настройке программного обеспечения для организации работы в кабинете поставщика информации (КПИ).

    Первым делом, должна быть произведена настройка КриптоПро для ЕГИССО. Скачиваем и устанавливаем КриптоПро CSP 4.0 R3. Хотелось бы подчеркнуть, рекомендуемая версия программы КриптоПро CSP 4.0.9944. С этой сборкой проблем во время работы обнаружено не было. Запускаем установочный файл и нажимаем «Установить (рекомендуется)», при этом пункт «Установить корневые сертификаты» должен быть отмечен.

    После установки КриптоПро перезагружаем компьютер и устанавливаем корневой сертификат ЕГИССО. Кликаем два раза по ранее загруженному сертификату. Затем кликаем по кнопке «Установить сертификат…».

    В мастере импорта сертификатов отмечаем пункт «Поместить все сертификаты в следующее хранилище» затем жмем кнопку «Обзор…».

    В предоставленном списке выбираем «Доверенные корневые центры сертификации» и нажимаем «ОК».

    Далее, если всё сделано верно, на экране появится окно с предупреждением о безопасности. Это окно носит уведомительных характер, подтверждаем установку сертификата ЕГИССО нажатием на кнопку «Да».

    После подтверждения вы увидите сообщение о том, что импорт успешно выполнен. Установка сертификата ЕГИССО завершена.

    Следующим шагом копируем контейнер закрытого ключа и устанавливаем сертификат организации выданный авторизованным удостоверяющим центром. Перед началом копирования подключите устройство на котором храниться контейнер с сертификатом.

    После подключения устройства открываем КриптоПро CSP, переходим на вкладку «Сервис» и кликаем «Скопировать…».

    В открывшимся окне нажимаем «Обзор…», затем выбираем контейнер для копирования.

    Вводим пароль от контейнера (пароль по умолчанию обычно 12345678) и жмем «ОК». Ставить галочку «Запомнить пароль» не нужно, так как обращаться к данному контейнеры с этого компьютера вы больше не будете.

    В следующем окне выбираем пункт «Реестр».

    Устанавливаем пароль на создаваемый контейнер и опять жмем «ОК».

    Следующее сообщение которое вы увидите, уведомляет об успешном копировании контейнера.

    Возвращаемся во вкладку «Сервис». Теперь нам надо установить сертификат из контейнера. Для этого нажимаем «Просмотреть сертификаты в контейнере…».

    Жмем «Обзор…» и выбираем контейнер который только что скопировали. Будьте внимательны, поле «Считыватель» должно содержать «Реестр». Чтобы не ошибиться можете отключить устройство с которого копировали контейнер.

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

    Проверяем данные по сертификату, что бы не ошибиться с выбором контейнера если их у вас несколько. И кликаем по кнопке «Установить».

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

    Контейнер не содержит сертификата

    Часть работы по настройке рабочего места ЕГИССО касающаяся КриптоПро CSP 4.0 R3 и установки сертификатов выполнена. Переходим к этапу установки плагина пользователя системы электронного правительства. Для этого запускаем установочный файл IFCPlugin и нажимаем «Далее».

    Дожидаемся окончания процесса и переходим к установке КриптоПро ЭЦП Browser plug-in версии 2.0. Для этого запускаем файл cadesplugin и нажимаем «Да». После установки рекомендовано перезапустить браузер.

    Приступаем к установке УЭПШ Crypto+DE.

    Во время установки Crypto+DE скачивает с интернета недостающие для работы компоненты. По этому процесс установки может занять от пары минут до получаса, возможно и больше (в зависимости от скорости вашего интернета). Терпеливо ждем и ни в коем случае не прерываем процесс установки. По окончанию процесса установки будет предложено запустить программу.

    После нажатия «Готово» будет предложено установить сертификат, обязательно нажимаем «Да».

    Затем программа предложит установить ещё один сертификат, тоже обязательно соглашаемся.

    После их установки появиться сообщение в котором говориться что «Установка корневого сертификата для https завершена». Это говорит о том, что Crypto+DE установлена верно. Перезагружаем компьютер.

    Осталось выполнить еще пару шагов. После загрузки компьютера нажимаем правой кнопкой мыши по зеленому значку только что установленной программы в трее возле часов. И выбираем пункт «Настройки».

    Первым делом переходим во вкладку «Криптосервер 3» и изменяем параметр режима проверки на пункт «с помощью списка отзыва сертификатов с подключением к сети». В параметре «Сертификат по умолчанию» должен отображаться сертификат юридического лица, который устанавливали через КриптоПро.

    Установка и настройка программ для рабочего места ЕГИССО был выполнена успешно!

    Настройка браузера для ЕГИССО

    Переходим к настройке браузера. Запускаем Internet Explorer 11, нажимаем шестеренку в правом верхнем углу и выбираем пункт «Свойства браузера».

    В открывшимся окне переходим на вкладку «Безопасность». Выбираем зону «Надежные сайты» и нажимаем кнопку «Сайты».

    Далее снимаем галочку «Для всех сайтов этой зоны требуется проверка серверов (https:)» Затем добавляем поочередно узлы http://*.egisso.ru, https://*.egisso.ru и https://*.gosuslugi.ru.

    После нажатия кнопки «Закрыть», переходим на вкладку «Дополнительно». В этой вкладке снимаем галочку с пункта SSL 3.0. Обязательно должны быть отмечены пункты:

    • TLS 1.0;
    • Использовать TLS 1.1;
    • Использовать TLS 1.2.

    На этом настройка браузера, ровно, как и настройка рабочего места ЕГИССО, завершена.

    Для проверки доступа в кабинет поставщика информации заходим на сайт ЕГИССО и жмем на ссылку «Поставщик информации».

    Если настройка была произведена правильно, то вы будите перенаправлены на форму авторизации через сайт госуслуги.

    В заключение

    В этой статье рассмотрена настройка КриптоПро для ЕГИССО, настройка Crypto+DE и браузера Internet Explorer. Как видите сам процесс настройки не сложный и сводиться к нескольким действиям. Скачиваете дистрибутивы по приведенным в статье ссылкам (все ссылки даны на официальные источники). Устанавливаете криптропровайдер КриптоПро CSP, перезагружаете компьютер. Настраиваете сертификат ЕГИССО и вашей организации. Устанавливаете плагины КриптоПро ЭЦП Browser plug-in и пользователя системы электронного правительства IFCPlugin. Затем устанавливаете Crypto+DE. Перезагружаете компьютер и настраиваете Crypto+DE. Последним шагом является настройка браузера Internet Explorer.

    Источник

    Настройка CryptoDE для ЕГИССО

    Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

    Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

    Где скачать Crypto+DE

    Скачать актуальную версию программы можно:

    • С официального сайта ПФР ( ссылка )
    • Яндекс Диск ( ссылка )

    Ошибка

    Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

    Настройка CryptoDE для ЕГИССО

    Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

    1. Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
    2. Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
    3. Нас интересует вкладка «Криптосервер 3».
      • «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
      • «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
      • «Режим проверки квалифицированной ЭП» ставим «Не проверять»

  • Все остальные значения я оставил по умолчанию. Не забываем нажать «Ок», чтобы все изменения вступили в силу.
  • На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!

    Источник

    Содержание

    1. Настройка CryptoDE для ЕГИССО
    2. Где скачать Crypto+DE
    3. Ошибка
    4. Настройка CryptoDE для ЕГИССО
    5. Частые проблемы при работе с электронной подписью
    6. Проблема 1. Неверные имя пользователя или пароль.
    7. Проблема 2. При нажатии на кнопку «Запросить сертификат» возникают ошибки или не открывается программа КриптоПро.
    8. Проблема 3. Не удается выполнить запрос на сертификат.
    9. Проблема 4. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:
    10. Проблема 5. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.
    11. Проблема 6. Если Вы выпускали электронную подпись до 01.07.2022 и не удается войти в личный кабинет на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР». Например, возникает следующая ошибка:
    12. Проблема 7. При выборе сертификата, который был выпущен до 01.07.2022, в личном кабинете на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР» возникает ошибка:
    13. Проблема 8. При аннулировании или приостановке действия сертификата ЭП, который был выпущен до 01.07.2022, окно отзыва или приостановления не закрывается автоматически или страница сайта не обновляется.
    14. Смешанный (клиент/сервер) алгоритм формирования цифровой подписи xmlDsig на основе CryptoPro Browser Plugin

    Настройка CryptoDE для ЕГИССО

    Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».

    Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.

    Где скачать Crypto+DE

    Скачать актуальную версию программы можно:

    Ошибка

    Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.

    Настройка CryptoDE для ЕГИССО

    Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.

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

    Источник

    Частые проблемы при работе с электронной подписью

    Рассмотрим проблемы, которые возникают при создании запроса на сертификат ключа проверки электронной подписи (ЭП), при установке или использовании сертификата.

    Ознакомьтесь с видеоинструкцией
    «Как выпустить ЭП через модуль «Полигон Про: Удостоверяющий центр»
    или программу «Подпись Про»

    Проблема 1. Неверные имя пользователя или пароль.

    01

    Решение: проверьте корректность логина и пароля указанного в настройках программы. Должен быть указан логин и пароль, который Вы используете для авторизации на сайте https://pbprog.ru.

    02m

    Проблема 2. При нажатии на кнопку «Запросить сертификат» возникают ошибки или не открывается программа КриптоПро.

    Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.

    Если на компьютере установлены программыблокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).

    В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:

    04m

    Выберите пункт «Включение и отключение брандмауэра Windows»:

    05m

    В открывшемся окне отключите брандмауэр, нажмите «ОК»:

    06m

    Проблема 3. Не удается выполнить запрос на сертификат.

    Решение: проверьте версию операционной системы (ОС).

    Например, в программе «Подпись Про» нажмите кнопку 07. В окне «О Программе» нажмите кнопку «О системе…»:

    pasted%20image%200

    Проверьте версию операционной системы:

    09

    К сожалению на версии операционной системы отличной от Windows 10 невозможно выполнить запрос на сертификат из программы.

    Для продолжения операции выпуска сертификата обратитесь в отдел технической поддержки по номеру 8 (800) 100-58-90.

    Также Вы можете обновить свою операционную систему до Windows 10 или воспользоваться другим компьютером с уже установленной версией ОС.

    Проблема 4. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:

    10

    Решение: добавить биологический датчик случайных чисел.

    Для добавления биологического датчика ДСЧ запустите программу КриптоПро CSP от имени администратора. Перейдите на вкладку «Оборудование» и нажмите кнопку «Настроить ДСЧ»:

    11

    12

    В открывшемся окне нажмите «Далее». В окне «Выбор ДСЧ» выберите «Биологический ДСЧ» и нажмите кнопку «Далее»:

    13

    Задайте имя добавляемого ДСЧ или оставьте по умолчанию, нажмите «Далее» и «Готово».

    14

    В окне «Управление датчиками случайных чисел» появится «Биологический ДСЧ».

    15

    16

    Проблема 5. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.

    Запустите программу КриптоПро CSP и на вкладке «Общие» проверьте срок действия.

    17

    Если в поле «Срок действия» указано «Истекла», то необходимо приобрести лицензию на программу либо ввести лицензионный ключ при наличии такового.

    1. Через модуль «Удостоверяющий центр» или через программу «Подпись Про». Для этого на ленте на вкладке «Главная» нажмите кнопку
    18:

    pasted%20image%200 2

    2. Вручную. Для этого:

    — Скачайте корневые сертификаты:

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (действует с 19.10.2016 по 19.10.2026)

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (действует с 06.04.2018 по 06.04.2027)

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (для ЭП, выпущенных по ГОСТ Р 34.10-2012 с 01.01.2019) (с 26.09.2018 по 26.09.2033)

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (ГОСТ Р 34.10-2012, для ЭП с 15.10.2019 по 13.08.2020) (с 26.07.2019 по 26.07.2034)

    Корневой сертификат УЦ ООО «ПРОГРАММНЫЙ ЦЕНТР» (ГОСТ Р 34.10-2012, для ЭП с 13.08.2020) (с 13.07.2020 по 13.07.2035)

    — Нажмите правой кнопкой мыши по одному из сертификатов и выберите «Установить сертификат»:

    19

    В появившемся окне нажмите «Далее»:

    Снова нажмите «Далее»:

    Нажмите на кнопку «Готово»:

    Выполните аналогичные действия для других скачанных сертификатов.

    — Откройте меню «Пуск» и в папке «КРИПТО-ПРО» запустите «Сертификаты».

    — В открывшемся окне раскройте ветку Сертификаты → текущий пользовательПромежуточные центры сертификацииРеестрСертификаты.

    Найдите сертификаты «Головной удостоверяющий сертификат» и «Минкомсвязь России», зажав левую кнопку мыши, перетащите их в ветку «Доверенные корневые центры сертификации».

    На предупреждение о безопасности ответьте «Да».

    Для этого скачайте нужную версию и установите ее (подробнее см. инструкцию по установке):

    Проверьте актуальность версии программы одним из способов:

    — В стартовом окне Полигон Про нажмите в правом верхнем углу кнопку 26«Настройка и управление Полигон Про» и в выпадающем списке выберите 27.

    — В любом программном модуле в левом верхнем углу нажмите кнопку 28и в открывшемся меню выберите 29.

    — В любом программном модуле на «Ленте» перейдите на вкладку «Помощь» и нажмите на кнопку 30.

    В окне «О программе» сравните версию программы с версией, указанной в карточке товара.

    pasted%20image%200 3

    Проблема 6. Если Вы выпускали электронную подпись до 01.07.2022 и не удается войти в личный кабинет на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР». Например, возникает следующая ошибка:

    32m

    Для этого в окне «Свойства браузера» на вкладке «Безопасность» добавьте в список «Надежные сайты» адрес: https://ra.pbprog.ru.

    33

    34

    Для зоны «Надежные сайты» разрешите запуск ActiveX приложений.

    Для этого в окне «Параметры безопасности – зона надежных сайтов» во всех пунктах установите значение «Включить».

    35

    36

    Для этого в окне «Свойства браузера» на вкладке «Конфиденциальность» уберите галочку с поля «Включить блокирование всплывающих окон».

    37

    Для этого в окне «Свойства браузера» на вкладке «Дополнительно» установите галочки в полях: «SSL 2.0», «SSL 3.0», «TLS 1.0», «Использовать TLS 1.1» и «Использовать TLS 1.2».

    38

    Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.

    Если на компьютере установлены программыблокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).

    В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:

    08mini

    Выберите пункт «Включение и отключение брандмауэра Windows»:

    09mini

    В открывшемся окне отключите брандмауэр, нажмите «ОК»:

    10mini

    Проблема 7. При выборе сертификата, который был выпущен до 01.07.2022, в личном кабинете на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР» возникает ошибка:

    new 1

    Решение: обновите или скачайте и установите «КриптоПро CSP» версии 4.0.9969. Скачать программу можно с официального сайта.

    Проблема 8. При аннулировании или приостановке действия сертификата ЭП, который был выпущен до 01.07.2022, окно отзыва или приостановления не закрывается автоматически или страница сайта не обновляется.

    new 2

    Решение: скачайте и установите плагин «КриптоПро ЭЦП browser plug-in». Скачать плагин можно с официального сайта или с сайта Программного центра (>» href=»https://pbprog.ru/upload/download/files/cadesplugin.exe»>скачать).

    Если после выполнения данных рекомендаций проблема не устранилась, запишитесь на сеанс удаленного доступа.

    39m

    40

    Когда специалист будет подключаться к Вам, разрешите доступ к вашему компьютеру. Нажмите кнопку «Разрешить».

    41

    02

    03

    Для зоны «Надежные сайты» разрешите запуск ActiveX приложений.

    04

    05

    Отключите блокирование всплывающих окон.

    06

    07

    Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.

    Если на компьютере установлены программыблокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).

    В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:

    08mini

    Выберите пункт «Включение и отключение брандмауэра Windows»:

    09mini

    В открывшемся окне отключите брандмауэр, нажмите «ОК»:

    10mini

    Проблема 2. Не удается выполнить запрос на сертификат.

    Решение: проверьте версию операционной системы (ОС).

    Например, в программе «Полигон Про» нажмите на кнопку 34. В окне «О Программе» нажмите кнопку «О системе…»:

    12

    Проверьте версию операционной системы:

    13

    Если на компьютере установлена Windows XP, обновите версию ОС или воспользуйтесь другим компьютером с операционной системой Windows 7 или выше.

    Внимание! Windows XP снята компанией Microsoft с поддержки в 2014 г. (информация с официального сайта Мicrosoft), т.е. для нее не выходят обновления безопасности, что делает уязвимой как саму ОС, так и Ваши данные.

    Проблема 3. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:

    14

    Решение: добавить биологический датчик случайных чисел.

    Для добавления биологического датчика ДСЧ запустите программу КриптоПро CSP от имени администратора. Перейдите на вкладку «Оборудование» и нажмите кнопку «Настроить ДСЧ»:

    15

    16

    В открывшемся окне нажмите «Далее». В окне «Выбор ДСЧ» выберите «Биологический ДСЧ» и нажмите кнопку «Далее»:

    17

    Задайте имя добавляемого ДСЧ или оставьте по умолчанию, нажмите «Далее» и «Готово».

    18

    В окне «Управление датчиками случайных чисел» появится «Биологический ДСЧ».

    19

    19 2

    Проблема 4. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.

    Запустите программу КриптоПро CSP и на вкладке «Общие» проверьте срок действия.

    20

    Если в поле «Срок действия» указано «Истекла», то необходимо приобрести лицензию на программу либо ввести лицензионный ключ при наличии такового.

    1. Через модуль «Удостоверяющий центр» или через программу «Подпись Про». Для этого на ленте на вкладке «Главная» нажмите кнопку 21:

    22mini

    2. Вручную. Для этого:

    — Нажмите правой кнопкой мыши по скачанному файлу и выберите «Установить сертификат»:

    23mini

    В появившемся окне нажмите «Далее»:

    Снова нажмите «Далее»:

    Нажмите на кнопку «Готово»:

    — Откройте меню «Пуск» и в папке «КРИПТО-ПРО» запустите «Сертификаты».

    27

    — В открывшемся окне раскройте ветку Сертификаты – текущий пользователь – Промежуточные центры сертификации – Реестр – Сертификаты, найдите сертификат «Головной удостоверяющий сертификат» и, зажав левую кнопку мыши, перетащите его в ветку «Доверенные корневые центры сертификации».

    28mini

    На предупреждение о безопасности ответьте «Да».

    29

    Для этого скачайте требуемую версию и установите ее (подробнее см. инструкцию по установке).

    Проверьте актуальность версии программы одним из способов:

    — В стартовом окне Полигон Про нажмите в правом верхнем углу кнопку 30«Настройка и управление Полигон Про» и в выпадающем списке выберите 34.

    — В любом программном модуле в левом верхнем углу нажмите на кнопку 32и в открывшемся меню выберите 33.

    — В любом программном модуле на «Ленте» перейдите на вкладку «Помощь» и нажмите на кнопку 34.

    В окне «О программе» сравните версию программы с версией, указанной в карточке товара.

    35

    Если после выполнения данных рекомендаций проблема не устранилась, запишитесь на сеанс удаленного доступа.

    Авторизуйтесь в личном кабинете на сайте pbprog.ru;

    Слева перейдите в пункт меню «Предварительная запись» и выберите пункт «Техподдержка: Удаленный доступ»;

    36mini

    Скачайте и установите программу TeamViewer 9 версии;

    В таблице сеансов удаленного доступа выберите любое удобное для Вас время для подключения специалиста (время московское) и запишитесь на сеанс удаленного доступа, указав необходимые для записи данные (обязательно опишите проблему);

    За пять минут до начала сеанса запустите программу TeamViewer, позвоните в отдел технической поддержки по бесплатному номеру 8-800-100-58-90 и сообщите 9 цифр ID, необходимых для подключения.

    37

    Примечание: как использовать программу TeamViewer читайте на форуме (сообщение №5 «2.Управление Вашим компьютером через Интернет»).

    Источник

    Смешанный (клиент/сервер) алгоритм формирования цифровой подписи xmlDsig на основе CryptoPro Browser Plugin

    На хабре уже была обзорная статья о механизмах создания ЭЦП в браузере, где было рассказано о связке Крипто-Про CSP +их же плагин к браузерам. Как там было сказано, предварительные требования для работы — это наличие CryptoPro CSP на компьютере и установка сертификата, которым собираемся подписывать. Вариант вполне рабочий, к тому же в версии 1.05.1418 плагина добавлена работа с подписью XMLDsig. Если есть возможность гонять файлы на клиент и обратно, то для того, чтобы подписать документ на клиенте, достаточно почитать КриптоПрошную справку. Все делается на JavaScript вызовом пары методов.
    Однако, что если файлы лежат на сервере и хочется минимизировать трафик и подписывать их, не гоняя на клиент целиком?
    Интересно?
    Итак, клиент/серверный алгоритм формирования цифровой подписи XMLDSig.
    Информацию об спецификации по XMLDsig можно найти по адресу тут.
    Я буду рассматривать формирование enveloping signature (обворачивающей подписи) для xml-документа.
    Простой пример подписанного xml:

    Чтобы лучше понять, что из себя представляет enveloping signature, предлагаю краткий перевод описания тэгов из спецификации:

    Итак, исходные данные:

    Код на C#, который заработал в моем случае:

    Шаг №3.
    Берем хэш от канокализированного SignedInfo.
    Тут возможны 2 варианта-серверный и клиентский.
    3.1) Взятие хэша на клиенте. Именно его я использую, так что опишу его первым:
    На сервере кодируем канокализированный SignedInfo в base64
    C#:
    и отправляем эти данные на клиент.
    На клиенте берем хэш с помощь криптопрошного плагина
    JavaScript:

    Посмотреть хэш можно с помощью hashObject.Value
    3.2)Считаем хэш на сервере и отправляем на клиент. Этот вариант у меня так и не заработал, но честно сказать я особо и не пытался.

    Возможно хэш надо преобразовывать в base64.

    Отправляем на клиент, там используем

    Именно на методе hashObject.SetHashValue у меня падала ошибка. Разбираться я не стал, но криптопрошном форуме говорят, что можно как-то заставить ее работать.

    Если соберетесь реализовывать серверный алгоритм генерации хэша, то вот пара полезных советов:
    1) Посчитайте хэш на клиенте и на сервере от пустой строки. он должен совпадать, это значит ваши алгоритмы одинаковые.
    Для GOST3411 это следующие значения:
    base64: mB5fPKMMhBSHgw+E+0M+E6wRAVabnBNYSsSDI0zWVsA=
    hex: 98 1e 5f 3c a3 0c 84 14 87 83 0f 84 fb 43 3e 13 ac 11 01 56 9b 9c 13 58 4a c4 83 23 4c d6 56 c0
    2) Добейтесь, чтобы у вас совпадали хэши для произвольных данных, генерируемые на клиенте и на сервере.
    После этого можно пересылать клиенту только хэш от SignedInfo вместо всего SignedInfo.

    Шаг №4.(клиент)
    Генерируем SignatureValue и отсылаем на сервер SignatureValue и информацию о сертификате

    Возвращем на сервер binReversedSignatureString и certValue.

    Код функций из utils не выкладываю. Мне его подсказали на форуме криптоПро и его можно посмотреть в этой теме

    Шаг №5. (сервер)
    Заменяем в сгенерированном на шаге №1 тэге Signature значения тэгов SignatureValue и X509Certificate значениями, полученными с клиента

    Шаг №6. (сервер)
    Верифицируем карточку.
    Если верификация прошла успешно, то все хорошо. В результате мы получаем на сервере документ, подписанный клиентским ключом, не гоняя туда-обратно сам файл.

    Примечание: если работа ведется с документом, уже содержащим подписи, то их надо отсоединить от документа до шага №1 и присоединить к документу обратно после шага №6

    В заключение хочется сказать большое спасибо за помощь в нахождении алгоритма участникам форума КриптоПро dmishin и Fomich.
    Без их советов я бы плюхался с этим в разы дольше.

    Источник

    Понравилась статья? Поделить с друзьями:
  • Что значит ошибка при запуске приложения 0xc0000906
  • Что значит ошибка при запуске приложения 0xc0000142
  • Что значит ошибка при запуске приложения 0xc000007b
  • Что значит ошибка при загрузке файла
  • Что значит ошибка при выполнении приложения сервера