Содержание
- ЕГИССО настройка рабочего места
- Программы для ЕГИССО
- Настройка рабочего места ЕГИССО
- Настройка браузера для ЕГИССО
- В заключение
- Настройка CryptoDE для ЕГИССО
- Где скачать Crypto+DE
- Ошибка
- Настройка 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 для ЕГИССО
Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.
- Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
- Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
- Нас интересует вкладка «Криптосервер 3».
- «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
- «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
- «Режим проверки квалифицированной ЭП» ставим «Не проверять»
На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!
Источник
Для корректной работы с электронной подписью (ЭП, ранее — ЭЦП) достаточно соблюсти четыре условия. Во-первых, приобрести средства ЭП в удостоверяющем центре (УЦ). Во-вторых, установить лицензионное средство криптозащиты (СКЗИ, криптопровайдер). В-третьих, загрузить на рабочее место личный, промежуточный и корневой сертификаты. И, в-четвертых, настроить браузер для подписания электронных файлов на веб-порталах. Если хотя бы одно из условий не соблюдено, в процессе использования ЭП возникают различные ошибки: КриптоПро не видит ключ, недействительный сертификат, отсутствие ключа в хранилище и другие. Самые распространенные сбои и способы их устранения рассмотрим в статье.
Поможем получить электронную подпись. Установим и настроим за 1 час.
Оставьте заявку и получите консультацию.
Почему КриптоПро не видит ключ ЭЦП
КриптоПро CSP — самый популярный криптографический софт на российском рынке. Большинство торговых площадок и автоматизированных госсистем работают только с этим криптопровайдером. Программное обеспечение распространяется на безвозмездной основе разработчиком и через дистрибьюторскую сеть, а за лицензию придется платить. При покупке квалифицированной ЭП (КЭП) клиенты получают набор средств:
- закрытый и открытый ключи;
- сертификат ключа проверки электронной подписи (СКПЭП, СЭП) — привязан к открытому ключу;
- физический носитель, на который записываются все перечисленные средства.
Каждый раз, когда владельцу СЭП нужно подписать цифровой файл, он подключает USB-носитель к ПК и вводит пароль (двухфакторная идентификация). Возможен и другой путь — записать все компоненты в реестр ПК и пользоваться ими без физического криптоключа. Второй способ не рекомендован, так как считается небезопасным.
В работе с ЭП возникают такие ситуации, когда пользователь пытается заверить документ в интернете или в специальном приложении, открывает список ключей и не видит СЭП. Проблема может быть спровоцирована следующими факторами:
Ошибка | Решение |
Не подключен носитель | Подсоединить токен к ПК через USB-порт (об успешном подключении свидетельствует зеленый индикатор на флешке) |
Не установлено СКЗИ | Установить криптопровайдер, следуя инструкции |
Не установлен драйвер носителя | Чтобы компьютер «увидел» устройство, нужно установить специальную утилиту. Как правило, она предоставляется удостоверяющим центром при выдаче подписи. Руководство по инсталляции можно найти на портале разработчика |
На ПК не загружены сертификаты | Установить корневой, промежуточный и личный сертификаты (как это сделать, рассмотрим далее) |
Не установлен плагин для браузера | Скачать ПО на сайте www.cryptopro.ru |
Ошибка КриптоПро «0x80090008»: указан неправильный алгоритм
Если версия CryptoPro не соответствует новым условиям сдачи отчетности, пользователь увидит на экране уведомление с кодом ошибки «0x80090008». Это значит, что на ПК установлен устаревший релиз программы, и его необходимо обновить. Для начала проверьте сертификат:
- В меню «Пуск» выберите пункт «Все программы» → «КриптоПро».
- Откройте «КриптоПро CSP сервис» и выберите команду «Протестировать».
- Нажмите кнопку «По сертификату» и укажите нужный файл.
При наличии ошибки в СЭП система на нее укажет.
Удаление программы
Если никаких проблем не обнаружено, ошибку неправильного алгоритма поможет устранить переустановка СКЗИ:
- Найти криптопровайдер через «Пуск».
- Выбрать команду «Удалить».
- Перезагрузить ПК.
Чтобы новая программа работала корректно, перед установкой требуется удалить все следы старой версии с помощью фирменной утилиты cspclean от CryptoPro:
- Запустить файл cspclean.exe на рабочем столе.
- Подтвердить удаление продукта клавишей «ДА».
- Перезагрузить компьютер.
Контейнеры, сохраненные в реестре, удалятся автоматически.
Установка актуального релиза
Дистрибутивы для скачивания СКЗИ размещены в разделе «Продукты» и доступны для скачивания всем авторизованным пользователям. Создание ЛК занимает не более 5 минут:
- Нажмите кнопку «Регистрация».
- Введите личные данные и подтвердите согласие на доступ к персональной информации.
В каталоге продуктов выберите версию криптопровайдера с учетом ОС, загрузите установщик на ПК, запустите его и следуйте подсказкам. При установке ПО требуется указать серийный номер лицензии (если срок действия еще не истек). Эту информацию можно уточнить в приложении к договору.
По отзывам пользователей, переустановка ПК почти всегда помогает в устранении ошибки «0x80090008». Если проблема не решена, рекомендуется написать в техподдержку разработчика или обратиться к официальному дистрибьютору, у которого вы купили лицензию.
КриптоПро вставлен другой носитель: как исправить
Ошибка «Вставьте ключевой носитель» или «Вставлен другой носитель» возникает при попытке подписания электронного документа. Сначала следует убедиться, что USB-токен с сертификатом подключен к ПК (в качестве носителя используются защищенные криптоключи или обычные флешки). Токен должен соответствовать сертификату. Если носитель подсоединен к ПК, но сообщение об ошибке все равно появляется, следует переустановить сертификат через CryptoPro:
- Открыть меню «Пуск» → «Панель управления» → «КриптоПро CSP».
- Зайти во вкладку «Сервис» → «Посмотреть сертификаты в контейнере» → «Обзор».
- Выбрать из списка ключевой контейнер, нажать ОК и «Далее».
- Нажать «Установить». Если появится предупреждение о том, что сертификат уже присутствует в хранилище, дать согласие на его замену.
- Дождаться загрузки сертификата в хранилище «Личное» и нажать ОК.
После переустановки рекомендуется перезагрузить ПК. Для первичной инсталляции СКПЭП применим аналогичный алгоритм действий.
Мы готовы помочь!
Задайте свой вопрос специалисту в конце статьи. Отвечаем быстро и по существу. К комментариям
Недостаточно прав для выполнения операции в КриптоПро
Ошибка сопровождается уведомлением «У компонента недостаточно прав для доступа к сертификатам». Чаще всего возникает в двух ситуациях:
- При попытке авторизоваться в ЛК, например, на портале контролирующего органа, куда нужно отправить отчет (при нажатии на пиктограмму «Вход по сертификату»).
- При проверке КЭП (при нажатии кнопки «Проверить» в разделе «Помощь»).
Если система уведомила пользователя, что у него недостаточно прав для выполнения операции в КриптоПро, проблема может иметь следующие причины:
- не установлен КриптоПро ЭЦП Browser plug-in 2.0 (или стоит его старая сборка);
- сайт, куда пытается войти клиент, не добавлен в каталог доверенных (надежных) ресурсов.
Browser plug-in — обязательный компонент для применения ЭП на веб-страницах. Он расширяет возможности криптопровайдера, позволяет формировать и проверять электронную подпись на интернет-ресурсах. Без этой программы, КриптоПро не сможет связаться с веб-страницей и реализовать на ней функции КЭП. Пользователи ничего не платят за этот модуль, он размещен в свободном доступе на сайте и совместим с любыми операционными системами. Как установить:
- Сохранить дистрибутив cadesplugin.exe.
- Запустить инсталляцию, кликнув по значку установщика.
- Разрешить программе внесение изменений клавишей «Да».
Появится уведомление об успешном результате. Нажмите ОК и перезагрузите браузер, чтобы коррективы вступили в силу.
Для работы с сертификатом ЭП рекомендуется использовать браузер Microsoft Internet Explorer (MIE) — для него не требуются дополнительные настройки. На завершающем этапе необходимо добавить сайт в список доверенных:
- Через меню «Пуск» (CTRL+ESC) найти продукт КриптоПро CSP.
- Зайти в настройки плагина ЭЦП Browser.
- В разделе «Список доверенных узлов» ввести адреса всех ресурсов, принимающих ваш сертификат.
Если после перезагрузки ПК проблема не решена, рекомендуется удалить плагин и выполнить повторную инсталляцию.
Подберем подходящий вид электронной подписи для вашего бизнеса за 5 минут!
Оставьте заявку и получите консультацию.
Ошибка исполнения функции при подписании ЭЦП
Ошибка свидетельствует об отсутствии лицензии на продукт КриптоПро CSP. Зачастую она возникает при попытке подписать документ на торговых площадках или в информационных системах (ЕГАИС, ЖКХ, Росреестр, Госуслуги и др.).
Лицензия на криптопровайдер может быть привязана к АРМ или встроена в сертификат ЭП. В первом случае необходимо убедиться, что лицензия введена на рабочем ПК и актуальна. Срок действия можно уточнить на вкладке «Общее» в меню запущенного криптопровайдера. Если он истек, необходимо обратиться к разработчику или официальному дистрибьютору для продления или покупки новой лицензии. Во втором случае ошибка исполнения функции при подписании ЭЦП возникает при отсутствии установленного на ПК сертификата.
Ошибка при проверке цепочки сертификатов в КриптоПро
Юридически значимую документацию можно заверить электронной подписью только в том случае, если СКЗИ подтвердит надежность (доверенность) сертификата. Для этого программа проверяет цепочку сертификации (ЦС), состоящую из таких элементов:
- корневой сертификат от Минкомсвязи (начальное звено цепи), выданный УЦ;
- промежуточный сертификат УЦ (ПС);
- СКПЭП.
Правильно построенная ЦС подтверждает, что СКПЭП (конечное звено) имеет доверенный путь (от Минкомсвязи к УЦ, от УЦ к пользователю). Ошибка при проверке цепочки сертификатов в КриптоПро свидетельствует о том, что минимум один элемент в этой системе искажен. ЭП при этом считается недействительной и не принимается для подписания файлов.
Причина | Решение |
Один из сертификатов поврежден или некорректно установлен | Переустановить сертификат |
Неправильно установлено СКЗИ (или стоит устаревшая версия) | Удалить и заново установить программу |
Устаревшая версия веб-браузера | Обновить браузер |
На ПК не актуализированы дата и время | Указать в настройках компьютера правильные значения |
На первой причине остановимся подробнее. Чтобы проверить состояние ЦС, откройте папку криптопровайдера, выберите раздел «Сертификаты» → «Личное». Если цепочка нарушена, во вкладке «Общее» будет сообщение о том, что СКПЭП не удалось проверить на надежность.
Устранение сбоя следует начинать с верхнего звена (КС). Файл предоставляется клиенту в удостоверяющем центре вместе с остальными средствами: ключи, СКПЭП, промежуточный сертификат и физический носитель. Кроме того, его можно скачать бесплатно на сайте Казначейства (КС для всех одинаковый). Как загрузить КС:
- Открыть документ от Минкомсвязи на компьютере.
- В разделе «Общее» выбрать команду установки.
- Установить галочку напротив пункта «Поместить в хранилище».
- Из списка выбрать папку «Доверенные корневые центры».
- Нажать «Далее» — появится уведомление об успешном импорте.
По завершении процедуры рекомендуется перезагрузить ПК. Если сбой не устранен, переходим к промежуточному компоненту. При утере ПС его можно загрузить с официального сайта УЦ. Процесс установки такой же, как и для КС, но в качестве хранилища должно быть указано «Промежуточные центры».
После перезагрузки ПК снова зайдите в папку «Личное» и откройте СКПЭП. Если во вкладке «Путь сертификации» будет статус «Сертификат действителен» — ошибка устранена.
Электронная подпись описи содержания пакета недействительна
Одной КЭП можно сразу заверить несколько файлов. В одном письме адресат может отправлять комплект документации и отдельно к нему опись, где перечислены все файлы. Перечень документов тоже нужно визировать ЭП.
Если при попытке заверить ведомость пользователь увидит сообщение о недействительности сертификата, значит подписать основной комплект тоже не удастся. Эта ошибка распространяется на все типы файлов, а не на какой-то конкретный документ.
Причина сбоя — нарушение доверенной цепочки, о которой было сказано ранее. В первую очередь следует проверить наличие и корректность КС и ПС. Если они установлены, удалите эти файлы и загрузите снова.
Проблемы с браузером
Для заверки электронных файлов в интернете разработчик СКЗИ рекомендует использовать встроенный веб-обозреватель MIE. Но даже с ним бывают сбои. Если это произошло, зайдите в браузер под ролью администратора:
- Кликните по значку браузера на рабочем столе.
- В контекстном меню выберите соответствующую роль.
Чтобы всякий раз не предпринимать лишние действия, в настройках можно задать автоматический доступ под нужными правами. Неактуальную версию браузера необходимо обновить до последнего релиза. Также следует отключить антивирусные программы, так как многие из них блокируют работу СКЗИ, воспринимая как вредоносное ПО.
Не работает служба инициализации
Если работа сервиса инициализации Crypto Pro приостановлена, СКПЭП тоже не будет работать. Запустите командную строку клавишами Win+R:
- Введите команду services.msc.
- В разделе «Службы» выберите «Службу инициализации» и проверьте в свойствах ее активность.
Если сервис отключен, запустите его и нажмите ОК. После перезапуска ПК электронная подпись должна снова работать корректно.
Сертификаты не отвечают критериям КриптоПро
Ошибка всплывает при попытке авторизоваться в информационной госсистеме (например, «Электронный Бюджет» и др.). Пользователь видит сообщение следующего содержания:
Первый способ устранения сбоя — «снести» СКЗИ и поставить заново, как описано выше. Если это вариант не сработал, значит проблема кроется в неправильном формировании ЦС. Рассмотрим на примере. Отправитель зашел в СКПЭП и в подразделе «Общее» увидел статус «Недостаточно информации для проверки этого сертификата». В первую очередь рекомендуется проверить наличие корневого сертификата в цепочке и при его отсутствии выполнить установку (алгоритм описан ранее). Если этот метод не помог, на форуме разработчика приводится еще один способ: от имени администратора вызвать «Пуск» → «Выполнить» → «regedit». Далее необходимо удалить ветки:
Не все бывают в наличии, поэтому удаляйте те, что есть. Процедура не вредит системе и сохраненным файлам, но помогает не в каждом случае (обычно ошибку удается устранить при установке корневого сертификата).
«1С-ЭДО» не видит КриптоПро CSP
«1С-ЭДО» — программа для обмена электронными документами, интегрированная в учетную базу «1С». Сервис позволяет удаленно взаимодействовать с контрагентами и отправлять отчетность в надзорные органы (ФНС, ПФР, ФСС, Росстат и др.). Чтобы документы приобрели юридическую силу, их необходимо заверить квалифицированной ЭП. Если сервис «1С-ЭДО» «не видит» ключ в КриптоПро CSP, рекомендованы следующие действия:
- проверить, установлена ли на компьютере актуальная версия криптопровайдера;
- при наличии СКЗИ уточнить, соответствует ли оно той программе, которая была указана в настройках обмена с «1С».
Как проверить настройки криптопровайдера:
- Запустить сервис «1С-ЭДО».
- Перейти в раздел «Отчеты» → «Регламентированные отчеты».
- Нажать кнопку «Настройки».
- В подразделе «Документооборот с контролирующими органами» нажать кнопку «Здесь».
Если в поле «Криптопровайдер» указана не та программа, которая установлена на ПК (например, VipNet), поменяйте ее в настройках и сохраните клавишей ОК. Для правильной работы сервиса ЭДО рекомендуется использовать на одном АРМ только один из сертифицированных провайдеров.
Оформим электронную подпись для вашего бизнеса. Установим и настроим в день подачи заявки!
Оставьте заявку и получите консультацию в течение 5 минут.
Оцените, насколько полезна была информация в статье?
Наш каталог продукции
У нас Вы найдете широкий ассортимент товаров в сегментах
кассового, торгового, весового, банковского и офисного оборудования.
Посмотреть весь каталог
Перейти к содержанию
На чтение 1 мин Просмотров 7к. Опубликовано 07.10.2022
Для работы Пенсионного Фонда России требуется специальный плагин, который система предложит вам установить во время входа — Crypto + DE
Если быть точнее, вероятно вы даже сможете войти, а вот подписать документ с разрешением на использование — может быть проблемно, т.к. будет возникать
Лучшей Вашей благодарностью будет комментарий под этой записью, спасибо
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов.
Содержание
- Нет списка сертификатов в окне выбора сертификатов.
- Настройка CryptoDE для ЕГИССО
- Где скачать Crypto+DE
- Ошибка
- Настройка CryptoDE для ЕГИССО
- Крипто де не работает кнопка выбрать сертификат
Нет списка сертификатов в окне выбора сертификатов.
- Сообщений: 5
- Спасибо получено: 0
Вложения:
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Gvinpin
- —>
- Не в сети
- Сообщений: 1863
- Репутация: 19
- Спасибо получено: 229
MRU153 пишет: Добрый день. Проблема на скрине. Не понимаю как решить, есть у кого то мысли? Так же и при входе на портал lk2012.budget.gov.ru/udu-webcenter ,
lk2012.budget.gov.ru/udu-webcenter
Проверьте установку корневых сертификатов по ГОСТ-2012 и сертификатов пользователей. Сертификаты пользователей должны быть установлены через КриптоПро, при просмотре сертификатов в разделе «Путь сертификации» не должно стоять крестов».
В разделе «Сертификаты» Континент TLS проверьте действительность серверного и пользовательских сертификатов.
Если на АРМ будет использоваться более одного сертификата, то не нужно выбирать сертификат по умолчанию в Континент TLS.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- MRU153
- Автор темы —>
- Не в сети
- Сообщений: 5
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Gvinpin
- —>
- Не в сети
- Сообщений: 1863
- Репутация: 19
- Спасибо получено: 229
MRU153 пишет: Если поможет то вчера пытался настроить вход по http а не по https, так как в IE не отображались формуляры. И вот после этого стало так.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Источник
Настройка CryptoDE для ЕГИССО
Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».
Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.
Где скачать Crypto+DE
Скачать актуальную версию программы можно:
- С официального сайта ПФР ( ссылка )
- Яндекс Диск ( ссылка )
Ошибка
Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.
Настройка CryptoDE для ЕГИССО
Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.
- Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
- Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
- Нас интересует вкладка «Криптосервер 3».
- «Какие сертификаты проверять» выставляем значение «Только конечный сертификат»
- «Режим проверки» выставляем значение «С помощью списка отзыва сертификатов с подключением к сети»
- «Режим проверки квалифицированной ЭП» ставим «Не проверять»
На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!
Источник
Крипто де не работает кнопка выбрать сертификат
Шаг 1
Перейдите по ссылке:
Согласитесь со всеми всплывающими окнами, если таковые будут.
Вы должны увидеть страницу такого вида:
Если Вы видите такое окно, то переходите к шагу 2, если нет, то читайте дальше.
Если Вы видите такое окно, значит не установлен или не доступен КриптоПро CSP, см. пункт как проверить установку или установить КриптоПро CSP.
Если Вы видите такое окно, значит CAdESBrowserPlug-in не установлен или не доступен, см. пункт как проверить установлен ли плагин, Как убедиться, что правильно настроен браузер.
Шаг 2
В поле Сертификат выделите нужный сертификат и нажмите Подписать.
Примечание: В поле Сертификат отображаются все сертификаты, установленные в хранилище Личное текущего пользователя, и сертификаты, записанные в ключевые контейнеры. Если в списке нет сертификатов или отсутствует нужный, значит необходимо вставить ключевой носитель с закрытым ключом и установить сертификат в хранилище Личное текущего пользователя.
Если после нажатия кнопки Подписать Вы видите такой результат, значит Вы успешно выполнили подпись и КриптоПро ЭЦП Browser plug-in работает в штатном режиме.
Если Вы получили ошибку, то смотрите раздел Информация об ошибках.
Как проверить установлен ли КриптоПро CSP
Проверить установлен ли КриптоПро CSP можно зайдя в панель управления Программы и компоненты (Установка и удаление программ). Там же можно увидеть версию установленного продукта:
Если КриптоПро CSP не был установлен, то пробную версию (на 3 месяца) можно скачать у нас на сайте (для загрузки файла необходима действующая учетная запись на нашем портале): https://www.cryptopro.ru/sites/default/files/private/csp/40/9944/CSPSetup.exe
После загрузки .exe файла запустите его и выберите пункт «Установить (рекомендуется)». Установка произойдет в автоматическом режиме.
Как проверить установлен ли КриптоПро ЭЦП Browser plug-in
Проверить установлен ли КриптоПро ЭЦП Browser plug-in можно зайдя в панель управления Программы и компоненты (Установка и удаление программ). Там же можно увидеть версию установленного продукта.
Если КриптоПро ЭЦП Browser plug-in не установлен, то дистрибутив можно скачать у нас на сайте: https://www.cryptopro.ru/products/cades/plugin/get_2_0
Инструкция по установке плагина доступна здесь.
Как убедиться, что включено расширение в браузере
Если Вы используете Google Chrome, то Вы должны включить расширение. Для этого в правом верхнем углу браузера нажмите на значок Настройка и управление Google Chrome (три точки)- Дополнительные инструменты –Расширения.
Убедитесь, что расширение CryptoPro Extension for CAdES Browser Plug-in присутствует и включено. При отсутствии расширения, переустановите КриптоПро ЭЦП Browser plug-in или скачайте расширение через Интернет магазин Chrome: https://chrome.google.com/webstore/detail/cryptopro-extension-for-c/iifchhfnnmpdbibifmljnfjhpififfog?hl=ru
Если Вы используете Mozilla Firefox версии 52 и выше, то требуется дополнительно установить расширение для браузера.
Для начала перейдите по ссылке : скачать расширение.
Разрешите его установку:
Перейдите Инструменты-Дополнения-Расширения и убедитесь, что расширение включено:
Если Вы используете Internet Explorer, то при переходе на страницу, в которую встроен CAdESBrowserPlug-in, Вы увидите внизу страницы следующее сообщение:
В окне Подтверждение доступа нажмите Да:
Если Вы используете Opera, то необходимо установить расширение из каталога дополнений Opera:
И во всплывающем окне нажать – Установить расширение:
В следующем окне нажмите – Установить:
Либо перейдите Меню-Расширения-Расширения:
Нажмите Добавить расширения и в строке поиска введите CryptoPro, выберите наш плагин и нажмите Добавить в Opera. После этого перезапустите браузер.
Проверить включен ли плагин можно в Меню-Расширения-Расширения:
Если Вы используете Яндекс Браузер, то необходимо перейти Опции-Настройки-Дополнения и убедиться, что КриптоПро ЭЦП есть и включен. Если расширение отсутствует, то Вы можете скачать его Каталога расширений для Яндекс Браузера, используя поиск по слову КриптоПро.
Информация об ошибках
1) Появляется окно КриптоПро CSP Вставьте ключевой носитель
Появление данного окна значит, что у Вас не вставлен носитель с закрытым ключом для выбранного Вами сертификата.
Необходимо вставить ключевой носитель. Убедится что ОС его «видит» и попробовать заново.
Если предыдущие действия не помогли, необходимо переустановить сертификат в хранилище Личное текущего пользователя с привязкой к закрытому ключу. См статью.
2) Не удалось создать подпись из-за ошибки: Не удается построить цепочку сертификатов для доверенного корневого центра. (0x800B010A)
Эта ошибка возникает, когда невозможно проверить статус сертификата (нет привязки к закрытому ключу, нет доступа к спискам отзыва или OCSP службе), либо не установлены корневые сертификаты.
Выполните привязку сертификата к закрытому ключу:
Проверьте строится ли цепочка доверия: откройте файл сертификата (можно его открыть через Пуск-Все программы-КриптоПро- Сертификаты-Текущий Пользователь-Личное-Сертификаты), перейдите на вкладку Путь сертификации. Если на этой вкладке присутствуют красные кресты, или вообще нет ничего кроме текущего сертификата (кроме тех случаев если сертификат является самоподписанным)
Скриншоты с примерами сертификатов, у которых не строится цепочка доверия.
Чтобы цепочка доверия построилась необходимо скачать и установить корневые и промежуточные сертификаты. Скачать их можно с сайта УЦ, издавшего сертификат.
Если вы используете квалифицированный сертификат, то попробуйте установить в доверенные корневые эти 2 сертификата (это сертификаты Головного УЦ Минкомсвязи и от них, при наличии интернета должна построится цепочка доверия у любого квалифицированного сертификата), если не поможет, то обращайтесь в УЦ, выдавший Вам сертификат.
Чтобы установить скачанный сертификат в доверенные корневые центры сертификации, нажмите по нему правой кнопкой-Выберите пункт –Установить сертификат- Текущий пользователь- Поместить все сертификаты в следующие хранилище-Обзор-Доверенные корневые центры сертификации-Ок- Далее- Готово- когда появится предупреждение системы безопасности об установке сертификата- нажмите Да-Ок. если Вы устанавливаете сертификат промежуточного центра сертификации то выбирайте хранилище- промежуточные центры сертификации.
Важно: Если вы создаете CAdES-Tили CAdES-XLongType 1, Ошибка может возникать если нет доверия к сертификату оператора TSP службы, в этом случае необходимо установить в доверенные корневые центры сертификации корневой сертификат УЦ его издавшего.
3) Если подпись создается, но ошибка при проверке цепочки сертификатов горит, это значит, что нет доступа к спискам отозванных сертификатов.
Списки отозванных сертификатов можно скачать на сайте УЦ, выдавшем сертификат, после получения списка его необходимо установить, процедура идентична процедуре установки промежуточного сертификата ЦС.
4) Ошибка: 0x8007064A/0x8007065B
Причина ошибки истек срок действия лицензий на КриптоПро CSP и/или КриптоПро TSP Client 2.0 и/или Криптопро OCSP Client 2.0.
Для создания CAdES-BES подписи должна быть действующая лицензия на КриптоПро CSP
Для создания XLT1 должны быть действующими лицензии на следующие программные продукты: КриптоПро CSP, КриптоПро TSP Client 2.0, КриптоПро OCSP Client 2.0
Посмотреть статус лицензий можно через: Пуск- Все программы- КРИПТО-ПРО- Управление лицензиями КриптоПро PKI.
Решение: Приобрести лицензию на нужный программный продукт и активировать её:
Пуск- Все программы- КРИПТО-ПРО- Управление лицензиями КриптоПро PKI -выбрать нужный программный продукт- открыть контекстное меню (щелкнуть правой кнопкой мыши) -выбрать пункт Все задачи выбрать пункт Ввести серийный номер. -ввести серийный номер лицензии -нажать кнопку OK
5) Набор ключей не существует (0x80090016)
Причина ошибки: У браузера не хватает прав для выполнения операции- добавьте наш сайт в доверенные
6) Отказано в доступе (0x80090010)
Причина ошибки: Истек срок действия закрытого ключа. Проверьте срок действия Зайдите в Пуск->Все программы(все приложения)->КриптоПро->Крипто-Про CSP. Перейдите на вкладку Сервис. Выберите пункт Протестировать, выберите контейнер с закрытым ключом и в результатах тестирования Вы сможете увидеть срок его действия. Рекомендуется получить новый ключ.
7) Ошибка: Invalid algorithm specified. (0x80090008)
Данная ошибка возникает, если Вы используете сертификат, алгоритм которого не поддерживается Вашим криптопровайдером.
Пример: У вас установлен КриптоПро CSP 3.9 а сертификат Выпущен по ГОСТ 2012.
Или если используется алгоритм хеширования, не соответствующий сертификату.
Так же проверьте актуальность версии КриптоПро CSP.
Источник
Содержание
- Настройка CryptoDE для ЕГИССО
- Где скачать Crypto+DE
- Ошибка
- Настройка CryptoDE для ЕГИССО
- Частые проблемы при работе с электронной подписью
- Проблема 1. Неверные имя пользователя или пароль.
- Проблема 2. При нажатии на кнопку «Запросить сертификат» возникают ошибки или не открывается программа КриптоПро.
- Проблема 3. Не удается выполнить запрос на сертификат.
- Проблема 4. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:
- Проблема 5. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.
- Проблема 6. Если Вы выпускали электронную подпись до 01.07.2022 и не удается войти в личный кабинет на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР». Например, возникает следующая ошибка:
- Проблема 7. При выборе сертификата, который был выпущен до 01.07.2022, в личном кабинете на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР» возникает ошибка:
- Проблема 8. При аннулировании или приостановке действия сертификата ЭП, который был выпущен до 01.07.2022, окно отзыва или приостановления не закрывается автоматически или страница сайта не обновляется.
- Смешанный (клиент/сервер) алгоритм формирования цифровой подписи xmlDsig на основе CryptoPro Browser Plugin
Настройка CryptoDE для ЕГИССО
Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».
Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.
Где скачать Crypto+DE
Скачать актуальную версию программы можно:
Ошибка
Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.
Настройка CryptoDE для ЕГИССО
Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.
На этом настройка CryptoDE завершена. Все документы успешно подписываются и загружаются на портал в кабинете поставщика информации. Оставлю на всякий случай скриншот настроек, которые действуют у меня в данный момент. Если у Вас не заработало или что-то не получилось, можете смело написать в комментариях. Постараюсь всем помочь!
Источник
Частые проблемы при работе с электронной подписью
Рассмотрим проблемы, которые возникают при создании запроса на сертификат ключа проверки электронной подписи (ЭП), при установке или использовании сертификата.
Ознакомьтесь с видеоинструкцией
«Как выпустить ЭП через модуль «Полигон Про: Удостоверяющий центр»
или программу «Подпись Про»
Проблема 1. Неверные имя пользователя или пароль.
Решение: проверьте корректность логина и пароля указанного в настройках программы. Должен быть указан логин и пароль, который Вы используете для авторизации на сайте https://pbprog.ru.
Проблема 2. При нажатии на кнопку «Запросить сертификат» возникают ошибки или не открывается программа КриптоПро.
Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.
Если на компьютере установлены программы—блокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).
В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:
Выберите пункт «Включение и отключение брандмауэра Windows»:
В открывшемся окне отключите брандмауэр, нажмите «ОК»:
Проблема 3. Не удается выполнить запрос на сертификат.
Решение: проверьте версию операционной системы (ОС).
Например, в программе «Подпись Про» нажмите кнопку . В окне «О Программе» нажмите кнопку «О системе…»:
Проверьте версию операционной системы:
К сожалению на версии операционной системы отличной от Windows 10 невозможно выполнить запрос на сертификат из программы.
Для продолжения операции выпуска сертификата обратитесь в отдел технической поддержки по номеру 8 (800) 100-58-90.
Также Вы можете обновить свою операционную систему до Windows 10 или воспользоваться другим компьютером с уже установленной версией ОС.
Проблема 4. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:
Решение: добавить биологический датчик случайных чисел.
Для добавления биологического датчика ДСЧ запустите программу КриптоПро CSP от имени администратора. Перейдите на вкладку «Оборудование» и нажмите кнопку «Настроить ДСЧ»:
В открывшемся окне нажмите «Далее». В окне «Выбор ДСЧ» выберите «Биологический ДСЧ» и нажмите кнопку «Далее»:
Задайте имя добавляемого ДСЧ или оставьте по умолчанию, нажмите «Далее» и «Готово».
В окне «Управление датчиками случайных чисел» появится «Биологический ДСЧ».
Проблема 5. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.
Запустите программу КриптоПро CSP и на вкладке «Общие» проверьте срок действия.
Если в поле «Срок действия» указано «Истекла», то необходимо приобрести лицензию на программу либо ввести лицензионный ключ при наличии такового.
1. Через модуль «Удостоверяющий центр» или через программу «Подпись Про». Для этого на ленте на вкладке «Главная» нажмите кнопку
:
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)
— Нажмите правой кнопкой мыши по одному из сертификатов и выберите «Установить сертификат»:
В появившемся окне нажмите «Далее»:
Снова нажмите «Далее»:
Нажмите на кнопку «Готово»:
Выполните аналогичные действия для других скачанных сертификатов.
— Откройте меню «Пуск» и в папке «КРИПТО-ПРО» запустите «Сертификаты».
— В открывшемся окне раскройте ветку Сертификаты → текущий пользователь → Промежуточные центры сертификации → Реестр → Сертификаты.
Найдите сертификаты «Головной удостоверяющий сертификат» и «Минкомсвязь России», зажав левую кнопку мыши, перетащите их в ветку «Доверенные корневые центры сертификации».
На предупреждение о безопасности ответьте «Да».
Для этого скачайте нужную версию и установите ее (подробнее см. инструкцию по установке):
Проверьте актуальность версии программы одним из способов:
— В стартовом окне Полигон Про нажмите в правом верхнем углу кнопку – «Настройка и управление Полигон Про» и в выпадающем списке выберите .
— В любом программном модуле в левом верхнем углу нажмите кнопку и в открывшемся меню выберите .
— В любом программном модуле на «Ленте» перейдите на вкладку «Помощь» и нажмите на кнопку .
В окне «О программе» сравните версию программы с версией, указанной в карточке товара.
Проблема 6. Если Вы выпускали электронную подпись до 01.07.2022 и не удается войти в личный кабинет на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР». Например, возникает следующая ошибка:
Для этого в окне «Свойства браузера» на вкладке «Безопасность» добавьте в список «Надежные сайты» адрес: https://ra.pbprog.ru.
Для зоны «Надежные сайты» разрешите запуск ActiveX приложений.
Для этого в окне «Параметры безопасности – зона надежных сайтов» во всех пунктах установите значение «Включить».
Для этого в окне «Свойства браузера» на вкладке «Конфиденциальность» уберите галочку с поля «Включить блокирование всплывающих окон».
Для этого в окне «Свойства браузера» на вкладке «Дополнительно» установите галочки в полях: «SSL 2.0», «SSL 3.0», «TLS 1.0», «Использовать TLS 1.1» и «Использовать TLS 1.2».
Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.
Если на компьютере установлены программы—блокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).
В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:
Выберите пункт «Включение и отключение брандмауэра Windows»:
В открывшемся окне отключите брандмауэр, нажмите «ОК»:
Проблема 7. При выборе сертификата, который был выпущен до 01.07.2022, в личном кабинете на сайте Удостоверяющего центра ООО «ПРОГРАММНЫЙ ЦЕНТР» возникает ошибка:
Решение: обновите или скачайте и установите «КриптоПро CSP» версии 4.0.9969. Скачать программу можно с официального сайта.
Проблема 8. При аннулировании или приостановке действия сертификата ЭП, который был выпущен до 01.07.2022, окно отзыва или приостановления не закрывается автоматически или страница сайта не обновляется.
Решение: скачайте и установите плагин «КриптоПро ЭЦП browser plug-in». Скачать плагин можно с официального сайта или с сайта Программного центра (>» href=»https://pbprog.ru/upload/download/files/cadesplugin.exe»>скачать).
Если после выполнения данных рекомендаций проблема не устранилась, запишитесь на сеанс удаленного доступа.
Когда специалист будет подключаться к Вам, разрешите доступ к вашему компьютеру. Нажмите кнопку «Разрешить».
Для зоны «Надежные сайты» разрешите запуск ActiveX приложений.
Отключите блокирование всплывающих окон.
Если у Вас установлена антивирусная программа «Avast» или «Антивирус Касперского», то данные программы достаточно временно отключить.
Если на компьютере установлены программы—блокираторы, временно отключите их или в настройках программ отключите сканирование сетевого трафика (HTTPS-трафика).
В меню «Пуск» откройте «Панель управления», выберите раздел «Система и безопасность», откройте «Брандмауэр Windows»:
Выберите пункт «Включение и отключение брандмауэра Windows»:
В открывшемся окне отключите брандмауэр, нажмите «ОК»:
Проблема 2. Не удается выполнить запрос на сертификат.
Решение: проверьте версию операционной системы (ОС).
Например, в программе «Полигон Про» нажмите на кнопку . В окне «О Программе» нажмите кнопку «О системе…»:
Проверьте версию операционной системы:
Если на компьютере установлена Windows XP, обновите версию ОС или воспользуйтесь другим компьютером с операционной системой Windows 7 или выше.
Внимание! Windows XP снята компанией Microsoft с поддержки в 2014 г. (информация с официального сайта Мicrosoft), т.е. для нее не выходят обновления безопасности, что делает уязвимой как саму ОС, так и Ваши данные.
Проблема 3. При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Вместо окна биологического датчика случайных чисел открылось окно:
Решение: добавить биологический датчик случайных чисел.
Для добавления биологического датчика ДСЧ запустите программу КриптоПро CSP от имени администратора. Перейдите на вкладку «Оборудование» и нажмите кнопку «Настроить ДСЧ»:
В открывшемся окне нажмите «Далее». В окне «Выбор ДСЧ» выберите «Биологический ДСЧ» и нажмите кнопку «Далее»:
Задайте имя добавляемого ДСЧ или оставьте по умолчанию, нажмите «Далее» и «Готово».
В окне «Управление датчиками случайных чисел» появится «Биологический ДСЧ».
Проблема 4. Ошибки при работе с полученным сертификатом: при подписании или при проверке подлинности сертификата.
Запустите программу КриптоПро CSP и на вкладке «Общие» проверьте срок действия.
Если в поле «Срок действия» указано «Истекла», то необходимо приобрести лицензию на программу либо ввести лицензионный ключ при наличии такового.
1. Через модуль «Удостоверяющий центр» или через программу «Подпись Про». Для этого на ленте на вкладке «Главная» нажмите кнопку :
2. Вручную. Для этого:
— Нажмите правой кнопкой мыши по скачанному файлу и выберите «Установить сертификат»:
В появившемся окне нажмите «Далее»:
Снова нажмите «Далее»:
Нажмите на кнопку «Готово»:
— Откройте меню «Пуск» и в папке «КРИПТО-ПРО» запустите «Сертификаты».
— В открывшемся окне раскройте ветку Сертификаты – текущий пользователь – Промежуточные центры сертификации – Реестр – Сертификаты, найдите сертификат «Головной удостоверяющий сертификат» и, зажав левую кнопку мыши, перетащите его в ветку «Доверенные корневые центры сертификации».
На предупреждение о безопасности ответьте «Да».
Для этого скачайте требуемую версию и установите ее (подробнее см. инструкцию по установке).
Проверьте актуальность версии программы одним из способов:
— В стартовом окне Полигон Про нажмите в правом верхнем углу кнопку – «Настройка и управление Полигон Про» и в выпадающем списке выберите .
— В любом программном модуле в левом верхнем углу нажмите на кнопку и в открывшемся меню выберите .
— В любом программном модуле на «Ленте» перейдите на вкладку «Помощь» и нажмите на кнопку .
В окне «О программе» сравните версию программы с версией, указанной в карточке товара.
Если после выполнения данных рекомендаций проблема не устранилась, запишитесь на сеанс удаленного доступа.
Авторизуйтесь в личном кабинете на сайте pbprog.ru;
Слева перейдите в пункт меню «Предварительная запись» и выберите пункт «Техподдержка: Удаленный доступ»;
Скачайте и установите программу TeamViewer 9 версии;
В таблице сеансов удаленного доступа выберите любое удобное для Вас время для подключения специалиста (время московское) и запишитесь на сеанс удаленного доступа, указав необходимые для записи данные (обязательно опишите проблему);
За пять минут до начала сеанса запустите программу TeamViewer, позвоните в отдел технической поддержки по бесплатному номеру 8-800-100-58-90 и сообщите 9 цифр ID, необходимых для подключения.
Примечание: как использовать программу 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.
Без их советов я бы плюхался с этим в разы дольше.
Источник
Содержание
- Настройка CryptoDE для ЕГИССО
- Где скачать Crypto+DE
- Ошибка
- Настройка CryptoDE для ЕГИССО
- PKCS#11 для самых маленьких
- Про APDU
- Репозиторий с примерами
- Цикл работы с токеном
- Подготовительный этап
- Основной этап
- Завершающий этап
- Классификация функций PKCS#11
- Стандартные функции и функции расширения
- Разделение по предназначению
- Атомарные и составные операции
- Работа со слотами
- Получение списка слотов
- Мониторинг событий слотов и получение информации о слоте
- Объекты
- Создание объектов — на примере генерации ключевых пар
- Поиск объектов и создание сырой подписи
- Работа с функциями расширения на примере создания запроса на сертификат
- Импорт сертификата на токен. Создание объекта вручную
- Формирование CMS-подписи
- Получение и установка атрибутов публичных объектов
- Про механизмы
- Работа с механизмами, на примере зашифрования сообщения
- Проверка поддержки механизмов
- Утилита pkcs11-tool
- Дополнительный материал
- Выводы
Настройка CryptoDE для ЕГИССО
Произошла небольшая неприятность на работе. Ноутбук, на котором настроено рабочее место для ЕГИССО срочно понадобилось отдать на время другому пользователю. «Ничего страшного» — подумал я, — «настрою портал на другом компьютере, благо как настраивать давно уже известно».
Но после того как все необходимые компоненты были установлены, средство для работы с электронной подписью CryptoDE начало капризничать и никак не хотело подписывать документы. Постоянно выскакивающее окно сообщало: «Ни один из сертификатов в хранилище не прошел проверку на квалифицированность в соответствии с настройками». Чтобы избавиться от этой ошибки, понадобилось немного поковыряться в настройках программы. В данной статье речь пойдет о том, как провести настройку CryptoDE для ЕГИССО.
Где скачать Crypto+DE
Скачать актуальную версию программы можно:
- С официального сайта ПФР ( ссылка )
- Яндекс Диск ( ссылка )
Ошибка
Если правой кнопкой мыши нажать на значок Crypto+DE, а затем «Выбрать сертификат по умолчанию», то программа успешно предложит выбрать сертификат из установленных сертификатов. Но это действие ничего не решит, т.к. при подписании документа выскочило окно, которое оповещает о том, что сертификат по умолчанию не соответствует требованиям текущего режима КЭП.
Настройка CryptoDE для ЕГИССО
Итак, для решения данной проблемы необходимо немного поковыряться в настройках программы.
- Нажимаем правой кнопкой мыши на значок Crypto+DE в трее и переходим в раздел «Настройки»
- Во вкладке «Настройки клиента» все значения оставляем по умолчанию.
- Нас интересует вкладка «Криптосервер 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;
Если вы хотите узнать про какую-то реализацию подробнее, то напишите в комментариях и мы постараемся в ближайшее время выпустить новую статью с её разбором.
Источник