Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 39 Следующий »

#lsb_release  -a
Distributor ID: AstraLinux
Description:    Astra Linux  2.12 (Orel)
Release:        2.12
Codename:       orel

Установка КриптоПро CSP



1) Скачаем архив с сертифицированной версией ПО «КриптоПро» «4.0 R3» по адресу: https://www.cryptopro.ru/products/csp/downloads#latest_csp40r3_linux

Название полученного файла должно быть: «linux-amd64_deb.tgz».

2) Откроем терминал.

3) Перейдем в терминале в папку «Загрузки» с помощью команды:

cd /home/u/Загрузки

4) Разархивируем скаченный архив в терминале командой:

tar -zxf linux-amd64_deb.tgz

5) Перейдем в директорию с ПО и выполним установку ПО с помощью запуска скрипта "install.sh" "instal_gui.sh" или  командой:

cd /linux-amd64_deb

sudo ./install_gui.sh


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

export PATH="$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr '\n' ':')$PATH"

 

Идентификация токена


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

csptest -card -enum -v -v

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


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


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

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

https://www.cryptopro.ru/products/cades/plugin/get_2_0

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

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

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

г) Установить deb-пакеты:

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

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


    • Браузер Chrome: 

      запустите Chrome и дождитесь оповещения об установленном расширении "CryptoPro Extension for CAdES Browser Plug-in". Включите это расширение. Если на Вашем компьютере ранее уже выполнялась установка КриптоПро ЭЦП Browser plug-in, а потом он был удален, потребуется отдельно установить расширение. Для этого перейдите по ссылке и установите расширение из интернет-магазина Chrome.



    • Браузер Opera или Яндекс.Браузер: 

      расширение доступно по ссылке.



    • Браузер Firefox: 

      скачайте расширение по ссылке и установите в браузер самостоятельно.



  • Браузер Microsoft Internet Explorer: 

  • не требуется дополнительных настроек.


 Проверка корректности установки на странице проверки плагина.

Для этого в открывшемся окне подтвердите доступ путем нажатия кнопки "Да".



Если установка КриптоПро ЭЦП Browser plug-in прошла успешно, появится окно с надписью "Плагин загружен", указанием его версии и используемой Вами версии КриптоПро CSP.


е) Сайт проверки плагина

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

В случае если у Вас отсутствуют "личные сертификаты" → нажимаем на корневой сертификат тестового УЦ - Просмотреть - Подробности - Экспортировать - Сохранить.

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

/opt/cprocsp/bin/amd64/certmgr -inst -cert -file /home/u/Загрузки/CRYPTO-PROTestCenter2.crt.crt -store uroot

Перезапускаем браузер.

Заходим на страницу https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html и нажимаем получить, выполняем все всплывающие требования. Сертификат получен.


Хранилища и контейнеры


Проверить наличие хранилища можно с помощью команды

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc

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


 

Где \\.\HDIMAGE - название хранилища, \\.\HDIMAGE\TestCont123 - название контейнера, \\/\Aktiv Rutoken ECP 00 00 - токен.

Создание хранилища

Если такого хранилища не существует, то его можно создать командой:

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

Создание контейнера

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

/opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -cont '\\.\HDIMAGE\TestCont'

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

/opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -cont '\\.\Aktiv Rutoken ECP 00 00\TestCont'

Примечание

Название токена может отличаться. Для идентификации воспользуйтесь командой: csptest -card -enum -v -v

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

/opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -cont ''


Информация о контейнерах

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

csptest -keyset -verifycontext -enum -unique

Удаление контейнера

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

csptestf -passwd -cont '\\.\Aktiv Rutoken ECP 00 00\TestCont' -deletek

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

Для примера скопируем контейнер из локального хранилища в хранилище Рутокена ЕЦП:

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


Менеджер сертификатов КриптоПРО в Linux



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

Они делятся на четыре категории:

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

* корневые сертификаты - краеугольнй камень безопасности, так как цепочки доверия строятся от них, то их надо добавлять в хранилища осознанно и внимательно (ставятся в uroot, также администратор может поставить их в mroot, где m = Machine, такие сертификаты будут видны в read only в root-хранилищах всех пользователей)

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

* сертификаты партнёров по общению, чтобы проверять их подписи и зашифровывать для них сообщения. Ставятся либо в umy (это беспорядок, но популярный), либо в uAddressBook


Установка

Пример установки личного сертификата, выданного УЦ Министерства Обороны Российской Федерации

Установка всех личных сертификатов с Рутокена в uMy :
$ /opt/cprocsp/bin/amd64/csptestf -absorb -cert -pattern 'rutoken'

Установка определенного сертификата с определенного контейнера в uMy:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\Aktiv Rutoken ECP 00 00\Ivanov'

Установка сертификата удостоверяющего центра ГУЦ в mRoot:
$ curl https://structure.mil.ru/files/morf/military/files/guc18.cer|/opt/cprocsp/bin/amd64/certmgr -inst -store mRoot

