Обновлено 11.09.2018
Добрый день! Уважаемые читатели и гости крупнейшего IT блога в России pyatilistnik.org. В прошлый раз мы разбирали ситуацию, что утилита КриптоПРО не видела токен Jacarta, согласитесь, что при решении этой проблемы было бы здорово иметь тестовый ключ с сертификатом, и параллельно ваш коллега мог бы тоже траблшутить. Еще тестовый сертификат CryptoPRO может быть полезен, при процедуре переноса контейнера КриптоПРО из реестра в случае с не экспортируемым закрытым ключом. Сегодня я вас научу генерировать нормальный, тестовый сертификат шифрования или подписи для разных задачу.
Для целей разработки и тестирования в ООО “КРИПТО-ПРО” развернут тестовый сервис КриптоПро SVS 2.0.
Данный сервис предоставляет возможность проверки статуса квалифицированных сертификатов, а также сертификатов, изданных Тестовым УЦ КРИПТО-ПРО. Сертификаты других УЦ не пройдут проверку на сервисе.
Подтверждение подлинности электронной подписи возможно для документов, подписанных с использованием сертификатов от тех же УЦ.
Для автоматического обращения к сервису по протоколу SOAP необходимо использовать адрес https://dss.cryptopro.ru/verify/service.svc. Руководство разработчика с описанием программного интерфейса доступно на странице загрузки.
Страница для печати
- Оглавление
- Введение
- Для разработчиков
- Тестовые УЦ с алгоритмом ключа ГОСТ Р 34.10-2012:
- Тестовые УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 (устаревший алгоритм, рекомендуем использовать тестовые УЦ на базе ГОСТ Р 34.10-2012):
- Не следует доверять сертификатам, которые выпущены тестовым центром, т. он выдает сертификаты любым пользователям, не выполняя никаких проверок!
- Смена PIN-кода контейнера
- Выясняем название контейнера КЭП
- Смена PIN командой из terminal
- Подпись файлов в macOS
- Выясняем хэш сертификата КЭП
- Подпись файла командой из terminal
- Установка Apple Automator Script
- Проверить подпись на документе
- Типовой сценарий тестирования
- Подготовка к тестирования
- Проверка связи со стендом
- Тест инициатора транспортного режима
- Тест ответчика транспортного режима
- Тест инициатора режима L2TP/IPsec
- Подготовка к тестам туннельного режима
- Тест инициатора туннельного режима
- Тест ответчика туннельного режима
- Что нужно для работы с КЭП под macOS
- Конфигурация стенда
- Адреса узлов
- Параметры методов аутентификации
- Узлы тестирования обязательных параметров IPsec
- Узлы с альтернативными параметрами IPsec
- Политики IPsec узлов транспортного режима
- Политики IPsec узлов туннельного режима
- Генерация тестового сертификата
- Загрузка программного обеспечения
- Установка КриптоПро ЭЦП Browser plug-in.
- Устанавливаем и настраиваем КЭП под macOS
- Устанавливаем КриптоПро CSP
- Устанавливаем драйверы Рутокен
- Устанавливаем сертификаты
- Удаляем все старые ГОСТовские сертификаты
- Устанавливаем корневые сертификаты
- Скачиваем сертификаты удостоверяющего центра
- Устанавливаем сертификат с Рутокен
- Конфигурируем CryptoPro для работы ссертификатами ГОСТ Р 34. 10-2012
- Устанавливаем специальный браузер Chromium-GOST
- Устанавливаем расширения для браузера
- 1 КриптоПро ЭЦП Browser plug-in
- Плагин для Госуслуг
- Настраиваем плагин для Госуслуг
- Активируем расширения
- Настраиваем расширение КриптоПро ЭЦП Browser plug-in
- Проверяем что все работает
- Заходим на тестовую страницу КриптоПро
- Заходим в Личный Кабинет на nalog
- Заходим на Госуслуги
- Что делать, если перестало работать
- Дополнительные сервисы стенда
- Доступ к IPv6 по HTTPS
- Доступ по протоколу SSTP (MS SSL-VPN)
Оглавление
- Конфигурация стенда
- Типовой сценарий тестирования
- Дополнительные сервисы стенда
- Ссылки
Введение
Стенд предназначен для проверки совместимости реализаций IPsec использующих российские алгоритмы (см. “Совместимость российских реализаций IPsec”) и самостоятельного тестирования возможности встречной работы их реализаций с реализацией СКЗИ “КриптоПро CSP”/”КриптоПро IPsec”.
Возникающие технические вопросы в части реализации IPsec можно задавать в соответствующем разделе нашего форума (см. “Форум КРИПТО-ПРО » Средства криптографической защиты информации » КриптоПро IPsec”).
При возникновении организационных вопросов или появлении необходимости изменения конфигурации стенда информацию об этом можно направить письмом на <mailto:vpngost@cryptopro.ru>.
Внимание: Подключаться к стенду рекомендуется только со стендов соответствующим образом отделённых от офисных и прочих рабочих сетей адекватными мерами защиты. ООО “КРИПТО-ПРО” не несёт ответственности за содержание передаваемой информации.
Если при подписании документа электронной подписью у вас возникла техническая ошибка, стоит провести тестирование контейнера закрытого ключа. Это поможет диагностировать причину возникшей ошибки и понять, что нужно сделать для возобновления работы сертификата электронной подписи.
Мы подготовили небольшую инструкцию, которая поможет проверить работу контейнера закрытого ключа и узнать причину неполадки.
Запустите программу КриптоПро CSP.
После запуска программы перейдите на вкладку «Сервис».
Нажмите на кнопку «Протестировать».
Нажмите на кнопку «Обзор».
Если у вас несколько носителей, нужно выбрать вариант, который вы хотите протестировать. Если носитель один, он отобразится сразу.
Будьте внимательны! Выбирайте именно тот носитель, который требует проверки. Если ошибетесь, процедуру тестирования придется проходить заново.
Нажмите на кнопку «ОК».
В окне «Сертификаты в контейнере закрытого ключа» нажмите на кнопку «Далее».
Поздравляем, тестирование прошло успешно! В завершении появится окно с описанием ошибок, которые были обнаружены.
Чтобы закрыть окно, нажмите на кнопку «Готово».
Для разработчиков
Для удобства разработчиков в ООО “КРИПТО-ПРО” развернуты несколько тестовых удостоверяющих центров:
- тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2012 на основе веб-интерфейса КриптоПро УЦ версии 2.0.
- тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2012 на основе веб-интерфейса службы сертификации Microsoft (из состава Windows Server 2012 R2).Рекомендуется для клиентов, использующих Windows и Internet Explorer.
- тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 на основе веб-интерфейса КриптоПро УЦ версии 1.5. Рекомендуется для клиентов, использующих Windows и Internet Explorer.
- тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 на основе веб-интерфейса КриптоПро УЦ версии 2.0.
- тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 на основе веб-интерфейса службы сертификации Microsoft (из состава Windows Server 2012 R2). Рекомендуется для клиентов, использующих другие ОС или другие браузеры. Для работы с этим УЦ требуется КриптоПро ЭЦП Browser plug-in.
Тестовые УЦ с алгоритмом ключа ГОСТ Р 34.10-2012:
Тестовые УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 (устаревший алгоритм, рекомендуем использовать тестовые УЦ на базе ГОСТ Р 34.10-2012):
Обратившись на выбранный тестовый УЦ, вы можете получить сертификаты ключей электронной подписи.
Используйте эти сертификаты только в целях тестирования.
Не следует доверять сертификатам, которые выпущены тестовым центром, т. он выдает сертификаты любым пользователям, не выполняя никаких проверок!
Страница для печати
Тестовый TSP-сервер работает на основе службы штампов времени “КриптоПро TSP Server”.
Сервер работает по протоколу TSP поверх HTTP. Для обращения к серверу посредством обычного соединения необходимо использовать адрес http://testca2012.cryptopro.ru/tsp/tsp.srf или https://testca2012.cryptopro.ru/tsp/tsp.srf для соединения по протоколу КриптоПро TLS.
Сервер отвечает на запросы штампов времени.
Сертификат подписи штампов времени издан Тестовым Центром Сертификации КРИПТО-ПРО на основе КриптоПро УЦ 2.0.
Чтобы тестовое программное обеспечение доверяло меткам времени, полученным с данного сервера, необходимо установить корневой сертификат тестового Центра сертификации в хранилище сертификатов операционной системы “Доверенные корневые центры сертификации”.
Для проверки штампов времени также необходим сам сертификат службы штампов. Его можно получить здесь или при указании в запросе на штамп времени флага certReq, тогда служба штампов включит свой сертификат в ответ. При использовании КриптоПро TSP Client этот сертификат можно установить в хранилище “Другие пользователи” для того, чтобы функции проверки штампа находили его автоматически.
Тестовая служба штампов времени выдаёт штампы только с политикой, которая является политикой для тестовых штампов времени и не предполагает никаких гарантий и никакой ответственности со стороны владельца службы – ООО “КРИПТО-ПРО”.
OID тестовой политики можно не указывать в запросе. Для информации его значение 1.2.643.2.2.38.4.
Используйте данный TSP-сервер только в тестовых целях. Не следует доверять штампам времени, выданным этим сервером, также как и сертификатам тестового Центра сертификации.
Страница для печати

