криптопро csp test

криптопро csp test Электронная цифровая подпись

Обновлено 11.09.2018

Добрый день! Уважаемые читатели и гости крупнейшего IT блога в России pyatilistnik.org. В прошлый раз мы разбирали ситуацию, что утилита КриптоПРО не видела токен Jacarta, согласитесь, что при решении этой проблемы было бы здорово иметь тестовый ключ с сертификатом, и параллельно ваш коллега мог бы тоже траблшутить. Еще тестовый сертификат CryptoPRO может быть полезен, при процедуре переноса контейнера КриптоПРО из реестра в случае с не экспортируемым закрытым ключом. Сегодня я вас научу генерировать нормальный, тестовый сертификат шифрования или подписи для разных задачу.

Для целей разработки и тестирования в ООО “КРИПТО-ПРО” развернут тестовый сервис КриптоПро SVS 2.0.

Данный сервис предоставляет возможность проверки статуса квалифицированных сертификатов, а также сертификатов, изданных Тестовым УЦ КРИПТО-ПРО. Сертификаты других УЦ не пройдут проверку на сервисе.

Подтверждение подлинности электронной подписи возможно для документов, подписанных с использованием сертификатов от тех же УЦ.

Для автоматического обращения к сервису по протоколу SOAP необходимо использовать адрес https://dss.cryptopro.ru/verify/service.svc. Руководство разработчика с описанием программного интерфейса доступно на странице загрузки.

  • Страница для печатиСтраница для печати
Содержание
  1. Оглавление
  2. Введение
  3. Для разработчиков
  4. Тестовые УЦ с алгоритмом ключа ГОСТ Р 34.10-2012:
  5. Тестовые УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 (устаревший алгоритм, рекомендуем использовать тестовые УЦ на базе ГОСТ Р 34.10-2012):
  6. Не следует доверять сертификатам, которые выпущены тестовым центром, т. он выдает сертификаты любым пользователям, не выполняя никаких проверок!
  7. Смена PIN-кода контейнера
  8. Выясняем название контейнера КЭП
  9. Смена PIN командой из terminal
  10. Подпись файлов в macOS
  11. Выясняем хэш сертификата КЭП
  12. Подпись файла командой из terminal
  13. Установка Apple Automator Script
  14. Проверить подпись на документе
  15. Типовой сценарий тестирования
  16. Подготовка к тестирования
  17. Проверка связи со стендом
  18. Тест инициатора транспортного режима
  19. Тест ответчика транспортного режима
  20. Тест инициатора режима L2TP/IPsec
  21. Подготовка к тестам туннельного режима
  22. Тест инициатора туннельного режима
  23. Тест ответчика туннельного режима
  24. Что нужно для работы с КЭП под macOS
  25. Конфигурация стенда
  26. Адреса узлов
  27. Параметры методов аутентификации
  28. Узлы тестирования обязательных параметров IPsec
  29. Узлы с альтернативными параметрами IPsec
  30. Политики IPsec узлов транспортного режима
  31. Политики IPsec узлов туннельного режима
  32. Генерация тестового сертификата
  33. Загрузка программного обеспечения
  34. Установка КриптоПро ЭЦП Browser plug-in.
  35. Устанавливаем и настраиваем КЭП под macOS
  36. Устанавливаем КриптоПро CSP
  37. Устанавливаем драйверы Рутокен
  38. Устанавливаем сертификаты
  39. Удаляем все старые ГОСТовские сертификаты
  40. Устанавливаем корневые сертификаты
  41. Скачиваем сертификаты удостоверяющего центра
  42. Устанавливаем сертификат с Рутокен
  43. Конфигурируем CryptoPro для работы ссертификатами ГОСТ Р 34. 10-2012
  44. Устанавливаем специальный браузер Chromium-GOST
  45. Устанавливаем расширения для браузера
  46. 1 КриптоПро ЭЦП Browser plug-in
  47. Плагин для Госуслуг
  48. Настраиваем плагин для Госуслуг
  49. Активируем расширения
  50. Настраиваем расширение КриптоПро ЭЦП Browser plug-in
  51. Проверяем что все работает
  52. Заходим на тестовую страницу КриптоПро
  53. Заходим в Личный Кабинет на nalog
  54. Заходим на Госуслуги
  55. Что делать, если перестало работать
  56. Дополнительные сервисы стенда
  57. Доступ к IPv6 по HTTPS
  58. Доступ по протоколу SSTP (MS SSL-VPN)

Оглавление

  • Конфигурация стенда
  • Типовой сценарий тестирования
  • Дополнительные сервисы стенда
  • Ссылки

Введение

Стенд предназначен для проверки совместимости реализаций IPsec использующих российские алгоритмы (см. “Совместимость российских реализаций IPsec”) и самостоятельного тестирования возможности встречной работы их реализаций с реализацией СКЗИ “КриптоПро CSP”/”КриптоПро IPsec”.

