Проверить цепочку сертификатов linux cryptopro

Содержание
  1. 1С и Linux
  2. пятница, 14 декабря 2018 г.
  3. Установка сертификатов используя КриптоПРО в Linux
  4. Работа с КриптоПро на linux сервере
  5. Ссылки
  6. Лицензия
  7. Корневые сертификаты
  8. Сертификаты
  9. Список установленных сертификатов
  10. Добавление реального сертификата
  11. Добавление реального сертификата с привязкой к закрытому ключу и возможностью подписывать документы
  12. Способ с дискетой или флешкой
  13. С жесткого диска
  14. Проверка успешности установки закрытого ключа
  15. Добавление тестового сертификата
  16. Удаление сертификата
  17. Проверка сертификата
  18. Просмотр всех атрибутов сертификата
  19. Экспорт сертификатов на другую машину
  20. Подписание документа ЭЦП
  21. Проверка подписи ЭЦП
  22. Получение исходного файла
  23. Операционные системы Astra Linux
  24. Проверка цепочки сертификатов эцп на linux
  25. Описание необходимых пакетов КриптоПро
  26. Прописывание путей к исполняемым файлам
  27. Установка дополнительных пакетов с модулем поддержки для токена
  28. Браузер Chrome
  29. Альтернативный метод получения тестового сертификата
  30. Создание локального носителя
  31. Проверка работы контейнера
  32. Копирование контейнера
  33. 4 категории сертификатов
  34. Установка
  35. Просмотр
  36. Удаление
  37. Экспорт сертификатов на другую машину
  38. Проверка цепочки сертификатов
  39. Подпись файлов (присоединённая)
  40. Проверка подписи в файле
  41. Список сайтов ЕСИА использующий IFCP-plugin
  42. Установка и настройка
  43. Таблица поддерживаемых устройств Крипто-Про CSP
  44. Диагностический архив для обращения в тех. поддержку

1С и Linux

Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.

пятница, 14 декабря 2018 г.

Установка сертификатов используя КриптоПРО в Linux

Для установки в uRoot админиских прав больше не нужно. Ради этого их с mRoot и разделили. Работает так: если ставить в uRoot — видно будет только текущему пользователю, даже если он root, но права не нужны и будет диалог с предупреждением. Если ставить в mRoot, то нужны права, видно будет всем и предупреждения не будет.

Установка корневого сертификата удостоверяющего центра:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file

/Загрузки/ .cer -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file

/Загрузки/guts_2012.cer -store uRoot

Просмотор корневых сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uRoot

Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -delete -all -store uRoot

Установка списка отозванных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -crl -file

Установка цепочки промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file

/Загрузки/ .p7b -store uca

$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file

/Загрузки/fk_2012.cer -store uca

Просмотор промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uca

Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uca

Установка сертификата с рутокена:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cont ‘ ‘ -store uMy

Установка сертификата из контейнера:
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont ‘\\.\HDIMAGE\test’

Просмотор личных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy

Просмотр контейнеров, рутокенов
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn

Экспорт в файл сертификата из хранилища
$ /opt/cprocsp/bin/amd64/certmgr -export -cert -dn «CN=» -dest ‘cert.crt’
$ /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df

$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df

$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df

$ /opt/cprocsp/bin/amd64/cryptcp -verify -f cert.crt cert.txt
$ /opt/cprocsp/bin/amd64/cryptcp -verify -u

/cert.txt
$ /opt/cprocsp/bin/amd64/cryptcp -verify -u

/cert.txt | iconv -f cp1251
$ /opt/cprocsp/bin/amd64/cryptcp -verify -errchain -f

/cert.txt | iconv -f cp1251

Установка сертификатов zakupki.gov.ru

$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Головного удостоверяющего центра.cer’ -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Удостоверяющего центра Федерального казначейства.cer’ -store uRoot

$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file root2013.cer -store uRoot

$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df

Источник

Работа с КриптоПро на linux сервере

Ссылки

Лицензия

Для установки другой лицензии (под root):

Корневые сертификаты

Просмотр корневых сертификатов

Добавление корневых сертификатов (под root) из файла cacer.p7b

Необходимо последовательно добавить все сертификаты

Сертификаты

Список установленных сертификатов

certmgr -list , например:

Добавление реального сертификата

Добавить только сертификат (только проверка ЭЦП):

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

Закрытый ключ состоит из шести key-файлов:

Способ с дискетой или флешкой

Скопировать в корень дискеты или флэшки сертификат и приватный ключ (из каталога 999996.000 , 999996 — название (alias) контейнера):

Выполнить команду по копированию ключа с флэшки на диск, ключ попадет в пользовательское хранилище My .

gate@example.com — то, что прописано в поле E сертификата (можно посмотреть командой keytool —printcert -file /path/to/cert/client.cer ):

С жесткого диска

Скопировать приватный ключ в хранилище (контейнер), где — имя пользователя linux:

Поставить «минимальные» права:

Узнать реальное название контейнера:

Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My :

Читайте также:  Windows 10 1909 ltsc оригинальный образ

Если следующая ошибка, нужно узнать реальное название контейнера (см. выше):

Установить сертификат УЦ из-под пользователя root командой:

Проверка успешности установки закрытого ключа

Добавление тестового сертификата

Ввести пароль на контейнер test123 .

Ввести пароль на контейнер. По-умолчанию: 12345678

Удаление сертификата

Проверка сертификата

Просмотр всех атрибутов сертификата

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

Получаем SHA 1 хеши:

В цикле извлекаем сертификаты:

Настройка openssl для поддержки ГОСТ:

В файл /etc/ssl/openssl.cnf

Экспорт сертификатов на другую машину

Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys . Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.

Экспорт самих сертификатов (если их 14):

Переносим эти файлы на машину и смотрим, какие контейнеры есть:

И как обычно, связываем сертификат и закрытый ключ:

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

Если все успешно:

Если нет закрытого ключа, то просто ставим сертификат:

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

Пример создания ЭЦП (по SHA1 Hash):

[ReturnCode: x] Описание Возвращаемый код завершения в баше $?
0 успешно 0
0x8010006b Введен неправильный PIN 107
0x2000012d Сертификат не найден 45
0x20000065 Не удалось открыть файл 101

Проверка подписи ЭЦП

Для верифицирования сертификатов нужен сертификат удостоверяющего центра и актуальный список отзыва сертификатов, либо настроенный для этого revocation provider.

Корневой сертификат УЦ, список отзыва сертификата является одним из реквизитов самого сертификата.

Контрагенты когда открывают подписи в КриптоАРМ используют revocation provider, он делает проверки отзыва сертификата онлайн. Как реализована проверка в Шарепоинте не знаю. Знаю только что используется библиотека Крипто.Net

Проверка конкретной подписи из локального хранилища по его хешу:

Проверить, взяв сертификат из file1.sig , подпись файла file2.sig . Практически, надо использовать один и тот же файл:

[ReturnCode: x] Текст Описание Возвращаемый код завершения в баше $?
0 Успешно 0
0x80091004 Invalid cryptographic message type Неправильный формат файла 4
0x80091010 The streamed cryptographic message is not ready to return data Пустой файл 16

Получение исходного файла

Получение исходного файла (сообщения):

Будет ругаться на сертификат (так как не будет проверки), но подпись удалит. Вариант с проверкой:

Источник

Операционные системы Astra Linux

Оперативные обновления и методические указания

Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).

1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).

Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».

На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.

Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!

Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.

Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.

В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.

Очередные обновления (версии) предназначены для:

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

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

  1. инструкций и методических указаний по настройке и особенностям эксплуатации ОС, содержащих сведения о компенсирующих мерах или ограничениях по примене- нию ОС при эксплуатации;
  2. отдельных программных компонентов из состава ОС, в которые внесены изменения с целью устранения уязвимостей, инструкций по их установке и настройке, а также информации, содержащей сведения о контрольных суммах всех файлов оперативного обновления;
  3. обновлений безопасности, представляющих собой файл с совокупностью программных компонентов из состава ОС, в которые внесены изменения с целью устранения уязвимостей, а также информации, содержащей сведения о контрольных суммах всех файлов обновлений безопасности, указания по установке, настройке и особенностям эксплуатации ОС с установленными обновлениями безопасности.

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

Источник

Проверка цепочки сертификатов эцп на linux

Криптопровайдер КриптоПро CSP предназначен для:

Для ОС AstraLinux следует загрузить пакет:

К моменту написания статьи, была использована сертифицированная версия ПО «КриптоПро» «4.0 R3».

1) Загрузка архива с сертифицированной версией ПО «КриптоПро» «4.0 R3»:

2) Открыть «Терминал Fly» (alt+T)

tar -zxf linux-amd64_deb.tgz

cd /linux-amd64_deb

sudo ./install_gui.sh

Описание необходимых пакетов КриптоПро

dpkg -l | grep cprocsp

Прописывание путей к исполняемым файлам

Установка дополнительных пакетов с модулем поддержки для токена

библиотека libccid, libgost-astra , пакеты pcscd, libpcsclite1

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

Проверить срок истечения лицензии можно командой:

Для установки другой лицензии следует выполнить команду :

a)Установить пакет alien , необходимый для конвертации rpm-пакетов в deb-формат

б) Загрузить архив cades_linux_amd64.zip

в) Распаковать архив cades_linux_amd64.zip перейти в каталог с распакованными файлами и выполнить команды:

alien -dc cprocsp-pki-2.0.0-amd64-plugin.rpm

dpkg -i cprocsp-pki-cades_2.0.0-2_amd64.deb cprocsp-pki-plugin_2.0.0-2_amd64.deb

Браузер Chrome

д) Тестовый сайт предложит Вам подписать документ и выбрать нужный Вам сертификат.

Открываем эмулятор терминала и выполняем от root`а:

Альтернативный метод получения тестового сертификата

2) Для получение сертификата, перейдите в раздел Сформировать ключи и отправить запрос на сертификат

6) Тестовый УЦ КриптоПро уведомит нас о том, что сертификат выдан

7) Пройти по ссылке и установить сертификат, введя пароль контейнера.

Для запроса, получения и установки сертификата с тестового УЦ «КриптоПро» — можно, воспользоваться одной командой:cryptcp -creatcert -rdn ’E=email@astralinux.ru, CN=имя_сертификата’ -cont ’\\.\HDIMAGE\имя_контейнера’ -hashalg 1.2.643.7.1.1.2.2

Чтобы узнать модель подключенного токена, следует ввести команду:

После чего система выдаст информацию о подключенном устройстве:

Проверить наличие носителей с контейнерами можно с помощью команды:/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum -unique

В этом случае будет выведен список носителей с контейнерами в следующем формате:

Где \\.\HDIMAGE — локальный носитель, \\.\HDIMAGE\TestCont123 — название контейнера, \\.\Aktiv Rutoken ECP 00 00 — название носителя (токена).

Создание локального носителя

sudo /opt/cprocsp/sbin/amd64/cpconfig -hardware reader -add HDIMAGE store

Для создания контейнера в носителе HDIMAGE следует воспользоваться командой:

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

В 5-ой версии КриптоПРО CSP v.5.0, для создания контейнера, имя носителя можно не указывать, а выбрать в интерактивном gtk-диалоге:

Для просмотра подробной информации о контейнерах воспользуйтесь командой:

Проверка работы контейнера

/opt/cprocsp/bin/amd64/csptestf -keyset -container ИМЯ -check

Для удаления контейнера следует воспользоваться командой:

Копирование контейнера

csptestf -keycopy -contsrc ’\\.\HDIMAGE\Контейнер_оригинал’ -contdest ’\\.\Aktiv Rutoken ECP 00 00\Контейнер_копия’

Для создания запроса на получение сертификата для контейнера ’\\.\Aktiv Rutoken ECP 00 00\Shuhrat’ , воспользуемся командой:

Для примера можно воспользоваться тестовым удостоверяющим центром КриптоПро. Нам нужен пункт « Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64 « . На следующей странице в поле «Сохраненный запрос» вставляем содержимое файла cert.req и нажимаем кнопку «Выдать».

/opt/cprocsp/bin/amd64/certmgr -inst -file имя_полученного_сертификата.cer -cont ’\\.\Aktiv Rutoken ECP 00 00\Shuhrat’

/opt/cprocsp/bin/amd64/csptest -keys -cont ’\\.\Aktiv Rutoken ECP 00 00\Shuhrat’ -keyt exchange -impcert имя_полученного_сертификата.cer

4 категории сертификатов

* личные сертификаты (ставятся в хранилище umy, где u = User, my — имя хранилища) — как правило для них есть закрытый ключ (и они требуют особой установки, чтобы в хранилище появилась ссылка на этот закрытый ключ). В результате с их использованием можно, например, подписать файл.

* промежуточные сертификаты — появляются, когда есть промежуточные УЦ (головной -> промежуточный -> пользовательский). Прямое доверие к ним не требуется (ставятся в uca, также администратор может поставить их в mca). В это же хранилище ставятся CRL-и. Обычно точки получения промежуточных сертификатов и CRL-ей правильно указаны в пользовательских сертификатах, поэтому они автоматом выкачиваются и попадают в хранилище ucache. В общем про них можно ничего особо не знать и ничего не делать.

Установка

Просмотр

Удаление

certmgr -delete 1 (номер сертификата)

Экспорт сертификатов на другую машину

Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.

/opt/cprocsp/bin/amd64/certmgr -export -dest cert.cer

И как обычно, связываем сертификат и закрытый ключ:

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

Проверка цепочки сертификатов

/opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=Имя_вашего_сертификата -df /temp/сертификат.cer

В нашем примере, из логов можно сделать вывод, что нам надо установить сертификат УЦ МО с CN=Министерство обороны Российской Федерации:

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

* attached (присоединённая), тогда результирующий файл — это CMS-сообщение, внутрь которого упакованы данные и атрубуты (типа подписи). Формат сообщения соответствует международному стандарту, поэтому извлекать данные оттуда можно любыми утилитами, типа cryptcp / csptest / openssl / certutil (на windows).

Подпись файлов (присоединённая)

Проверка подписи в файле

Для проверки прикрепленной подписи выполните:

использовать ключ -verall — он понимает, что надо найти всех подписавших и ищет в том числе в сообщении:

указать в качестве хранилища сертификатов само сообщение (ключ -f):

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

её можно запустить из консоли:

Для доступа к Госуслугам был использован Рутокен ЭЦП 2, «КриптоПро 4.0 R3», IFCP-plugin 3.0.3

Список сайтов ЕСИА использующий IFCP-plugin

Установка и настройка

1) Скачать Рутокен плагин с оффициального сайта: https://www.rutoken.ru/support/download/rutoken-plugin/

2) Скачать IFCP-плагин с сайта ГосУслуг в формате «deb» — файл IFCPlugin-x86_64.deb ; https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr

3) Установить плагин:

Для браузера Chromium :sudo ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts

sudo ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.4 /usr/lib/mozilla/plugins/lib/libcppkcs11.so

4) Добавить в конфигурационный файл IFCplugin /etc/ifc.cfg :

Для этого в конфигурационный файл /etc/opt/cprocsp/config64.ini следует в разделе PKCS11 добавить:

tail -f /var/log/ifc/engine_logs/engine.log

Перейдя на сайт zakupki.gov.ru, следует кликнуть мышкой по иконке «Личного кабинета» и выбрать необходимый метод входа:

После чего система уведомит Вас, о том что для работы необходимо установить и настроить ПО «КриптоПро CSP»:

Нажав кнопку «Продолжить работу с сайтом», система предложит выбрать нужный сертификат:

Выбрать сертификат и ввести pin-код.

1) Для авторизации на сайте Минфина России, следует перейти на страницу авторизации

2) Скачать и установить корнейвой сертификат УЦ «Минфина России:

3) Кликнуть по ссылке Вход по сертификату и выбрать нужный сертификат:

4) После чего система попросит Вас ввести пароль:

В соответствии с принятым в 2014 году порядком перехода на ГОСТ Р 34.10-2012 до 1 января 2019 года попытка использования ГОСТ Р 34.10-2001 (кроме проверки подписи) на всех выпущенных к настоящему моменту сертифицированных версиях КриптоПро CSP 3.9, 4.0 и КриптоПро JCP 2.0 с 1 января 2019 года вызовет ошибку/предупреждение (в зависимости от продукта и режима работы), которые могут привести к неработоспособности автоматических/автоматизированных систем при использовании ими ключей ГОСТ Р 34.10-2001. В случае если ваша система использует ключи ГОСТ Р 34.10-2001, просим принять во внимание инструкцию.

[Parameters]

warning_time_gen_2001=ll:9223372036854775807

Таблица поддерживаемых устройств Крипто-Про CSP

Диагностический архив для обращения в тех. поддержку

Для создания диагностического архива, можно воспользоваться следующей командой:

В результате должен получится cprodiag_день_месяц_год.tar.gz архив, который следует прислать в техническую поддержку Astra Linux и КриптоПро.

Источник

Читайте также:  Как посмотреть с какого диска загружается операционная система windows
Оцените статью