FYI. Статья написана в далеком 2019 году, но актуальна и на ноябрь 2021.
Каждый предприниматель и руководитель ООО пользуется электронной подписью. Помимо КЭП для ЕГАИС и облачных КЭП для сдачи отчетности, выдаваемых банками и бухгалтерскими сервисами, особый интерес представляют универсальные УКЭП на защищенных токенах. Такие сертификаты позволяют только логиниться на гос.порталы и подписывать любые документы, делая их юридически значимыми.
Благодаря сертификату КЭП на USB-токене можно удаленно заключить договор с контрагентом или дистанционным сотрудником, направить документы в суд; зарегистрировать онлайн-кассу, урегулировать задолженность по налогам и подать декларацию в личном кабинете на nalog.ru; узнать о задолженностях и предстоящих проверках на Госуслугах.
Представленный ниже мануал поможет работать с КЭП под macOS – без изучения форумов КриптоПро и установки виртуальной машины с Windows.
Содержание
Что нужно для работы с КЭП под macOS:
Устанавливаем и настраиваем КЭП под macOS
- Устанавливаем КриптоПро CSP
- Устанавливаем драйверы Рутокен
- Устанавливаем сертификаты
3.1. Удаляем все старые ГОСТовские сертификаты
3.2. Устанавливаем корневые сертификаты
3.3. Скачиваем сертификаты удостоверяющего центра
3.4. Устанавливаем сертификат с Рутокен - Устанавливаем специальный браузер Chromium-GOST
- Устанавливаем расширения для браузера
5.1 КриптоПро ЭЦП Browser plug-in
5.2. Плагин для Госуслуг
5.3. Настраиваем плагин для Госуслуг
5.4. Активируем расширения
5.5. Настраиваем расширение КриптоПро ЭЦП Browser plug-in - Проверяем что все работает
6.1. Заходим на тестовую страницу КриптоПро
6.2. Заходим в Личный Кабинет на nalog.ru
6.3. Заходим на Госуслуги - Что делать если перестало работать
Смена PIN-кода контейнера
- Выясняем название контейнера КЭП
- Смена PIN командой из terminal
Подпись файлов в macOS
- Выясняем хэш сертификата КЭП
- Подпись файла командой из terminal
- Установка Apple Automator Script
Проверить подпись на документе
Вся информация ниже получена из авторитетных источников (КриптоПро #1, #2 и #3, Рутокен, Корус-Консалтинг, УФО Минкомсвязи), а скачивать ПО предлагается с доверенных сайтов. Автор является независимым консультантом и не связан ни с одной из упомянутых компаний. Следуя данной инструкции, всю ответственность за любые действия и последствия вы принимаете на себя.
|
hopyres Оставлено | |
Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов. Цитата: CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX. Error 0x8009000a: Указан неправильный тип. Что ему нужно? Отредактировано пользователем 20 января 2022 г. 10:28:27(UTC) | |
|
Андрей * Оставлено | |
Автор: hopyres Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов. Цитата: CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX. точно 12330? | |
|
nickm Оставлено | |
Автор: hopyres Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов. Похоже на то, что “кривой” config64.ini. | |
|
Санчир Момолдаев Оставлено | |
1) скзи – товар двойного назначения. тиражирование скзи – сертифицированное фсб действие. как считаете пойдет ли aur на сертифицикацию фсб? 2) не все скрипты перенесены в скрипты пакета из аура. Код: Отредактировано пользователем 19 января 2022 г. 10:44:59(UTC) | |
|
hopyres Оставлено | |
Автор: Андрей * Автор: hopyres Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов. Цитата: CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX. точно 12330? Само приложение пишет 5.0.11455, а в AUR файле PKGBUILD указана версия 12330 | |
|
Санчир Момолдаев Оставлено | |
скачайте дистрибутив 5.0.12330 подложите его к pkgbuild и переустановите пакет | |
|
hopyres Оставлено | |
Автор: Санчир Момолдаев скачайте дистрибутив 5.0.12330 подложите его к pkgbuild и переустановите пакет Подкинул ему дистрибутив с официального сайта и всё заработало. | |
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
csptest в составе Крипропро 4 что проверяет при проверке ЭП?
|
Nik_Pavel Оставлено | |
Добрый день. Подскажите, если вызываю csptest для тестирования валидности подписания бинарного (в данном случае PDF) файла отсоединенной гостовской УКЭП на документе, командой то что в таком случае будет проверено, когда утилита выдаёт итоговое положительное сообщение? Проверяться будет соответствие файла и сигнатуры ЭП, или и валидность отметки даты-времени самой ЭП в составе SGN-файла тоже? И не совсем ясно из стандартного хелпа к утилите – в процессе проверки выдаётся так же сообщение, не влияющее на итог проверки ЭП: Как правильно в командной строке задавить вывод этого сообщения – чтобы только итоговое выводилось? | |
|
Grey Оставлено | |
Автор: Nik_Pavel Добрый день. Подскажите, если вызываю csptest для тестирования валидности подписания бинарного (в данном случае PDF) файла отсоединенной гостовской УКЭП на документе, командой то что в таком случае будет проверено, когда утилита выдаёт итоговое положительное сообщение? Проверяться будет соответствие файла и сигнатуры ЭП, или и валидность отметки даты-времени самой ЭП в составе SGN-файла тоже? И не совсем ясно из стандартного хелпа к утилите – в процессе проверки выдаётся так же сообщение, не влияющее на итог проверки ЭП: Как правильно в командной строке задавить вывод этого сообщения – чтобы только итоговое выводилось? Добрый день. С уважением, | |
|
Nik_Pavel Оставлено | |
В курсе, что утилита для тестирования (собственно тестированием тестового пакета документов и сигнатур ЭП и занимаюсь). Просто хотелось бы лучше понимать, что конкретно проверяется, а что не проверяется опцией -sfsign -verify, и как вообще это работает. Отредактировано пользователем 16 марта 2022 г. 11:58:12(UTC) | |
|
Nik_Pavel Оставлено | |
и по поводу вопроса про “signtsf.c:736:No user cert specified. Cryptocontext will be opened automaticaly.” но тогда непонятен момент – в SGN-файле есть сертификат. certmgr.exe -list -file c:\TMP\csp\test1.pdf.sgn [ErrorCode: 0x00000000] | |
|
Grey Оставлено | |
Автор: Nik_Pavel В курсе, что утилита для тестирования (собственно тестированием тестового пакета документов и сигнатур ЭП и занимаюсь). Просто хотелось бы лучше понимать, что конкретно проверяется, а что не проверяется опцией -sfsign -verify, и как вообще это работает. А вам зачем? С уважением, | |
|
Nik_Pavel Оставлено | |
Всё просто – по планграфику работ поставка соответствующего ПО для продуктивной работы несколько отстаёт. А тестировать (пулять тестовые документы) стали уже сейчас. Поэтому довольствуемся тем, что есть в стандартной уже ранее купленной коробке Криптопро 4. И хотелось бы на том что есть понять в т.ч., что там в SGN-файл вторая сторона натолкала (и натолкала ли всё, что нужно, или по минимуму – т.к. доверия контрагенту полного нет. В частности хотелось бы понять, что можно извлечь из тестового SGN-файла штатными утилитами (csptest, cpverify, certmgr). | |
|
Nik_Pavel Оставлено | |
И ещё вопрос: чем технически отличается опция -sfsign -verify от -lowsign -verify ? | |
|
Вадим137 Оставлено | |
Добрый день! Возникла необходимость подписать около 500 файлов c созданием каждому файлу отдельного файла .sig. Поштучно это будет адская работа….Подскажите есть ли возможность сделать цифровую подпись сразу всем файлам в папке? Отредактировано пользователем 9 марта 2022 г. 11:20:56(UTC) | |
|
nickm Оставлено | |
Написать командный сценарий с использованием “cryptcp”? А Вы как сами это видите? | |
|
Андрей Русев Оставлено | |
Здравствуйте. | |
| |
|
Вадим137 Оставлено | |
Можно попросить Вас рассказать немного поподробнее об использовании этого пакетного режима? | |
|
Андрей Русев Оставлено | |
Код: Ещё пример: Код: Отредактировано пользователем 9 марта 2022 г. 12:34:32(UTC) | |
nickm оставлено 09.03.2022(UTC), notarget оставлено 27.07.2022(UTC) | |
Смена PIN-кода контейнера
Пользовательский PIN-код на Рутокен по-умолчанию 12345678, и оставлять его в таком виде никак нельзя. Требования к PIN-коду Рутокен: 16 символов max., может содержать латинские буквы и цифры.
Выясняем название контейнера КЭП
На usb-токене и в других хранилищах может храниться несколько сертификатов, и нужно выбрать правильный. При вставленном usb-токене получаем список всех контейнеров в системе командой в terminal:
/opt/cprocsp/bin/csptest -keyset -enum_cont -fqcn -verifycontextКоманда должна вывести минимум 1 контейнер и вернуть
[ErrorCode: 0x00000000]
Нужный нам контейнер имеет вид
\.\Aktiv Rutoken lite\XXXXXXXX
Если таких контейнеров выводится несколько – значит значит на токене записано несколько сертификатов, и вы в курсе какой именно вам нужен. Значение XXXXXXXX после слэша нужно скопировать и подставить в команду ниже.
Смена PIN командой из terminal
/opt/cprocsp/bin/csptest -passwd -qchange -container "XXXXXXXX"где XXXXXXXX – название контейнера, полученное на шаге 1 (обязательно в кавычках).
Появится диалог КриптоПро с запросом старого PIN-кода для доступа к сертификату, затем еще один диалог для ввода нового PIN-кода. Готово.
Скриншот

Подпись файлов в macOS
В macOS файлы можно подписывать в ПО КриптоАрм (стоимость лицензии 2500= руб.), или несложной командой через terminal – бесплатно.
Выясняем хэш сертификата КЭП
На токене и в других хранилищах может быть несколько сертификатов. Нужно однозначно идентифицировать тот, которым будем впредь подписывать документы. Делается один раз.
Токен должен быть вставлен. Получаем список сертификатов в хранилищах командой из terminal:
/opt/cprocsp/bin/certmgr -listКоманда должна вывести минимум 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]
У нужного нам сертификата в параметре Container должно быть значение вида SCARD\rutoken…. Если сертификатов с такими значениями несколько, то значит на токене записано несколько сертификатов, и вы в курсе какой именно вам нужен. Значение параметра SHA1 Hash (40 символов) нужно скопировать и подставить в команду ниже.
Подпись файла командой из terminal
В terminal переходим в каталог с файлом для подписания и выполняем команду:
/opt/cprocsp/bin/cryptcp -signf -detach -cert -der -strict -thumbprint ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ FILEгде ХХХХ… – хэш сертификата, полученный на шаге 1, а FILE – имя файла для подписания (со всеми расширениями, но без пути).
Команда должна вернуть:
Signed message is created.
[ErrorCode: 0x00000000]
Будет создан файл электронной подписи с расширением *.sgn – это отсоединенная подпись в формате CMS с кодировкой DER.
Установка Apple Automator Script
Чтобы каждый раз не работать с терминалом, можно один раз установить Automator Script, с помощью которого подписывать документы можно будет из контекстного меню Finder. Для этого скачиваем архив – скачать.
- Распаковываем архив ‘Sign with CryptoPro.zip’
- Запускаем Automator
- Находим и открываем распакованный файл ‘Sign with CryptoPro.workflow’
- В блоке Run Shell Script меняем текст ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ на значение параметра SHA1 Hash сертификата КЭП, полученное выше.
- Сохраняем скрипт: ⌘Command + S
- Запускаем файл ‘Sign with CryptoPro.workflow’ и подтверждаем установку.
- В Finder вызываем контекстное меню любого файла, и в разделе Quick Actions и/или Services выбрать пункт Sign with CryptoPro
- В появившемся диалоге КриптоПро ввести PIN-код пользователя от КЭП
- В текущем каталоге появится файл с расширением *.sgn – отсоединенная подпись в формате CMS с кодировкой DER.
Скриншоты
Окно Apple Automator:
System Preferences:

Контекстное меню Finder:

Проверить подпись на документе
Если содержимое документа не содержит секретов и тайн, то проще всего воспользоваться web-сервисом на портале Госуслуг – https://www.gosuslugi.ru/pgu/eds. Так можно сделать скриншот с авторитетного ресурса и быть уверенным что с подписью все ок.
Скриншоты


Типовой сценарий тестирования
Подготовка к тестирования
Узлы стенда поддерживают обслуживание инициаторов использующих NAT, однако тесты ответчиков и/или туннельных режимов потребуют специальных настроек. Поэтому рекомендуется использовать “прямые” IPv4 и IPv6 адреса, а так же рекомендуется использование “статических” адресов для тестов туннельного режима.
Проверка связи со стендом
Может быть проведена командой `ping’, либо доступом по HTTP к протоколам узла стенда.
В протоколах узла стенда и/или в файле readme будут указаны текущие настройки и параметры.
Тест инициатора транспортного режима
Не требует дополнительных действий. После согласования ESP SA, доступны тестовые нагрузки: icmp, echo, discard, daytime, qotd, chargen. Например, к TCP нагрузкам можно обратиться командой `telnet vpngost-v6.cryptopro.ru echo’, а к UDP командой `nc vpngost-v6.cryptopro.ru echo’ из пакета Netcat.
Тест ответчика транспортного режима
При обращении к тестовым нагрузкам echo, discard, daytime, стенд для ответных пакетов будет самостоятельно инициировать согласование ISAKMP SA и/или ESP SA.
Использование icmp для этого теста возможно, но не рекомендуется, т.к. одновременно с инициацией согласования SA или же при ошибках согласования стенда посылает icmp ответ в открытом виде, соответственно Вы можете получить ложноположительный результат.
Использование NAT в этом тесте возможно, но не рекомендуется, в виду сложности настройки.
Тест инициатора режима L2TP/IPsec
После согласования L2TP/IPsec, доступны тестовые нагрузки: icmp, echo, discard, daytime, qotd, chargen по адресам: 10.89.90.2 и/или fe00:0a59:5a00::2.
Подготовка к тестам туннельного режима
Рекомендуется выделять статический IPv4 или IPv6 адрес, при доступе к которому разрешён протокол icmp. После чего выслать нам согласование и настройку туннельную подсеть.
Тест инициатора туннельного режима
После согласования туннеля, доступны тестовые нагрузки: icmp, echo, discard, daytime, qotd, chargen по адресам: 10.89.90.2 и/или fe00:0a59:5a00::2.
Тест ответчика туннельного режима
Для инициации согласования туннеля со стороны стенда можно использовать: второй туннель, соединение L2TP/IPsec или SSTP.
Что нужно для работы с КЭП под macOS
- КЭП на USB-токене Рутокен Lite или Рутокен ЭЦП
- криптоконтейнер в формате КриптоПро
- со встроенной лицензией на КриптоПро CSP
- открытый сертификат должен храниться в контейнере закрытого ключа
Поддержка eToken и JaCarta в связке с КриптоПро под macOS под вопросом. Носитель Рутокен Lite – оптимальный выбор, стоит недорого, шустро работает и позволяет хранить до 15 ключей.
Криптопровайдеры VipNet, Signal-COM и ЛИССИ в macOS не поддерживаются. Преобразовать контейнеры никак не получится. КриптоПро – оптимальный выбор, стоимость сертификата в себестоимости от 500= руб. Можно выпустить сертификат с встроенной лицензией на КриптоПро CSP, это удобно и выгодно. Если лицензия не зашита, то необходимо купить и активировать полноценную лицензию на КриптоПро CSP.
Обычно открытый сертификат хранится в контейнере закрытого ключа, но это нужно уточнить при выпуске КЭП и попросить сделать как нужно. Если не получается, то импортировать открытый ключ в закрытый контейнер можно самостоятельно средствами КриптоПро CSP под Windows.
Конфигурация стенда
Стенд обеспечивает возможность подключения и тестирование российских реализаций VPN и IPsec, как по современному протоколу IPv6 (vpngost-v6.cryptopro.ru, vpngost-v6-a.cryptopro.ru, vpngost-v6-tun.cryptopro.ru, vpngost-v6-a-tun.cryptopro.ru), так и по традиционному протоколу IPv4 (vpngost.cryptopro.ru, vpngost-a.cryptopro.ru, vpngost-tun.cryptopro.ru, vpngost-a-tun.cryptopro.ru).

Рисунок 1. Схема узла vpngost.cryptopro.ru
Адреса узлов
| vpngost.cryptopro.ru | 193.37.157.89 |
| vpngost-v6.cryptopro.ru | 2002:c125:9d59::c125:9d59 |
| 10.89.90.2 | |
| fe00:0a59:5a00::2 | |
| vpngost-tun.cryptopro.ru | 193.37.157.90 |
| vpngost-v6-tun.cryptopro.ru | 2002:c125:9d5a::c125:9d5a |
| 10.89.90.1 | |
| fe00:0a59:5a00::1 | |
| vpngost-a.cryptopro.ru | 193.37.157.91 |
| vpngost-v6-a.cryptopro.ru | 2002:c125:9d5b::c125:9d5b |
| 10.89.90.4 | |
| fe00:0a59:5a00::4 | |
| vpngost-a-tun.cryptopro.ru | 193.37.157.92 |
| vpngost-v6-a-tun.cryptopro.ru | 2002:c125:9d5c::c125:9d5c |
| 10.89.90.3 | |
| fe00:0a59:5a00::3 |
Адреса узлов могут меняться, пожалуйста, уточняйте актуальные в протоколах в файлах “readme”.
Параметры методов аутентификации
Используемый метод аутентификации, как и используемое преобразование, согласуется обычным образом.
Узлы тестирования обязательных параметров IPsec
На узлах vpngost, vpngost-v6, vpngost-tun, vpngost-v6-tun, установлены обязательные к реализации параметры по умолчанию.
Для методов аутентификации IKE-GOST-PSK и IKE-GOST-SIGNATURE используются параметры:
- Хэш функция GOST_R_3411_94;
- Алгоритм шифрования GOST-B-CFB-IMIT;
- Группа VKO GOST R 34.10 2001 XchB;
- Режим Quick Mode (QM) без использования Perfect Forward Secrecy (PFS).
Для преобразований ESP_GOST-4M-IMIT и ESP_GOST-1K-IMIT используются параметры:
- Узел замены из id-Gost28147-89-CryptoPro-B-ParamSet;
- Не согласуется опциональный атрибут Extended (64-bit) Sequence Number (ESN).
Узлы с альтернативными параметрами IPsec
На узлах vpngost-a, vpngost-a-tun, vpngost-v6-a, vpngost-v6-a-tun по запросу могут быть установлены другие опциональные параметры. Текущие установленные параметры доступны в протоколах соответствующего узла.
Для методов аутентификации IKE-GOST-PSK и IKE-GOST-SIGNATURE могут быть установлены следующие параметры:
- Хэш функция GOST_R_3411_94;
- Алгоритм шифрования GOST-C-CFB-IMIT (или GOST-A-CFB-IMIT, GOST-D-CFB-IMIT);
- Группа VKO GOST R 34.10 2001 XchA;
- Режим принудительного запрета согласования QM без использования режима PFS (Disable Non-PFS);
- Режим QM с использованием PFS.
Для преобразований ESP_GOST-4M-IMIT и ESP_GOST-1K-IMIT могут быть установлены следующие параметры:
- Узел замены из id-Gost28147-89-CryptoPro-D-ParamSet (или id-Gost28147-89-CryptoPro-A-ParamSet, id-Gost28147-89-CryptoPro-C-ParamSet);
- Использование ESN;
- Опциональный режим совместимости, в котором может согласовываться атрибут “Authentication Algorithm” (5) со значением GOST-NULL-INTEGRITY-ALGORITHM (65411).
Политики IPsec узлов транспортного режима
На узлах vpngost, vpngost-a, vpngost-v6, vpngost-v6-a установлено:
icmp | Принимаются, как зашифрованные, так и открытые входящие пакеты; |
echo, discard, daytime | Принимаются, как зашифрованные, так и открытые входящие пакеты; |
qotd, chargen и др. | Принимаются и передаются только зашифрованные пакеты; |
http, https, isakmp, ipsec‑msft | Принимаются и передаются только в открытом виде; |
L2TP/IPsec | Порождает динамические политики. |
VPN | Обмен с VPN (10.89.0.0/16 и fe00:0a59/32) осуществляется только в открытом виде. |
L2TP/IPsec, SSTP выделяет адреса в диапазонах, на vpngost, vpngost-v6: 10.89.89.0/24 и fe00:0a59:5900/48, а на vpngost-v6, vpngost-v6-a: 10.89.91.0/24 и fe00:0a59:5b00/48.
Политики IPsec узлов туннельного режима
На узлах vpngost-tun, vpngost-v6-tun, vpngost-a-tun, vpngost-v6-a-tun установлено:
icmp | Принимаются, как зашифрованные, так и открытые входящие пакеты; |
IPsec туннели | Пакеты туннельного режима в адрес конечных точек передаются и принимаются ими только зашифрованными; |
http, https, isakmp, ipsec‑msft | Принимаются и передаются только в открытом виде; |
VPN | Обмен с VPN (10.89.0.0/16 и fe00:0a59/32) осуществляется только в открытом виде. |
Конечные точки туннелей и соответствующие им подсети настраиваются по запросу. Для vpngost-tun, vpngost-v6-tun подсети должны быть: 10.89.{1..30}.0/24 и fe00:0a59:5a5a:{1..ffff}/64. Для vpngost-a-tun, vpngost-v6-a-tun подсети должны быть: 10.89.{201..230}.0/24 и fe00:0a59:5c5c:{1..ffff}/64.
Генерация тестового сертификата
Как я и писал выше вы много, где сможете его применять, я когда знакомился с миром сертификатов и электронных подписей, то использовал тестовые ЭЦП от КриптоПРО для проверки правильности настройки программного обеспечения для работы на электронных, торговых площадках. Чтобы сгенерировать тестовый электронный сертификат, компания КриптоПРО предоставила вам специальный удостоверяющий, виртуальный центр, которым мы и воспользуемся. Переходим по ссылке:
https://www.cryptopro.ru/certsrv/
В самом низу у вас будет ссылка на пункт “Сформировать ключи и отправить запрос на сертификат”.

Я вам советую этот сайт открывать в Internet Explore, меньше будет глюков. Как открыть Internet Explore в Windows 10, читайте по ссылке слева
Если же вы хотите использовать другой браузер, то установите КриптоПро ЭЦП Browser plug-in.
Загрузка программного обеспечения
Для проведения тестирования могут потребоваться:
- Netcat;
- КриптоПро CSP 3.6R3;
- КриптоПро IPsec;
- Утилита командной строки cryptcp;
Все перечисленные продукты “Крипто-Про” имеют демонстрационную лицензию на 3 месяца и могут быть загружены со страницы загрузок. Дополнительные лицензии для проведения тестирования могут быть выданы на основании аргументированного запроса.
Установка КриптоПро ЭЦП Browser plug-in.
Сама инсталляция плагина, очень простая, скачиваем его и запускаем.

Для запуска нажмите “Выполнить”

Далее у вас появится окно с уведомлением, что будет произведена установка КриптоПро ЭЦП Browser plug-in, соглашаемся.

После инсталляции утилиты, вам нужно будет обязательно перезапустить ваш браузер.

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

В открывшемся окне нажмите “Включить расширение”

Не забудьте установить КриптоПРО CSP на компьютер, где будет генерироваться сертификат
Теперь у нас все готово. Нажимаем “Сформировать ключи и отправить запрос на сертификат”. Согласитесь с выполнением операции.

У вас откроется форма расширенного запроса сертификата. Вначале заполним раздел “Идентифицирующие сведения”. В него входят пункты:
- Имя
- Электронная почта
- Организация
- Подразделение
- Город
- Область
- Страна

Далее вам нужно указать тип требуемого сертификата. В двух словах, это область применения ЭЦП:
- Сертификат проверки подлинности клиента (самый распространенный вариант, по сути для подтверждения, что вы это вы)
- Сертификат защиты электронной почты
- Сертификат подписи кода
- Сертификат подписи штампа времени
- Сертификат IPSec, для VPN тунелей.
- Другие, для специальных OID
Я оставляю “Сертификат проверки подлинности клиента”.

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

Для удобства еще можете заполнить поле “Понятное имя”, для быстрой идентификации вашей тестовой ЭЦП от КриптоПРО. Нажимаем выдать тестовый сертификат.

У вас появится запрос на создание, в котором вам необходимо указать устройство, на которое вы будите записывать тестовый сертификат КриптоПРО, в моем случае это е-токен.

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

Все наш контейнер КриптоПРО сформирован и для его записи введите пин-код.

Вам сообщат, что запрошенный вами сертификат был вам выдан, нажимаем “Установить этот сертификат”.

Если у вас еще не установленны корневые сертификаты данного центра сертификации, то вы получите вот такую ошибку:
Данный ЦС не является доверенным
Для ее устранения нажмите на ссылку “установите этот сертификат ЦС”

У вас начнется его скачивание.

Запускаем его, как видите в левом верхнем углу красный значок, чтобы его убрать нажмите “Установить сертификат”, оставьте для пользователя.

Далее выбираем пункт “Поместить все сертификаты в следующее хранилище” и через кнопку обзор указываете контейнер “Доверенные корневые центры сертификации”. Далее ок.

На последнем этапе у вас выскочит окно с предупреждением, о подтверждении установки сертификатов, нажимаем “Да”.

Открываем снова окно с выпуском тестового сертификата КриптоПРО и заново нажимаем “Установить сертификат”, в этот раз у вас вылезет окно с вводом вашего пин-кода от вашего носителя.

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

Теперь открывайте ваш КриптоПРО и посмотрите есть ли сертификат в контейнере. Как видите в контейнере есть наша ЭЦП.

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

Устанавливаем и настраиваем КЭП под macOS
Очевидные вещи
- все загружаемые файлы скачиваются в каталог по-умолчанию: ~/Downloads/;
- во всех установщиках ничего не меняем, все оставляем по-умолчанию;
- если macOS запрашивает пароль пользователя и разрешение на управление компьютером – нужно ввести пароль и со всем согласиться.
Устанавливаем КриптоПро CSP
Регистрируемся на сайте КриптоПро и со страницы загрузок скачиваем и устанавливаем версию КриптоПро CSP 4.0 R4 для macOS – скачать.
Устанавливаем драйверы Рутокен
На сайте написано что это опционально, но лучше поставить. Со страницы загрузок на сайте Рутокен скачиваем и устанавливаем Модуль поддержки Связки Ключей (KeyChain) – скачать.
Далее подключаем usb-токен, запускаем terminal и выполняем команду:
/opt/cprocsp/bin/csptest -card -enumВ ответе должно быть:
Aktiv Rutoken…
Card present…
[ErrorCode: 0x00000000]
Устанавливаем сертификаты
Удаляем все старые ГОСТовские сертификаты
Если ранее были попытки запустить КЭП под macOS, то необходимо почистить все ранее установленные сертификаты. Данные команды в terminal удалят только сертификаты КриптоПро и не затронут обычные сертификаты из Keychain в macOS.
sudo /opt/cprocsp/bin/certmgr -delete -all -store mrootsudo /opt/cprocsp/bin/certmgr -delete -all -store uroot/opt/cprocsp/bin/certmgr -delete -allВ ответе каждой команды должно быть:
No certificate matching the criteria
или
Deleting complete
Устанавливаем корневые сертификаты
Корневые сертификаты являются общими для всех КЭП, выданных любым удостоверяющим центром. Скачиваем со страницы загрузок УФО Минкомсвязи:
- https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=4BC6DC14D97010C41A26E058AD851F81C842415A
- https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=8CAE88BBFD404A7A53630864F9033606E1DC45E2
- https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=0408435EB90E5C8796A160E69E4BFAC453435D1D
Устанавливаем командами в terminal:
sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/4BC6DC14D97010C41A26E058AD851F81C842415A.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/8CAE88BBFD404A7A53630864F9033606E1DC45E2.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/0408435EB90E5C8796A160E69E4BFAC453435D1D.cerКаждая команда должна возвращать:
Installing:
…
[ErrorCode: 0x00000000]
Скачиваем сертификаты удостоверяющего центра
Далее нужно установить сертификаты удостоверяющего центра, в котором вы выпускали КЭП. Обычно корневые сертификаты каждого УЦ находятся на его сайте в разделе загрузок.
Альтернативно, сертификаты любого УЦ можно скачать с сайта УФО Минкомсвязи. Для этого в форме поиска нужно найти УЦ по названию, перейти на страницу с сертификатами и скачать все действующие сертификаты – то есть те, у которых в поле ‘Действует’ вторая дата еще не наступила. Скачивать по ссылке из поля ‘Отпечаток’.
Скриншоты


На примере УЦ Корус-Консалтинг: нужно скачать 4 сертификата со страницы загрузок:
- https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=15EB064ABCB96C5AFCE22B9FEA52A1964637D101
- https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=B9F1D3F78971D48C34AA73786CDCD138477FEE3F
- https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=55EC48193B6716D38E80BD9D1D2D827BC8A07DE3
- https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=A0D19D700E2A5F1CAFCE82D3EFE49A0D882559DF
Скачанные сертификаты УЦ устанавливаем командами из terminal:
sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/B9F1D3F78971D48C34AA73786CDCD138477FEE3F.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/A0D19D700E2A5F1CAFCE82D3EFE49A0D882559DF.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/55EC48193B6716D38E80BD9D1D2D827BC8A07DE3.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/15EB064ABCB96C5AFCE22B9FEA52A1964637D101.cerгде после ~/Downloads/ идут имена скачанных файлов, для каждого УЦ они будут свои.
Каждая команда должна возвращать:
Installing:
…
[ErrorCode: 0x00000000]
Устанавливаем сертификат с Рутокен
Команда в terminal:
/opt/cprocsp/bin/csptestf -absorb -certsКоманда должна вернуть:
OK.
[ErrorCode: 0x00000000]
Конфигурируем CryptoPro для работы ссертификатами ГОСТ Р 34. 10-2012
Для корректной работы на nalog.ru с сертификатами, выдаваемыми с 2019 года, инструкция на сайте CryptoPro рекомендует:
Команды в terminal:
sudo /opt/cprocsp/sbin/cpconfig -ini '\cryptography\OID\1.2.643.7.1.1.1.1!3' -add string 'Name' 'GOST R 34.10-2012 256 bit'sudo /opt/cprocsp/sbin/cpconfig -ini '\cryptography\OID\1.2.643.7.1.1.1.2!3' -add string 'Name' 'GOST R 34.10-2012 512 bit'Команды ничего не возвращают.
Устанавливаем специальный браузер Chromium-GOST
Для работы с гос.порталами потребуется специальная сборка браузера сhromium – Chromium-GOST скачать.
Исходный код проекта открыт, ссылка на репозиторий на GitHub приводится на сайте КриптоПро. По опыту, другие браузеры CryptoFox и Яндекс.Браузер для работы с гос.порталами под macOS не годятся.
Скачиваем, устанавливаем копированием или drag&drop в каталог Applications. После установки принудительно закрываем Chromium-Gost командой из terminal и пока не открываем (работаем из Safari):
killall Chromium-GostУстанавливаем расширения для браузера
1 КриптоПро ЭЦП Browser plug-in
Со страницы загрузок на сайте КриптоПро скачиваем и устанавливаем КриптоПро ЭЦП Browser plug-in версия 2.0 для пользователей – скачать.
Плагин для Госуслуг
Со страницы загрузок на портале Госуслуг скачиваем и устанавливаем Плагин для работы с порталом государственных услуг (версия для macOS) – скачать.
Настраиваем плагин для Госуслуг
Скачиваем корректный конфигурационный файл для расширения Госуслуг для поддержки macOS и новых ЭЦП в стандарте ГОСТ2012 – скачать.
Выполняем команды в terminal:
sudo rm /Library/Internet\ Plug-Ins/IFCPlugin.plugin/Contents/ifc.cfgsudo cp ~/Downloads/ifc.cfg /Library/Internet\ Plug-Ins/IFCPlugin.plugin/Contents
sudo cp /Library/Google/Chrome/NativeMessagingHosts/ru.rtlabs.ifcplugin.json /Library/Application\ Support/Chromium/NativeMessagingHostsАктивируем расширения
Запускаем браузер Chromium-Gost и в адресной строке набираем:
chrome://extensions/Включаем оба установленных расширения:
- CryptoPro Extension for CAdES Browser Plug-in
- Расширение для плагина Госуслуг
Скриншот

Настраиваем расширение КриптоПро ЭЦП Browser plug-in
В адресной строке Chromium-Gost набираем:
/etc/opt/cprocsp/trusted_sites.htmlНа появившейся странице в список доверенных узлов по-очереди добавляем сайты:
https://*.cryptopro.ru
https://*.nalog.ru
https://*.gosuslugi.ruЖмем “Сохранить”. Должна появиться зеленая плашка:
Список доверенных узлов успешно сохранен.
Скриншот

Проверяем что все работает
Заходим на тестовую страницу КриптоПро
В адресной строке Chromium-Gost набираем:
https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.htmlДолжно выводиться “Плагин загружен”, а в списке ниже присутствовать ваш сертификат.
Выбираем сертификат из списка и жмем “Подписать”. Будет запрошен PIN-код сертификата. В итоге должно отобразиться
Подпись сформирована успешно
Скриншот

Заходим в Личный Кабинет на nalog
По ссылкам с сайта nalog.ru зайти может не получиться, т.к. не будут пройдены проверки. Заходить нужно по прямым ссылкам:
- Личный кабинет ИП: https://lkipgost.nalog.ru/lk
- Личный кабинет ЮЛ: https://lkul.nalog.ru
Скриншот

Заходим на Госуслуги
При авторизации выбираем “Вход с помощью электронной подписи”. В появившемся списке “Выбор сертификата ключа проверки электронной подписи” будут отображены все сертификаты, включая корневые и УЦ, нужно выбрать ваш с usb-токена и ввести PIN.
Скриншот


Что делать, если перестало работать
Переподключаем usb-токен и проверяем что он виден с помощью команды в terminal:
sudo /opt/cprocsp/bin/csptest -card -enumОчищаем кеш браузера за все время, для чего в адресной строке Chromium-Gost набираем:
chrome://settings/clearBrowserDataПереустанавливаем сертификат КЭП с помощью команды в terminal:
/opt/cprocsp/bin/csptestf -absorb -certsЕсли команды Cryptopro не отрабатывают (csptest и csptestf превратились в corrupted) – нужно переустановить Cryptopro.
Дополнительные сервисы стенда
Доступ к IPv6 по HTTPS
При необходимости, для доступа к тестам IPv6 можно использовать шлюзы инкапсуляции IPv6 по протоколу IP-HTTPS, которые настроены на каждом узле, так как шлюзы настроены без запроса клиентского сертификата. Таким образом, получение сертификата тестового УЦ является не обязательным.
Не рекомендуется использование “динамических” адресов и NAT в этом тесте, в виду сложности настройки.
Доступ по протоколу SSTP (MS SSL-VPN)
При необходимости, для создания тестовых нагрузок можно использовать подключение к VPN по протоколу SSTP.
Методы аутентификации при доступе по SSTP идентичны методам аутентификации при доступе по L2TP/IPsec.

1 пользователь поблагодарил Андрей Русев за этот пост.