Возникающие технические вопросы в части реализации IPsec можно задавать в соответствующем разделе нашего форума (см. “Форум КРИПТО-ПРО » Средства криптографической защиты информации » КриптоПро IPsec”).

При возникновении организационных вопросов или появлении необходимости изменения конфигурации стенда информацию об этом можно направить письмом на <mailto:vpngost@cryptopro.ru>.

Внимание: Подключаться к стенду рекомендуется только со стендов соответствующим образом отделённых от офисных и прочих рабочих сетей адекватными мерами защиты. ООО “КРИПТО-ПРО” не несёт ответственности за содержание передаваемой информации.

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

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

  1. Запустите программу КриптоПро CSP.

  2. После запуска программы перейдите на вкладку «Сервис».

  3. Нажмите на кнопку «Протестировать».

  4. Нажмите на кнопку «Обзор».

криптопро csp test

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

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

криптопро csp test

  1. Нажмите на кнопку «ОК».

  2. В окне «Сертификаты в контейнере закрытого ключа» нажмите на кнопку «Далее».

криптопро csp test

  1. Поздравляем, тестирование прошло успешно! В завершении появится окно с описанием ошибок, которые были обнаружены.

Чтобы закрыть окно, нажмите на кнопку «Готово».

криптопро csp test

Для разработчиков

Для удобства разработчиков в ООО “КРИПТО-ПРО” развернуты несколько тестовых удостоверяющих центров:

    Тестовые УЦ с алгоритмом ключа ГОСТ Р 34.10-2012:

  1. тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2012 на основе веб-интерфейса КриптоПро УЦ версии 2.0.
  2. тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2012 на основе веб-интерфейса службы сертификации Microsoft (из состава Windows Server 2012 R2).Рекомендуется для клиентов, использующих Windows и Internet Explorer.
  3. Тестовые УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 (устаревший алгоритм, рекомендуем использовать тестовые УЦ на базе ГОСТ Р 34.10-2012):

  4. тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 на основе веб-интерфейса КриптоПро УЦ версии 1.5. Рекомендуется для клиентов, использующих Windows и Internet Explorer.
  5. тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 на основе веб-интерфейса КриптоПро УЦ версии 2.0.
  6. тестовый УЦ с алгоритмом ключа ГОСТ Р 34.10-2001 на основе веб-интерфейса службы сертификации Microsoft (из состава Windows Server 2012 R2). Рекомендуется для клиентов, использующих другие ОС или другие браузеры. Для работы с этим УЦ требуется КриптоПро ЭЦП Browser plug-in.

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

Используйте эти сертификаты только в целях тестирования.

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

  • Страница для печатиСтраница для печати

Тестовый 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-сервер только в тестовых целях. Не следует доверять штампам времени, выданным этим сервером, также как и сертификатам тестового Центра сертификации.

  • Страница для печатиСтраница для печати

криптопро csp test

FYI. Статья написана в далеком 2019 году, но актуальна и на ноябрь 2021.

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

Благодаря сертификату КЭП на USB-токене можно удаленно заключить договор с контрагентом или дистанционным сотрудником, направить документы в суд; зарегистрировать онлайн-кассу, урегулировать задолженность по налогам и подать декларацию в личном кабинете на nalog.ru; узнать о задолженностях и предстоящих проверках на Госуслугах.

Представленный ниже мануал поможет работать с КЭП под macOS – без изучения форумов КриптоПро и установки виртуальной машины с Windows.

Содержание

Что нужно для работы с КЭП под macOS:

Устанавливаем и настраиваем КЭП под macOS

  1. Устанавливаем КриптоПро CSP
  2. Устанавливаем драйверы Рутокен
  3. Устанавливаем сертификаты
    3.1. Удаляем все старые ГОСТовские сертификаты
    3.2. Устанавливаем корневые сертификаты
    3.3. Скачиваем сертификаты удостоверяющего центра
    3.4. Устанавливаем сертификат с Рутокен
  4. Устанавливаем специальный браузер Chromium-GOST
  5. Устанавливаем расширения для браузера
    5.1 КриптоПро ЭЦП Browser plug-in
    5.2. Плагин для Госуслуг
    5.3. Настраиваем плагин для Госуслуг
    5.4. Активируем расширения
    5.5. Настраиваем расширение КриптоПро ЭЦП Browser plug-in
  6. Проверяем что все работает
    6.1. Заходим на тестовую страницу КриптоПро
    6.2. Заходим в Личный Кабинет на nalog.ru
    6.3. Заходим на Госуслуги
  7. Что делать если перестало работать

Смена PIN-кода контейнера

  1. Выясняем название контейнера КЭП
  2. Смена PIN командой из terminal

Подпись файлов в macOS

  1. Выясняем хэш сертификата КЭП
  2. Подпись файла командой из terminal
  3. Установка Apple Automator Script

Проверить подпись на документе

