Криптопро на виртуальной машине
Работа с сертификатами КриптоПро
4.1.3 Работа с сертификатами КриптоПро
Для удобства использования утилит КриптоПро создадим на них символьные ссылки, для этого выполните:
Просмотр версии КриптоПро:
Для установки лицензии выполните (с правами root):
При использовании токенов сервис pcscd должен быть запущен. Проверка статуса pcscd:
если он выключен, то включите его:
Вывод сообщений журнала службы pcscd:
Узнать модель подключенного токена:
Работа с криптоконтейнерами
1. Проверить наличие доступных контейнеров:
Имена контейнеров используются для установки личных сертификатов.
2. Имена контейнеров могут содержать символы на кириллице, поэтому чтобы корректно отобразить контейнеры используйте следующую команду:
Для дальнейшего использования имен контейнеров содержащих кодировку cp1251, выведем список контейнеров с уникальными именами:
3. Просмотр подробной информации о контейнере:
4. Перечисление контейнеров пользователя:
5. Перечисление контейнеров компьютера:
6. Открыть(проверить) контейнер пользователя:
7. Открыть(проверить) контейнер компьютера:
Установка личных сертификатов
1. Установка сертификата без привязки к ключам:
2. Установка личного сертификата cert_bob.cer, сертификат при этом попадает в пользовательское хранилище uMy. Приватный ключ находится на флешке.
в команде указывается сертификат cert_bob.cer, который ассоциируется с приватным контейнером \\.\FLASH\bob’
3. Установка сертификата с токена (в конце команды указывается контейнер)
Установка корневых сертификатов
При установке корневых сертификатов достаточно указать хранилище uRoot. При указании mRoot (при наличии прав администратора) корневой сертификат будет доступен всем пользователям системы.
1. Установка в хранилище КриптоПро:
2. Установка в хранилище ПК:
3. Установка списка отозванных сертификатов crl:
1. Просмотр установленных сертификатов:
2. Просмотр установленных сертификатов в локальном хранилище uMy:
3. Просмотр сертификатов в хранилище ПК (обычно сюда устанавливаются корневых сертификаты):
4. Просмотр сертификатов в контейнере:
5. Просмотр промежуточных сертификатов:
1. Удалить сертификат из личного хранилища сертификатов
Просмотрите установленные сертификаты:
Изучите список всех установленных сертификатов (в общем списке отображаются абсолютно все сертификаты).
Для удаления следует выполнить команду в Терминале:
Если установлено более одного сертификата, то будет предложено указать номер удаляемого сертификата.
2. Удалить сертификаты, установленные в хранилище КриптоПро:
Если установлено более одного сертификата, то будет предложено указать номер удаляемого сертификата.
3. Удалить все сертификаты, установленные в хранилище КриптоПро:
4. Удалить все сертификаты, установленные в хранилище ПК:
Перенос контейнера с flash носителя в локальное хранилище ПК
1. Активируем хранилище HDIMAGE:
2. Посмотрим, какие контейнеры доступны на флешке:
3. Посмотрим доступные контейнеры:
Как видим, появился новый контейнер \\.\HDIMAGE\bob
Теперь flash носитель можно отключить, он нам больше не понадобится.
5. Установим пользовательский сертификат с привязкой к закрытому контейнеру \\.\HDIMAGE\bob
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
РЕД СОФТ — участник
фонда «Сколково»
Отправить запрос
Отправить запрос
Заявка на расчет стоимости
Заявка на приобретение технической поддержки
Стать партнером
Заявка на производственную практику в РЕД СОФТ
Подписка на уведомления
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
Подписка оформлена
Политика в отношении обработки персональных данных Общества с ограниченной ответственностью «Ред Софт» (ООО «Ред Софт»)
1. Настоящая политика в отношении обработки персональных данных (далее – Политика) составлена в соответствии с требованиями Федерального закона от 27.07.2006 No152-ФЗ «О персональных данных» и применяется к информации, которую ООО «Ред Софт» (далее – Компания) может получить о Пользователях веб-сайта http://redos.red-soft.ru/ (далее – Сайт).
Использование Пользователем Сайта означает безоговорочное согласие с настоящей Политикой и указанными в ней условиями обработки персональных данных. В случае несогласия с данной Политикой использование Сайта должно быть немедленно прекращено.
При заполнении формы на Сайте Пользователь тем самым подтверждает:
2. Согласие Пользователя признается бессрочным и исполненным в простой письменной форме, на обработку следующих персональных данных:
Пользователь предоставляет Компании право осуществлять следующие действия с персональными данными:
3. Пользователь имеет право отозвать свое согласие посредством составления соответствующего письменного документа, который может быть направлен Пользователем в адрес Компании по электронной почте/по почте заказным письмом с уведомлением о вручении либо вручен лично под расписку уполномоченному представителю Компании. В случае получения письменного заявления об отзыве согласия на обработку персональных данных Компания обязана прекратить их обработку.
4. Компания обязуется приложить все усилия для обеспечения конфиденциальности данных, размещенных Пользователем посредством Сайта, на весь период использования Сайта Пользователем.
5. Персональные данные Пользователя никогда, ни при каких условиях не будут переданы третьим лицам, за исключением случаев, связанных с исполнением действующего законодательства.
6. Пользователь осознает, что в результате сбоя, технических неисправностей, действий третьих лиц, в том числе (но не ограничиваясь) вирусной или хакерской атаки, данные Пользователя, размещенные на Сайте, могут стать доступны третьим лицам. Пользователь обязуется не предъявлять требований к Компании о возмещении убытков (ущерба), возникших в связи с этим.
7. Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, отправив письмо на адрес электронной почты: redos@red-soft.ru.
8. Компания имеет право вносить изменения в настоящую Политику. При внесении изменений в актуальной редакции указывается дата последнего обновления. Новая редакция Политики вступает в силу с момента ее размещения, если иное не предусмотрено новой редакцией.
Квалифицированная электронная подпись под macOS
FYI. Статья написана в далеком 2019 году, но актуальна и на ноябрь 2021.
Каждый предприниматель и руководитель ООО пользуется электронной подписью. Помимо КЭП для ЕГАИС и облачных КЭП для сдачи отчетности, выдаваемых банками и бухгалтерскими сервисами, особый интерес представляют универсальные УКЭП на защищенных токенах. Такие сертификаты позволяют только логиниться на гос.порталы и подписывать любые документы, делая их юридически значимыми.
Благодаря сертификату КЭП на USB-токене можно удаленно заключить договор с контрагентом или дистанционным сотрудником, направить документы в суд; зарегистрировать онлайн-кассу, урегулировать задолженность по налогам и подать декларацию в личном кабинете на nalog.ru; узнать о задолженностях и предстоящих проверках на Госуслугах.
Представленный ниже мануал поможет работать с КЭП под macOS – без изучения форумов КриптоПро и установки виртуальной машины с Windows.
Что нужно для работы с КЭП под macOS:
Устанавливаем и настраиваем КЭП под macOS
Смена PIN-кода контейнера
Подпись файлов в macOS
Проверить подпись на документе
Вся информация ниже получена из авторитетных источников (КриптоПро #1, #2 и #3, Рутокен, Корус-Консалтинг, УФО Минкомсвязи), а скачивать ПО предлагается с доверенных сайтов. Автор является независимым консультантом и не связан ни с одной из упомянутых компаний. Следуя данной инструкции, всю ответственность за любые действия и последствия вы принимаете на себя.
Что нужно для работы с КЭП под macOS:
Поддержка eToken и JaCarta в связке с КриптоПро под macOS под вопросом. Носитель Рутокен Lite – оптимальный выбор, стоит недорого, шустро работает и позволяет хранить до 15 ключей.
Криптопровайдеры VipNet, Signal-COM и ЛИССИ в macOS не поддерживаются. Преобразовать контейнеры никак не получится. КриптоПро – оптимальный выбор, стоимость сертификата в себестоимости от 500= руб. Можно выпустить сертификат с встроенной лицензией на КриптоПро CSP, это удобно и выгодно. Если лицензия не зашита, то необходимо купить и активировать полноценную лицензию на КриптоПро CSP.
Обычно открытый сертификат хранится в контейнере закрытого ключа, но это нужно уточнить при выпуске КЭП и попросить сделать как нужно. Если не получается, то импортировать открытый ключ в закрытый контейнер можно самостоятельно средствами КриптоПро CSP под Windows.
Устанавливаем и настраиваем КЭП под macOS
1. Устанавливаем КриптоПро CSP
Регистрируемся на сайте КриптоПро и со страницы загрузок скачиваем и устанавливаем версию КриптоПро CSP 4.0 R4 для macOS – скачать.
2. Устанавливаем драйверы Рутокен
На сайте написано что это опционально, но лучше поставить. Со страницы загрузок на сайте Рутокен скачиваем и устанавливаем Модуль поддержки Связки Ключей (KeyChain) – скачать.
Далее подключаем usb-токен, запускаем terminal и выполняем команду:
В ответе должно быть:
Aktiv Rutoken…
Card present…
[ErrorCode: 0x00000000]
3. Устанавливаем сертификаты
3.1. Удаляем все старые ГОСТовские сертификаты
Если ранее были попытки запустить КЭП под macOS, то необходимо почистить все ранее установленные сертификаты. Данные команды в terminal удалят только сертификаты КриптоПро и не затронут обычные сертификаты из Keychain в macOS.
В ответе каждой команды должно быть:
No certificate matching the criteria
3.2. Устанавливаем корневые сертификаты
Корневые сертификаты являются общими для всех КЭП, выданных любым удостоверяющим центром. Скачиваем со страницы загрузок УФО Минкомсвязи:
Устанавливаем командами в terminal:
Каждая команда должна возвращать:
3.3. Скачиваем сертификаты удостоверяющего центра
Далее нужно установить сертификаты удостоверяющего центра, в котором вы выпускали КЭП. Обычно корневые сертификаты каждого УЦ находятся на его сайте в разделе загрузок.
Альтернативно, сертификаты любого УЦ можно скачать с сайта УФО Минкомсвязи. Для этого в форме поиска нужно найти УЦ по названию, перейти на страницу с сертификатами и скачать все действующие сертификаты – то есть те, у которых в поле ‘Действует’ вторая дата еще не наступила. Скачивать по ссылке из поля ‘Отпечаток’.
На примере УЦ Корус-Консалтинг: нужно скачать 4 сертификата со страницы загрузок:
Скачанные сертификаты УЦ устанавливаем командами из terminal:
/Downloads/ идут имена скачанных файлов, для каждого УЦ они будут свои.
Каждая команда должна возвращать:
3.4. Устанавливаем сертификат с Рутокен
Команда в terminal:
Команда должна вернуть:
3.5. Конфигурируем CryptoPro для работы ссертификатами ГОСТ Р 34.10-2012
Для корректной работы на nalog.ru с сертификатами, выдаваемыми с 2019 года, инструкция на сайте CryptoPro рекомендует:
Команды в terminal:
Команды ничего не возвращают.
4. Устанавливаем специальный браузер Chromium-GOST
Для работы с гос.порталами потребуется специальная сборка браузера сhromium – Chromium-GOST скачать.
Исходный код проекта открыт, ссылка на репозиторий на GitHub приводится на сайте КриптоПро. По опыту, другие браузеры CryptoFox и Яндекс.Браузер для работы с гос.порталами под macOS не годятся.
Скачиваем, устанавливаем копированием или drag&drop в каталог Applications. После установки принудительно закрываем Chromium-Gost командой из terminal и пока не открываем (работаем из Safari):
5. Устанавливаем расширения для браузера
5.1 КриптоПро ЭЦП Browser plug-in
Со страницы загрузок на сайте КриптоПро скачиваем и устанавливаем КриптоПро ЭЦП Browser plug-in версия 2.0 для пользователей – скачать.
5.2. Плагин для Госуслуг
Со страницы загрузок на портале Госуслуг скачиваем и устанавливаем Плагин для работы с порталом государственных услуг (версия для macOS) – скачать.
5.3. Настраиваем плагин для Госуслуг
Скачиваем корректный конфигурационный файл для расширения Госуслуг для поддержки macOS и новых ЭЦП в стандарте ГОСТ2012 – скачать.
Выполняем команды в terminal:
5.4. Активируем расширения
Запускаем браузер Chromium-Gost и в адресной строке набираем:
Включаем оба установленных расширения:
5.5. Настраиваем расширение КриптоПро ЭЦП Browser plug-in
В адресной строке Chromium-Gost набираем:
На появившейся странице в список доверенных узлов по-очереди добавляем сайты:
Жмем “Сохранить”. Должна появиться зеленая плашка:
Список доверенных узлов успешно сохранен.
6. Проверяем что все работает
6.1. Заходим на тестовую страницу КриптоПро
В адресной строке Chromium-Gost набираем:
Должно выводиться “Плагин загружен”, а в списке ниже присутствовать ваш сертификат.
Выбираем сертификат из списка и жмем “Подписать”. Будет запрошен PIN-код сертификата. В итоге должно отобразиться
6.2. Заходим в Личный Кабинет на nalog.ru
По ссылкам с сайта nalog.ru зайти может не получиться, т.к. не будут пройдены проверки. Заходить нужно по прямым ссылкам:
6.3. Заходим на Госуслуги
При авторизации выбираем «Вход с помощью электронной подписи». В появившемся списке «Выбор сертификата ключа проверки электронной подписи» будут отображены все сертификаты, включая корневые и УЦ, нужно выбрать ваш с usb-токена и ввести PIN.
7. Что делать, если перестало работать
Переподключаем usb-токен и проверяем что он виден с помощью команды в terminal:
Очищаем кеш браузера за все время, для чего в адресной строке Chromium-Gost набираем:
Переустанавливаем сертификат КЭП с помощью команды в terminal:
Если команды Cryptopro не отрабатывают (csptest и csptestf превратились в corrupted) – нужно переустановить Cryptopro.
Смена PIN-кода контейнера
Пользовательский PIN-код на Рутокен по-умолчанию 12345678, и оставлять его в таком виде никак нельзя. Требования к PIN-коду Рутокен: 16 символов max., может содержать латинские буквы и цифры.
1. Выясняем название контейнера КЭП
На usb-токене и в других хранилищах может храниться несколько сертификатов, и нужно выбрать правильный. При вставленном usb-токене получаем список всех контейнеров в системе командой в terminal:
Команда должна вывести минимум 1 контейнер и вернуть
Нужный нам контейнер имеет вид
Если таких контейнеров выводится несколько – значит значит на токене записано несколько сертификатов, и вы в курсе какой именно вам нужен. Значение XXXXXXXX после слэша нужно скопировать и подставить в команду ниже.
2. Смена PIN командой из terminal
где XXXXXXXX – название контейнера, полученное на шаге 1 (обязательно в кавычках).
Появится диалог КриптоПро с запросом старого PIN-кода для доступа к сертификату, затем еще один диалог для ввода нового PIN-кода. Готово.
Подпись файлов в macOS
В macOS файлы можно подписывать в ПО КриптоАрм (стоимость лицензии 2500= руб.), или несложной командой через terminal – бесплатно.
1. Выясняем хэш сертификата КЭП
На токене и в других хранилищах может быть несколько сертификатов. Нужно однозначно идентифицировать тот, которым будем впредь подписывать документы. Делается один раз.
Токен должен быть вставлен. Получаем список сертификатов в хранилищах командой из terminal:
Команда должна вывести минимум 1 сертификат вида:
Certmgr 1.1 © «Crypto-Pro», 2007-2018.
program for managing certificates, CRLs and stores
= = = = = = = = = = = = = = = = = = = =
1——-
Issuer: E=help@esphere.ru,… CN=ООО КОРУС Консалтинг СНГ…
Subject: E=sergzah@gmail.com,… CN=Захаров Сергей Анатольевич…
Serial: 0x0000000000000000000000000000000000
SHA1 Hash: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.
Container: SCARD\rutoken_lt_00000000\0000\0000
…
= = = = = = = = = = = = = = = = = = = =
[ErrorCode: 0x00000000]
2. Подпись файла командой из terminal
В terminal переходим в каталог с файлом для подписания и выполняем команду:
где ХХХХ. – хэш сертификата, полученный на шаге 1, а FILE – имя файла для подписания (со всеми расширениями, но без пути).
Команда должна вернуть:
Signed message is created.
[ErrorCode: 0x00000000]
Будет создан файл электронной подписи с расширением *.sgn – это отсоединенная подпись в формате CMS с кодировкой DER.
3. Установка Apple Automator Script
Чтобы каждый раз не работать с терминалом, можно один раз установить Automator Script, с помощью которого подписывать документы можно будет из контекстного меню Finder. Для этого скачиваем архив – скачать.
Окно Apple Automator:
System Preferences:
Сбис на виртуальной машине под управлением hyper-v. Криптопро не видит ключ JaCarta, решаем за минуту Криптопро на виртуальной машине
На Windows 7 x64 были совместно установлены Virtual Box (версии 4 и 5) с расширением Extension Pack и CryptoPro CSP (КриптоПро CSP 3.6 R4 для Windows).
При запуске виртуальной машины через Virtual Box система падала в синий экран. Причина в невозможности совместной работы КриптоПро CSP и Virtual Box.
Чтобы не было синего экрана при запуске виртуальной машины VirtualBox удалил КриптоПро CSP и перезагрузил компьютер. Решение временное, не сумел разобраться как подружить два продукта, а VirtualBox был нужнее, чем КриптоПро.
Помогло выйти на связь VirtualBox + КриптоПро == BSOD сообщение на форуме:
На форуме Крипто Про также есть обсуждение:
Отчёты из программы blueScreenView :
Возможно, просто совпадение, два BSOD-а подряд. И причина BSOD в реализации драйверов для Fresco Logic FL200 USB Display Adapter.
Но есть предположение, что причина ошибок в реализации поддержки USB 2.0 / USB 3.0 в VirtualBox. А особые возможности поддержки USB появляются при установке Oracle VM VirtualBox Extension Pack.
Удалить VirtualBox не хотелось бы, иногда бывает нужен. А удалить Extension Pack могу запросто. Надеюсь, что после удаления VirtualBox Extension Pack синих экранов больше не будет. И можно будет повторно установить КриптоПро CSP 3.6 R4 для Windows и пользоваться двумя мониторами.
DELETE FROMmsg;—Удалит все строки в таблице—Удалит все строки у которых дата создания «2019.02.01» DELETE FROMmsg WHEREdate_create=»2019.02.01″;
Описание окружения
Алгоритм решения проблем с JaCarta
КриптоПРО очень часто вызывает различные ошибки в Windows, простой пример (Windows installer service could not be accessed). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.
Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.
Возможные причины с определением контейнера
Как решить проблему, что криптопро не видит USB ключ?
Создали новую виртуальную машину и стали ставить софт все последовательно.
Перед установкой любого программного обеспечения работающего с USB носителями на которых находятся сертификаты и закрытые ключи. Нужно ОБЯЗАТЕЛЬНО отключить токен, если воткнут локально, то отключаем его, если по сети, разрываем сессию
Установка единого клиента JaCarta PKI
Принимаем лицензионное соглашение и нажимаем «Далее»
Чтобы драйвера токенов JaCarta у вас работали корректно, достаточно выполнить стандартную установку.
Если выберете «Выборочную установку», то обязательно установите галки:
Через пару секунд, Единый клиент Jacarta, успешно установлен.
Обязательно произведите перезагрузку сервера или компьютера, чтобы система увидела свежие драйвера.
После установки JaCarta PKI, нужно установить КриптоПРО, для этого заходите на официальный сайт.
На текущий момент самая последняя версия КриптоПро CSP 4.0.9944. Запускаем установщик, оставляем галку «Установить корневые сертификаты» и нажимаем «Установить (Рекомендуется)»
Инсталляция КриптоПРО будет выполнена в фоновом режиме, после которой вы увидите предложение, о перезагрузке браузера, но я вам советую полностью перезагрузиться.
Открыв утилиту «Единый клиент Jacarta PKI», подключенного токена обнаружено не было, значит, что-то с драйверами.
Откройте диспетчер устройств Windows, найдите пункт «Считыватели устройств смарт-карт (Smart card readers)» щелкните по Microsoft Usbccid (WUDF) и выберите пункт «Свойства». Перейдите на вкладку «Драйвера» и нажмите удалить (Uninstall)
Согласитесь с удалением драйвера Microsoft Usbccid (WUDF).
Вас уведомят, что для вступления изменений в силу, необходима перезагрузка системы, обязательно соглашаемся.
После перезагрузки системы, вы можете увидеть установку устройства и драйверов ARDS Jacarta.
Откройте диспетчер устройств, вы должны увидеть, что теперь ваше устройство определено, как JaCarta Usbccid Smartcar и если зайти в его свойства, то вы увидите, что смарт карта jacarta, теперь использует драйвер версии 6.1.7601 от ALADDIN R.D.ZAO, так и должно быть.
Если открыть единый клиент Jacarta, то вы увидите свою электронную подпись, это означает, что смарт карта нормально определилась.
Открываем CryptoPRO, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.
После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.
Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,
Когда вы установили все драйвера для токенов Jacarta, вы можете увидеть при подключении по RDP и открытии утилиты «Единый клиент Jacarta PKI» вот такое сообщение с ошибкой:
Как исправить ошибку «Не возможно подключиться к службе управления смарт-картами».
Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.