Установка промежуточного сертификата МО в mca: 
curl http://structure.mil.ru/download/doc/morf/military/files/CA2018.cer|/opt/cprocsp/bin/amd64/certmgr -inst -store mca -stdin

Установка списка отвызвов (CRL), ставим его с того же сайта в mca:
curl http://structure.mil.ru/download/doc/morf/military/files/crl_18.crl|/opt/cprocsp/bin/amd64/certmgr -inst -store mca -stdin -crl

Примечание

В опции -pattern >>>  'rutoken' может быть другим в зависимости от подключенного токена


В случае, если рабочая станция не имеет доступа к сети, следует stdin заменить на -file /tmp/ca.cer и -file /tmp/ca.crl


Примечание

1) Имена хранилищ указаны в формате  certmgr, у cryptcp похожий формат: -mroot и -uAddressBook

2) Из под учетной записи пользователя ставится в uca, из под учетной записи администратора ставить в mca:

3) В опции -pattern можно указать пустые < ' ' > чтобы установить все сертификаты в uMy. Пример: 

/opt/cprocsp/bin/amd64/csptestf -absorb -cert -pattern ''

4) В случае, если личный сертификат извлеченн, следует изпользовать опцию -file :

certmgr -inst -file cert.cer -store uMy

Просмотр

Для просмотра выше установленных сертификатов можно воспользоваться :

certmgr -list



Удаление

Удаление сертификата из хранилища КриптоПро:

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

certmgr -del -all (удаление всех сертификатов)

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

Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys.

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

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


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

csptest -keyset -enum_cont -verifycontext -fqcn

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

certmgr -inst -file 1.cer -cont '\\.\HDIMAGE\container.name'

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

Can not install certificate
Public keys in certificate and container are not identical


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


Подпись можно делать двумя способами:

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

* detached (отсоединённая), тогда результирующий файл - это CMS-сообщение БЕЗ исходных данных, но с атрибутами (типа подписи). В этом случае для проверки надо "принести" исходный файл. Разумеется он остаётся неизменным и его можно смотреть cat-ом


Про CMS-сообщения, есть хорошая статья на Хабре


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

shuhrat@smakhmadiev:~/smolensk$ /opt/cprocsp/bin/amd64/cryptcp -sign -detach -pin 12345678 smolensk16.iso smolensk16.iso.sig
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ 
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г. 
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru

Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02

Цепочки сертификатов проверены.
Папка './':
smolensk16.iso... Подпись данных...    
    
Подписанное сообщение успешно создано.
[ErrorCode: 0x00000000]

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

обучающий:

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


/opt/cprocsp/bin/amd64/cryptcp -verify -verall -detached /home/shuhrat/smolensk/smolensk16.iso smolensk16.iso.sig 
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Папка '/home/shuhrat/smolensk/':
/home/shuhrat/smolensk/smolensk16.iso... Проверка подписи...     
    
Автор
 подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ 
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г. 
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02

Цепочки сертификатов проверены.
Папка './':
smolensk16.iso... Проверка подписи... 

 Подпись проверена.
[ErrorCode: 0x00000000]

естественный:

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


/opt/cprocsp/bin/amd64/cryptcp -verify -f smolensk16.iso.sig -detached smolensk16.iso smolensk16.iso.sig 
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ 
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г. 
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02

Цепочки сертификатов проверены.
Папка './':
smolensk16.iso... Проверка подписи...     
    
Автор
 подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ 
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г. 
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02

 Подпись проверена.
[ErrorCode: 0x00000000]


Графический интерфейс КриптоПро CSP v. 5.0 (cptools)


В версии КриптоПРО 5 появилась графическая утилита для работы с сертификатами - cptools.

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

$ cptools

либо

$ /opt/cprocsp/bin/amd64/cptools


Вход в ЕСИА



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

IFCP-plugin позволит Вам авторизоваться и изменять данные на нескольких сайтах:

Список сайтов


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


Для аутентификации через ЕСИА esia.gosuslugi.ru следует:

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

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

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

$ sudo dpkg -i IFCPlugin-x86_64.deb


3) Для правильной работы плагина, следует прописать символические ссылки:

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

Для браузера Mozilla Firefox:

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

Примечание:  libcppkcs11.so.4.0.Х может отличаться, в зависимости от версии КриптоПро CSP.

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

  { name  = "Актив руТокен ЭЦП";
    alias = "ruTokenECP";
    type  = "pkcs11";
	alg   = "gost2001";
    lib_linux = "librtpkcs11ecp.so";
  },

  { name  = "CryptoPro CSP";
    alias = "cryptoprocsp";
    type  = "pkcs11";
    alg = "gost2001";
    lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
  }


5) Для проверки работы плагина, в терминале в режиме live можно просмотреть логи:

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


6) Для авторизации следует пройти по адресу: esia.gosuslugi.ru и выбрать Вход с помощью электронной подписи

7) Подключив токен, следует нажать кнопку "Готово", после чего система предложит выбрать нужный сертификат ключа проверки ЭЦП:




  • Нет меток