Вся информация ниже получена из авторитетных источников (КриптоПро #1, #2 и #3, Рутокен, Корус-Консалтинг, УФО Минкомсвязи), а скачивать ПО предлагается с доверенных сайтов. Автор является независимым консультантом и не связан ни с одной из упомянутых компаний. Следуя данной инструкции, всю ответственность за любые действия и последствия вы принимаете на себя.


Offline

hopyres

Оставлено
:

18 января 2022 г. 21:14:17(UTC)

Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов.
На команду /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32 выдает

Цитата:

CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 38786787
GetProvParam(…PP_ENUMREADERS…) until it returns false
Flags: 0x20
Len Byte NickName/Name/Media
___________________________________
Cycle exit when getting size. 0 items found…/../../../CSPbuild/CSP/samples/csptest/enum.c:571:Error during CryptGetProvParam().

Error 0x8009000a: Указан неправильный тип.
Total: SYS: 0,000 sec USR: 0,030 sec UTC: 0,300 sec
[ErrorCode: 0x8009000a]

Что ему нужно? Brick wall

Отредактировано пользователем 20 января 2022 г. 10:28:27(UTC)
| Причина: Не указана


Offline

Андрей *

Оставлено
:

18 января 2022 г. 22:23:35(UTC)

Автор: hopyres Перейти к цитате

Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов.
На команду /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32 выдает

Цитата:

CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 38786787

точно 12330?


Offline

nickm

Оставлено
:

19 января 2022 г. 6:09:49(UTC)

Автор: hopyres Перейти к цитате

Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов.

Что ему нужно? Brick wall

Похоже на то, что “кривой” config64.ini.


Offline

Санчир Момолдаев

Оставлено
:

19 января 2022 г. 10:43:40(UTC)

1) скзи – товар двойного назначения. тиражирование скзи – сертифицированное фсб действие. как считаете пойдет ли aur на сертифицикацию фсб?
поэтому в пакете https://aur.archlinux.or…ckages/cryptopro-csp-k1/ надо отдельно скачивать дистрибутив.
напомню что мы к этому мейнтейнеру не имеем никакого отношения.

2) не все скрипты перенесены в скрипты пакета из аура.
поэтому совет: удалаете пакет из аура, затем ставите снова.

Код:

❯ /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32
CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.12330 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 27312179
GetProvParam(...PP_ENUMREADERS...) until it returns false
Flags: 0x20
  Len    Byte  NickName/Name/Media
___________________________________
 0x012a  0x00  HDIMAGE
               HDD key storage
               NO_UNIQUE
 0x012a  0x02  CLOUD
               Cloud Token
               NO_MEDIA
Cycle exit when getting data. 2 items found. Level completed without problems.
Total: SYS: 0,000 sec USR: 0,030 sec UTC: 0,040 sec
[ErrorCode: 0x00000000]
❯ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux-logo

Отредактировано пользователем 19 января 2022 г. 10:44:59(UTC)
| Причина: Не указана


Offline

hopyres

Оставлено
:

20 января 2022 г. 8:22:57(UTC)

Автор: Андрей * Перейти к цитате

Автор: hopyres Перейти к цитате

Поставил КриптоПРО из AUR релиз 5.0.12330 с рукоприкладством, потому как другие пакеты скачиваются и ставятся без вопросов.
На команду /opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS -flags 32 выдает

Цитата:

CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.11455 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 38786787

точно 12330?

Само приложение пишет 5.0.11455, а в AUR файле PKGBUILD указана версия 12330


Offline

Санчир Момолдаев

Оставлено
:

20 января 2022 г. 8:35:36(UTC)

скачайте дистрибутив 5.0.12330 подложите его к pkgbuild и переустановите пакет


Offline

hopyres

Оставлено
:

20 января 2022 г. 9:51:24(UTC)

Автор: Санчир Момолдаев Перейти к цитате

скачайте дистрибутив 5.0.12330 подложите его к pkgbuild и переустановите пакет

Подкинул ему дистрибутив с официального сайта и всё заработало. Anxious

Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
csptest в составе Крипропро 4 что проверяет при проверке ЭП?


Offline

Nik_Pavel

Оставлено
:

16 марта 2022 г. 10:30:13(UTC)

Добрый день. Подскажите, если вызываю csptest для тестирования валидности подписания бинарного (в данном случае PDF) файла отсоединенной гостовской УКЭП на документе, командой
csptest -sfsign -verify -in c:\tmp\csp\test1.pdf -detached -signature c:\tmp\csp\test1.pdf.sgn

то что в таком случае будет проверено, когда утилита выдаёт итоговое положительное сообщение?
Detached Signature was verified OK
Total: SYS: 0,000 sec USR: 0,047 sec UTC: 0,063 sec
[ErrorCode: 0x00000000]

Проверяться будет соответствие файла и сигнатуры ЭП, или и валидность отметки даты-времени самой ЭП в составе SGN-файла тоже?

И не совсем ясно из стандартного хелпа к утилите – в процессе проверки выдаётся так же сообщение, не влияющее на итог проверки ЭП:
An error occurred in running the program.
signtsf.c:736:No user cert specified. Cryptocontext will be opened automaticaly.
Error number 0x2 (2).
Не удается найти указанный файл.

Как правильно в командной строке задавить вывод этого сообщения – чтобы только итоговое выводилось?


Offline

Grey

Оставлено
:

16 марта 2022 г. 10:58:21(UTC)

Автор: Nik_Pavel Перейти к цитате

Добрый день. Подскажите, если вызываю csptest для тестирования валидности подписания бинарного (в данном случае PDF) файла отсоединенной гостовской УКЭП на документе, командой
csptest -sfsign -verify -in c:\tmp\csp\test1.pdf -detached -signature c:\tmp\csp\test1.pdf.sgn

то что в таком случае будет проверено, когда утилита выдаёт итоговое положительное сообщение?
Detached Signature was verified OK
Total: SYS: 0,000 sec USR: 0,047 sec UTC: 0,063 sec
[ErrorCode: 0x00000000]

Проверяться будет соответствие файла и сигнатуры ЭП, или и валидность отметки даты-времени самой ЭП в составе SGN-файла тоже?

И не совсем ясно из стандартного хелпа к утилите – в процессе проверки выдаётся так же сообщение, не влияющее на итог проверки ЭП:
An error occurred in running the program.
signtsf.c:736:No user cert specified. Cryptocontext will be opened automaticaly.
Error number 0x2 (2).
Не удается найти указанный файл.

Как правильно в командной строке задавить вывод этого сообщения – чтобы только итоговое выводилось?

Добрый день.
csptest – тестовая утилита, использование которой в прикладных задачах не рекомендуется.
Правильный способ решения вашей задачи: cryptcp -verify -detached

С уважением,
Сергей Агафьин,
Начальник отдела разработки ФКН.
Техническую поддержку оказываем здесь.
Наша база знаний.


Offline

Nik_Pavel

Оставлено
:

16 марта 2022 г. 11:56:59(UTC)

В курсе, что утилита для тестирования (собственно тестированием тестового пакета документов и сигнатур ЭП и занимаюсь). Просто хотелось бы лучше понимать, что конкретно проверяется, а что не проверяется опцией -sfsign -verify, и как вообще это работает.

Отредактировано пользователем 16 марта 2022 г. 11:58:12(UTC)
| Причина: Не указана


Offline

Nik_Pavel

Оставлено
:

16 марта 2022 г. 12:16:06(UTC)

и по поводу вопроса про “signtsf.c:736:No user cert specified. Cryptocontext will be opened automaticaly.”
тут вот немного прояснил
https://www.cryptopro.ru….aspx?g=posts&t=6291

но тогда непонятен момент – в SGN-файле есть сертификат.
Я его вижу через консоль, но почему тогда csptest его не видит и требует указать както явно в командной строке? Она же какраз валидность ЭП по этому сертификату проверяет, и выдаёт успешное сообщение “Detached Signature was verified OK”.
Вот этот момент хотелось бы лучше понять в использовании тестовой утилиты.

certmgr.exe -list -file c:\TMP\csp\test1.pdf.sgn
=============================================================================
1——-
Issuer : E=ca@****.ru, ОГРН=11********, ИНН=0066*******, C=RU, S=66 Свердловская область, L=Екатеринбург, STREET=”улица Ульяновская, д. ***, офис ***”, O=”Общество с ограниченной ответственностью “*****”, CN=”Общество с ограниченной ответственностью “*****”
Subject : E=*******@****.ru, ИНН=66*******, СНИЛС=***********, G=Евгений, SN=Евгеньев, CN=Евгеньев Евгений
Serial : 0x0319884D0046AECDA442E8633C91A84AE1
SHA1 Hash : 4e76ae229ced606e9e1df3e8059abb242d536db5
SubjKeyID : a85b079333bd19694fbe965a759a56ee54dc29da
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 256 бит (512 bits)
Not valid before : 24/02/2022 04:37:17 UTC
Not valid after : 24/02/2023 04:38:38 UTC
PrivateKey Link : No
OCSP URL : http://pki.sertum-pro.ru/ocspq2012/ocsp.srf
OCSP URL : http://pki2.sertum-pro.ru/ocspq2012/ocsp.srf
CA cert URL : http://ca.sertum-pro.ru/…es/sertum-pro-q-2021.crt
CA cert URL : http://ca.sertum.ru/cert…es/sertum-pro-q-2021.crt
CDP : http://ca.sertum-pro.ru/cdp/sertum-pro-q-2021.crl
CDP : http://ca.sertum.ru/cdp/sertum-pro-q-2021.crl
Extended Key Usage : 1.3.6.1.5.5.7.3.2
1.2.643.2.2.34.6
1.3.6.1.5.5.7.3.4
1.2.643.3.185.1
1.2.643.3.5.10.2.12
1.2.643.3.7.8.1
=============================================================================

[ErrorCode: 0x00000000]


Offline

Grey

Оставлено
:

16 марта 2022 г. 14:08:34(UTC)

Автор: Nik_Pavel Перейти к цитате

В курсе, что утилита для тестирования (собственно тестированием тестового пакета документов и сигнатур ЭП и занимаюсь). Просто хотелось бы лучше понимать, что конкретно проверяется, а что не проверяется опцией -sfsign -verify, и как вообще это работает.

А вам зачем?
Если ваша задача заключается в проверке подписи, то нужно пользоваться cryptcp.

С уважением,
Сергей Агафьин,
Начальник отдела разработки ФКН.
Техническую поддержку оказываем здесь.
Наша база знаний.


Offline

Nik_Pavel

Оставлено
:

16 марта 2022 г. 14:24:26(UTC)

Всё просто – по планграфику работ поставка соответствующего ПО для продуктивной работы несколько отстаёт. А тестировать (пулять тестовые документы) стали уже сейчас. Поэтому довольствуемся тем, что есть в стандартной уже ранее купленной коробке Криптопро 4.

И хотелось бы на том что есть понять в т.ч., что там в SGN-файл вторая сторона натолкала (и натолкала ли всё, что нужно, или по минимуму – т.к. доверия контрагенту полного нет.

В частности хотелось бы понять, что можно извлечь из тестового SGN-файла штатными утилитами (csptest, cpverify, certmgr).
Не ясен например момент, какая версия cades, должны ли быть в SGN-файле ещё какието сертификаты (удостоверяющих центров, сервера метки времени например), и проверяется ли в т.ч. валидность даты-времени подписания ЭП.


Offline

Nik_Pavel

Оставлено
:

21 марта 2022 г. 12:12:57(UTC)

И ещё вопрос: чем технически отличается опция -sfsign -verify от -lowsign -verify ?


Offline

Вадим137

Оставлено
:

9 марта 2022 г. 10:10:03(UTC)

Добрый день! Возникла необходимость подписать около 500 файлов c созданием каждому файлу отдельного файла .sig. Поштучно это будет адская работа….Подскажите есть ли возможность сделать цифровую подпись сразу всем файлам в папке?

Отредактировано пользователем 9 марта 2022 г. 11:20:56(UTC)
| Причина: Не указана


Offline

nickm

Оставлено
:

9 марта 2022 г. 10:25:29(UTC)

Написать командный сценарий с использованием “cryptcp”?

А Вы как сами это видите?
Возможно есть какие-либо предположения?


Offline

Андрей Русев

Оставлено
:

9 марта 2022 г. 10:41:21(UTC)

Здравствуйте.
Для этого предназначен пакетный режим работы cryptcp: -signf. Начиная со сборки 2021-07-18 КриптоПро CSP 5.0.12222 Lilith к нему добавлен ключ -threads для распараллеливания работы по ядрам процессора.

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


Offline

Вадим137

Оставлено
:

9 марта 2022 г. 11:33:29(UTC)

Можно попросить Вас рассказать немного поподробнее об использовании этого пакетного режима?


Offline

Андрей Русев

Оставлено
:

9 марта 2022 г. 12:32:07(UTC)

Код:

rt-user@test-x64-astra212:~$ /opt/cprocsp/bin/amd64/cryptcp -signf -help
CryptCP 5.0 (Debug version) (c) "КРИПТО-ПРО", 2002-2021.
Утилита командной строки для подписи и шифрования файлов.
Параметры: -signf -help
-signf           создать подписи файлов в 'исходный_файл.sgn'
Формат команды:
cryptcp -signf [-attached|-detached] [-dir <папка>] <КПС1> <маска файлов>
[-cert|-nocert] [-addchain] [-crl] [-der] [-strict] [-nostampcert]
[-stampchaincheck] [-xlongtype1|-cadest|-cadesbes] [-cadestsa <URL>]
[-hashalg <OID>] [-pin <пароль>|-askpin] [-display] [-fext <расширение>]
[-keepbadfiles] [-threads <число>]

-attached        создать присоединённые подписи
-detached        создать отсоединённые подписи в отдельных файлах
-dir <папка>     папка для создания сообщений (по умолчанию текущая)
<КПС1>           КПС автора подписей
<маска файлов>   маска для отбора исходных файлов
-cert            добавить в сообщения сертификат отправителя
-nocert          не добавлять в сообщения сертификат отправителя (по умолчанию)
-addchain        добавить полную цепочку сертификата в подпись
-crl             добавить в сообщения список отозванных сертификатов
-der             использовать формат DER вместо BASE64
-strict          использовать однозначное кодирование DER вместо BER
-nostampcert     не требовать включения в штамп сертификата службы штампов
                 времени
-stampchaincheck проверить цепочку сертификата в штампе времени
-xlongtype1      создать подписи CAdES-X Long Type 1
-cadest          создать подписи CAdES-T
-cadesbes        создать подписи CAdES-BES
-cadestsa        служба штампов времени для CAdES-X Long Type 1, CAdES-T
<URL>            адрес службы штампов в виде "http://..."
-hashalg         задать алгоритм хэширования
<OID>            OID алгоритма хэширования: 1.2.643.2.2.9 для ГОСТ Р 34.11-94
                 1.2.643.7.1.1.2.2 для ГОСТ Р 34.11-2012 256 bit
                 1.2.643.7.1.1.2.3 для ГОСТ Р 34.11-2012 512 bit
-pin <пароль>    задать пароль ключевого контейнера
-askpin          запросить пароль ключевого контейнера из консоли
-display         вывести информацию на экран средства доверенного отображения
                 подписываемых данных
-fext            задать расширение для сообщений
<расширение>     по умолчанию .sig для attached и .sgn для detached
-keepbadfiles    не удалять сообщения при ошибке
-threads <число> число параллельно работающих потоков (по умолчанию 1)

Примеры:
cryptcp -signf -attached -dir ./sign -dn "CN=Test" *.txt -cert
-cadest -cadestsa http://testca.cryptopro.ru/tsp/tsp.srf
Создать присоединенные подписи CAdES-T всех файлов с расширением .txt
из текущей папки, используя сертификат с CN=Test из хранилища Личное (My)
текущего пользователя, добавить в подписи сертификат отправителя;
сохранить подписи в папке sign

cryptcp -signf -detached -dir ./sign -dn "CN=Test" *.txt -fext .p7s
Создать отсоединенные подписи всех файлов с расширением .txt из текущей папки,
используя сертификат с CN=Test из хранилища Личное (My) текущего пользователя;
сохранить подписи с расширением .p7s в папке sign

Критерий поиска сертификатов (КПС/КПС1):
[-dn <RDN>]n раз [-issuer] [-m[<имя>]|u[<имя>]|-f <файл>]k раз [-all|-1|-q<N>]
[-thumbprint <отпечаток>] [-nochain|-errchain [-norev|-nonet]]

-dn              указать строки для поиска в RDN; при вводе нескольких -dn
                 будет найдено большее количество сертификатов
<RDN>            список строк для поиска сертификатов (через запятую); будут
                 найдены сертификаты, в RDN субъекта/издателя которых
                 присутствуют все эти строки
-issuer          использовать RDN издателя для поиска
-m               осуществить поиск в хранилищах компьютера (LOCAL_MACHINE)
-u               осуществить поиск в хранилищах пользователя (CURRENT_USER)
<имя>            название хранилища (по умолчанию "My" для создания подписи
                 или расшифровки и "My+Addressbook" для остальных случаев)
-f               использовать сообщение или файл сертификата
<файл>           имя файла
-all             использовать все найденные сертификаты (по умолчанию для КПС)
-1               должен быть найден только один сертификат, иначе вернуть
                 ошибку (по умолчанию для КПС1)
-q<N>            если найдено менее N сертификатов, вывести запрос для выбора
                 нужного (по умолчанию N=10)
-thumbprint      осуществить поиск по отпечатку сертификата
<отпечаток>      отпечаток сертификата
-nochain         не проверять цепочки найденных сертификатов
-errchain        завершать выполнение с ошибкой, если хотя бы один сертификат
                 не прошел проверку
-norev           не проверять сертификаты в цепочке на предмет отозванности
-nonet           использовать только кэшированные URL при построении цепочки

[ErrorCode: 0x00000000]

Ещё пример:

Код:

rt-user@test-x64-astra212:~$ /opt/cprocsp/bin/amd64/cryptcp -signf -errchain -dn 'E=mail512b@cryptopro.ru, CN=mail512b' -detached /usr/rtests/data/test.dat? -dir /usr/rtests/data/signs/ -cert -threads 2
CryptCP 5.0 (c) "Crypto-Pro", 2002-2021.
Command prompt Utility for file signature and encryption.

The following certificate will be used:
RDN:mail512b@cryptopro.ru, mail512b
Valid from 08.03.2022 19:22:46 to 09.03.2032 02:02:46

Number of threads: 2

Folder '/usr/rtests/data/':
/usr/rtests/data/test.dat0
/usr/rtests/data/test.dat2
Signing the data...
Signing the data...
Signed message is created.
/usr/rtests/data/test.dat1
Signing the data...
Signed message is created.
Signed message is created.
/usr/rtests/data/test.dat3
Signing the data...
Signed message is created.
[ErrorCode: 0x00000000]

Отредактировано пользователем 9 марта 2022 г. 12:34:32(UTC)
| Причина: Не указана

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

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-кода. Готово.

Скриншот

криптопро csp test

Подпись файлов в 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. Для этого скачиваем архив – скачать.

  1. Распаковываем архив ‘Sign with CryptoPro.zip’
  2. Запускаем Automator
  3. Находим и открываем распакованный файл ‘Sign with CryptoPro.workflow’
  4. В блоке Run Shell Script меняем текст ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ на значение параметра SHA1 Hash сертификата КЭП, полученное выше.
  5. Сохраняем скрипт: ⌘Command + S
  6. Запускаем файл ‘Sign with CryptoPro.workflow’ и подтверждаем установку.
  7. В Finder вызываем контекстное меню любого файла, и в разделе Quick Actions и/или Services выбрать пункт Sign with CryptoPro
  8. В появившемся диалоге КриптоПро ввести PIN-код пользователя от КЭП
  9. В текущем каталоге появится файл с расширением *.sgn – отсоединенная подпись в формате CMS с кодировкой DER.

Скриншоты

Окно Apple Automator:

System Preferences:
криптопро csp test

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

криптопро csp test

Проверить подпись на документе

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

Скриншоты

криптопро csp test

криптопро csp test

Типовой сценарий тестирования

Подготовка к тестирования

Узлы стенда поддерживают обслуживание инициаторов использующих 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

  1. КЭП на USB-токене Рутокен Lite или Рутокен ЭЦП
  2. криптоконтейнер в формате КриптоПро
  3. со встроенной лицензией на КриптоПро CSP
  4. открытый сертификат должен храниться в контейнере закрытого ключа

Поддержка 
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).

Схема узла vpngost.cryptopro.ru

Рисунок 1. Схема узла vpngost.cryptopro.ru

Адреса узлов

vpngost.cryptopro.ru193.37.157.89
vpngost-v6.cryptopro.ru2002:c125:9d59::c125:9d59
10.89.90.2
fe00:0a59:5a00::2
vpngost-tun.cryptopro.ru193.37.157.90
vpngost-v6-tun.cryptopro.ru2002:c125:9d5a::c125:9d5a
10.89.90.1
fe00:0a59:5a00::1
vpngost-a.cryptopro.ru193.37.157.91
vpngost-v6-a.cryptopro.ru2002:c125:9d5b::c125:9d5b
10.89.90.4
fe00:0a59:5a00::4
vpngost-a-tun.cryptopro.ru193.37.157.92
vpngost-v6-a-tun.cryptopro.ru2002: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

Принимаются, как зашифрованные, так и открытые входящие пакеты;
Исходящие пакеты передаются зашифрованными только, если установлена ESP SA, а если нет, то они передаются в открытом виде;

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

Принимаются, как зашифрованные, так и открытые входящие пакеты;
Исходящие пакеты передаются зашифрованными только, если установлена ESP SA, а если нет, то они передаются в открытом виде;

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/

В самом низу у вас будет ссылка на пункт “Сформировать ключи и отправить запрос на сертификат”.

получить тестовый сертификат-01

Я вам советую этот сайт открывать в Internet Explore, меньше будет глюков. Как открыть Internet Explore в Windows 10, читайте по ссылке слева

Если же вы хотите использовать другой браузер, то установите КриптоПро ЭЦП Browser plug-in.

Загрузка программного обеспечения

Для проведения тестирования могут потребоваться:

  • Netcat;
  • КриптоПро CSP 3.6R3;
  • КриптоПро IPsec;
  • Утилита командной строки cryptcp;

Все перечисленные продукты “Крипто-Про” имеют демонстрационную лицензию на 3 месяца и могут быть загружены со страницы загрузок. Дополнительные лицензии для проведения тестирования могут быть выданы на основании аргументированного запроса.

Установка КриптоПро ЭЦП Browser plug-in.

Сама инсталляция плагина, очень простая, скачиваем его и запускаем.

Установка КриптоПро ЭЦП Browser plug-in

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

Установка КриптоПро ЭЦП Browser plug-in-02

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

Установка КриптоПро ЭЦП Browser plug-in-03

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

Установка КриптоПро ЭЦП Browser plug-in-05

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

Установка КриптоПро ЭЦП Browser plug-in-06

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

Установка КриптоПро ЭЦП Browser plug-in-07

Не забудьте установить КриптоПРО CSP на компьютер, где будет генерироваться сертификат

Теперь у нас все готово. Нажимаем “Сформировать ключи и отправить запрос на сертификат”. Согласитесь с выполнением операции.

получить тестовый сертификат-02

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

  • Имя
  • Электронная почта
  • Организация
  • Подразделение
  • Город
  • Область
  • Страна

получить тестовый сертификат-03

Далее вам нужно указать тип требуемого сертификата. В двух словах, это область применения ЭЦП:

  • Сертификат проверки подлинности клиента (самый распространенный вариант, по сути для подтверждения, что вы это вы)
  • Сертификат защиты электронной почты
  • Сертификат подписи кода
  • Сертификат подписи штампа времени
  • Сертификат IPSec, для VPN тунелей.
  • Другие, для специальных OID

Я оставляю “Сертификат проверки подлинности клиента”.

получить тестовый сертификат-04

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

получить тестовый сертификат-05

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

получить тестовый сертификат-06

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

получить тестовый сертификат-07

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

получить тестовый сертификат-08

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

получить тестовый сертификат-09

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

получить тестовый сертификат-10

Если у вас еще не установленны корневые сертификаты данного центра сертификации, то вы получите вот такую ошибку:

Данный ЦС не является доверенным

Для ее устранения нажмите на ссылку “установите этот сертификат ЦС”

получить тестовый сертификат-11

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

получить тестовый сертификат-12

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

получить тестовый сертификат-13

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

получить тестовый сертификат-14

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

получить тестовый сертификат-15

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

получить тестовый сертификат-16

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

получить тестовый сертификат-17

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

получить тестовый сертификат-18

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

получить тестовый сертификат-19

Устанавливаем и настраиваем КЭП под 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 mroot

sudo /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.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/8CAE88BBFD404A7A53630864F9033606E1DC45E2.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/0408435EB90E5C8796A160E69E4BFAC453435D1D.cer

Каждая команда должна возвращать:

Installing:

[ErrorCode: 0x00000000]

Скачиваем сертификаты удостоверяющего центра

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

Альтернативно, сертификаты любого УЦ можно скачать с сайта УФО Минкомсвязи. Для этого в форме поиска нужно найти УЦ по названию, перейти на страницу с сертификатами и скачать все действующие сертификаты – то есть те, у которых в поле ‘Действует’ вторая дата еще не наступила. Скачивать по ссылке из поля ‘Отпечаток’.

Скриншоты

криптопро csp test

криптопро csp test

На примере УЦ Корус-Консалтинг: нужно скачать 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.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/A0D19D700E2A5F1CAFCE82D3EFE49A0D882559DF.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/55EC48193B6716D38E80BD9D1D2D827BC8A07DE3.cer

sudo /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.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.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&amp;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.cfg

sudo 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
  • Расширение для плагина Госуслуг

Скриншот

криптопро csp test

Настраиваем расширение КриптоПро ЭЦП Browser plug-in

В адресной строке Chromium-Gost набираем:

/etc/opt/cprocsp/trusted_sites.html

На появившейся странице в список доверенных узлов по-очереди добавляем сайты:

https://*.cryptopro.ru
https://*.nalog.ru
https://*.gosuslugi.ru

Жмем “Сохранить”. Должна появиться зеленая плашка:

Список доверенных узлов успешно сохранен.

Скриншот

криптопро csp test

Проверяем что все работает

Заходим на тестовую страницу КриптоПро

В адресной строке Chromium-Gost набираем:

https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html

Должно выводиться “Плагин загружен”, а в списке ниже присутствовать ваш сертификат.
Выбираем сертификат из списка и жмем “Подписать”. Будет запрошен PIN-код сертификата. В итоге должно отобразиться

Подпись сформирована успешно

Скриншот

криптопро csp test

Заходим в Личный Кабинет на nalog

По ссылкам с сайта nalog.ru зайти может не получиться, т.к. не будут пройдены проверки. Заходить нужно по прямым ссылкам:

  • Личный кабинет ИП: https://lkipgost.nalog.ru/lk
  • Личный кабинет ЮЛ: https://lkul.nalog.ru

Скриншот

криптопро csp test

Заходим на Госуслуги

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

Скриншот

криптопро csp test

криптопро csp test

Что делать, если перестало работать

  1. Переподключаем usb-токен и проверяем что он виден с помощью команды в terminal:

    sudo /opt/cprocsp/bin/csptest -card -enum

  2. Очищаем кеш браузера за все время, для чего в адресной строке Chromium-Gost набираем:

    
chrome://settings/clearBrowserData


  3. Переустанавливаем сертификат КЭП с помощью команды в terminal:

    /opt/cprocsp/bin/csptestf -absorb -certs

  4. Если команды Cryptopro не отрабатывают (csptest и csptestf превратились в corrupted) – нужно переустановить Cryptopro.

Дополнительные сервисы стенда

Доступ к IPv6 по HTTPS

При необходимости, для доступа к тестам IPv6 можно использовать шлюзы инкапсуляции IPv6 по протоколу IP-HTTPS, которые настроены на каждом узле, так как шлюзы настроены без запроса клиентского сертификата. Таким образом, получение сертификата тестового УЦ является не обязательным.

Не рекомендуется использование “динамических” адресов и NAT в этом тесте, в виду сложности настройки.

Доступ по протоколу SSTP (MS SSL-VPN)

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

Методы аутентификации при доступе по SSTP идентичны методам аутентификации при доступе по L2TP/IPsec.

Читайте также:  Правомерна ли передача электронной подписи третьим лицам? - Электронный Экспресс
Оцените статью
ЭЦП Эксперт
Добавить комментарий

Adblock
detector