Оглавление |
---|
#lsb_release -a
Distributor ID: AstraLinux
Description: Astra Linux 2.12 (Orel)
Release: 2.12
Codename: orel
1) Установка КриптоПро CSP
1) Скачаем архив с сертифицированной версией ПО «КриптоПро» «4.0 R3» по адресу: https://www.cryptopro.ru/products/csp/downloads#latest_csp40r3_linux (необходимая архитектура: x64, deb), сохранив его в папку «Загрузки».
Название полученного файла должно быть: «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
1a) Настройка alias в ~/.bashrc
Для удобства можно прописаты alias'ы в bashrc:
Блок кода |
---|
alias certmgr='/opt/cprocsp/bin/amd64/certmgr'
alias cpverify='/opt/cprocsp/bin/amd64/cpverify'
alias cryptcp='/opt/cprocsp/bin/amd64/cryptcp'
alias csptest='/opt/cprocsp/bin/amd64/csptest'
alias csptestf='/opt/cprocsp/bin/amd64/csptestf' |
2) Установка КриптоПро ЭЦП 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:
не требуется дополнительных настроек.
5. Проверка корректности установки на странице проверки плагина.
Для этого в открывшемся окне подтвердите доступ путем нажатия кнопки "Да".
Если установка КриптоПро ЭЦП Browser plug-in прошла успешно, появится окно с надписью "Плагин загружен", указанием его версии и используемой Вами версии КриптоПро CSP.
д) Тестовый сайт предложит Вам подписать документ и выбрать нужный Вам сертификат.
В случае если у Вас отсутствуют "личные сертификаты" → нажимаем на корневой сертификат тестового УЦ - Просмотреть - Подробности - Экспортировать - Сохранить.
Открываем эмулятор терминала и выполняем от root`а:
/opt/cprocsp/bin/amd64/certmgr -inst -cert -file /home/u/Загрузки/CRYPTO-PROTestCenter2.crt.crt -store uroot
/opt/cprocsp/bin/amd64/certmgr -inst -cert -file /home/u/Загрузки/CRYPTO-PROTestCenter2.crt -store uu
Перезапускаем браузер.
Заходим на страницу https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html и нажимаем получить, выполняем все всплывающие требования. Сертификат получен.
3) Менеджер сертификатов КриптоПРО в Linux
Основной утилитой для работы с сертификатами является certmgr (лежит в /opt/cprocsp/bin/<архитектура>). К ней есть man:
man 8 certmgr
Установка сертификатов:
Установка корневого сертификата:
certmgr -inst -store root -file <путь к файлу с сертификатом>
Установка личного сертификата:
certmgr -inst -file <путь к файлу с сертификатом> -cont <имя контейнера>
Установка стороннего сертификата:
certmgr -inst -file <путь к файлу с сертификатом>
Блок кода | ||
---|---|---|
| ||
certmgr -list
Certmgr 1.1 (c) "CryptoPro", 2007-2018.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : E=uc@mil.ru, OGRN=10377-----284, INN=0077----52261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации
Subject : E=mail@rusbitech.ru, SNILS=13407634844, INN=007726604816, OGRN=5087746137023, STREET=шоссе Варшавское д. 26, C=RU, S=77 г. Москва, L=Москва, T=Генеральный директор, O="АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", G=Виктор Иванович, SN=Пустовой, CN="АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ"""
Serial : 0x2F80B07AC40C8------------52D
SHA1 Hash : 0e88a73fb7ee006d4--------98a66
SubjKeyID : 6b65a17ed568aad2e9-----fe55c
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before : 02/10/2018 14:31:02 UTC
Not valid after : 02/10/2019 14:41:02 UTC
PrivateKey Link : Yes
Container : SCARD\rutoken_ecp
Provider Name : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info : ProvType: 80, KeySpec: 1, Flags: 0x0
OCSP URL : http://ocsp/ocsp/ocsp.srf
OCSP URL : http://ocsp:8080/ocsp/ocsp.srf
OCSP URL : http://uc.mil.ru/ocsp-net/ocsp.srf
CDP : http://cr2018/cdp/4ab7c589e2d91df0ec01225b7e6841dbee8bc33e.crl
CDP : http://cr2018:8080/cdp/4ab7c589e2d91df0ec01225b7e6841dbee8bc33e.crl
CDP : http://regcvo2018/cdp/4ab7c589e2d91df0ec01225b7e6841dbee8bc33e.crl
CDP : http://ra2-vvo/cdp/4ab7c589e2d91df0ec01225b7e6841dbee8bc33e.crl
CDP : http://reguvo1/cdp/4ab7c589e2d91df0ec01225b7e6841dbee8bc33e.crl
CDP : http://spb2018/cdp/4ab7c589e2d91df0ec01225b7e6841dbee8bc33e.crl
CDP : http://stat.structure.mil.ru/download/doc/morf/military/files/crl_18.crl
Extended Key Usage : 1.3.6.1.5.5.7.3.2
1.3.6.1.5.5.7.3.4
=============================================================================
[ErrorCode: 0x00000000]
|
Просмотр корневых сертификатов
certmgr -list -store root
Блок кода | ||
---|---|---|
| ||
certmgr -list -store root
Certmgr 1.1 (c) "CryptoPro", 2007-2018.
program for managing certificates, CRLs and stores
WARNING: Legacy parameter: "-store root"
=============================================================================
1-------
Issuer : E=dit@minsvyaz.ru,
C=RU, S=77 г. Москва, L=Москва, STREET="125375 г. Москва, ул. Тверская,
д. 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375,
CN=Головной удостоверяющий центр
Subject : E=dit@minsvyaz.ru,
C=RU, S=77 г. Москва, L=Москва, STREET="125375 г. Москва, ул. Тверская,
д. 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375,
CN=Головной удостоверяющий центр
Serial : 0x34681E40CB41EF33A9A0B7C876929A29
SHA1 Hash : 8cae88bbfd404a7a53630864f9033606e1dc45e2
SubjKeyID : 8b983b891851e8ef9c0278b8eac8d420b255c95d
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 20/07/2012 12:31:14 UTC
Not valid after : 17/07/2027 12:31:14 UTC
PrivateKey Link : No
2-------
Issuer : E=dit@minsvyaz.ru,
C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7",
O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375,
CN=Минкомсвязь России
Subject : E=dit@minsvyaz.ru,
C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7",
O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375,
CN=Минкомсвязь России
Serial : 0x4E6D478B26F27D657F768E025CE3D393
SHA1 Hash : 4bc6dc14d97010c41a26e058ad851f81c842415a
SubjKeyID : c254f1b46bd44cb7e06d36b42390f1fec33c9b06
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before : 06/07/2018 12:18:06 UTC
Not valid after : 01/07/2036 12:18:06 UTC
PrivateKey Link : No
=============================================================================
[ErrorCode: 0x00000000] |
4 категории сертификатов:
Они делятся на четыре категории:
* личные сертификаты (ставятся в хранилище umy, где u = User, my - имя хранилища) - как правило для них есть закрытый ключ (и они требуют особой установки, чтобы в хранилище появилась ссылка на этот закрытый ключ). В результате с их использованием можно, например, подписать файл.
* корневые сертификаты - краеугольнй камень безопасности, так как цепочки доверия строятся от них, то их надо добавлять в хранилища осознанно и внимательно (ставятся в uroot, также администратор может поставить их в mroot, где m = Machine, такие сертификаты будут видны в read only в root-хранилищах всех пользователей)
* промежуточные сертификаты - появляются, когда есть промежуточные УЦ (головной -> промежуточный -> пользовательский). Прямое доверие к ним не требуется (ставятся в uca, также администратор может поставить их в mca). В это же хранилище ставятся CRL-и. Обычно точки получения промежуточных сертификатов и CRL-ей правильно указаны в пользовательских сертификатах, поэтому они автоматом выкачиваются и попадают в хранилище ucache. В общем про них можно ничего особо не знать и ничего не делать.
* сертификаты партнёров по общению, чтобы проверять их подписи и зашифровывать для них сообщения. Ставятся либо в umy (это беспорядок, но популярный), либо в uAddressBook
P.S. Имена хранилищ указаны в формате certmgr, у cryptcp похожий формат: -mroot и -uAddressBook
Установка сертификата удостоверяющего центра (УЦ):
$ certmgr -inst -file certnew.p7b -store uRoot
Установка сертификата клиента
$ /opt/cprocsp/bin/amd64/csptestf -absorb -cert -pattern 'rutoken'
Сертификат ГУЦа ставится автоматом с пакетами Криптопро.
...
Оглавление | ||
---|---|---|
|
КриптоПро CSP
...
Назначение
Криптопровайдер КриптоПро CSP предназначен для:
- авторизации и обеспечения юридической значимости электронных документов при обмене ими между пользователями, посредством использования процедур формирования и проверки электронной подписи (ЭП) в соответствии с отечественными стандартами ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012 (с использованием ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012);
- обеспечения конфиденциальности и контроля целостности информации посредством ее шифрования и имитозащиты, в соответствии с ГОСТ 28147-89;
- обеспечения аутентичности, конфиденциальности и имитозащиты соединений по протоколу TLS;
- контроля целостности системного и прикладного программного обеспечения для его защиты от несанкционированных изменений и нарушений правильности функционирования;
- управления ключевыми элементами системы в соответствии с регламентом средств защиты.
https://www.cryptopro.ru/products/csp
Предупреждение |
---|
В качестве СКЗИ разрешается использовать только КриптоПро CSP следующих версий:
Указанные СКЗИ должны использоваться в исполнениях 1-Base или 2-Base. СКЗИ КриптоПро CSP в исполнении 2-Base должно использоваться с аппаратно- программным модулем доверенной загрузки (АПМДЗ). При эксплуатации СКЗИ необходимо соблюдать требования и рекомендации эксплуатационной документации на СКЗИ, в частности требования по защите от несанкционированного доступа и по криптографической защите, а также требования по поддерживаемым СКЗИ аппаратно-программным платформам. В частности, при использовании СЭП со встроенным СКЗИ необходимо проведение проверки программного обеспечения BIOS ЭВМ, на которых предполагается функционирование СКЗИ и СЭП, на соответствие методическим документам ФСБ России в области исследований программного обеспечения BIOS. Контроль целостности СКЗИ и СЭП должен выполняться с использованием механизма замкнутой программной среды ОС или с использованием стандартных средств контроля целостности КриптоПро CSP. |
Установка КриптоПро CSP
...
Архив с программным обеспечением (КриптоПро CSP) можно загрузить c официального сайта www.cryptopro.ru, предварительно зарегистрировавшись на сайте.
Для ОС Astra Linux следует загрузить пакет КриптоПро CSP 4 и выше версии - пакет для 64 разрядной системы.
Информация |
---|
Пробный период использования КриптоПро CSP составляет 3 месяца, по истечении которых необходимо приобрести полноценную лицензию. |
Для написания настоящей статьи была использована сертифицированная версия ПО «КриптоПро» «4.0 R4». При этом был выполнен следующий алгоритм действий:
1) загрузить архив с сертифицированной версией ПО «КриптоПро». Название полученного файла: «linux-amd64_deb.tgz»;
2) открыть "Терминал Fly" (alt+T);
3) разархивировать полученный архив в терминале командой:
Command |
---|
tar -zxf linux-amd64_deb.tgz |
5) перейти в каталог с ПО:
Command |
---|
cd linux-amd64_deb |
6) выполнить установку ПО с помощью запуска сценария "install.sh" или "instal_gui.sh" командой:
Command |
---|
sudo ./install_gui.sh |
* Выбрать необходимые модули, библиотеки.
Описание необходимых пакетов КриптоПро
Пакет | Описание |
---|---|
Базовые пакеты: | |
cprocsp-curl | Библиотека libcurl с реализацией шифрования по ГОСТ |
lsb-cprocsp-base | Основной пакет КриптоПро CSP |
lsb-cprocsp-capilite | Интерфейс CAPILite и утилиты |
lsb-cprocsp-kc1 | Провайдер криптографической службы KC1 |
lsb-cprocsp-rdr | Поддержка ридеров и RNG |
Дополнительные пакеты: | |
cprocsp-rdr-gui-gtk | Графический интерфейс для диалоговых операций |
cprocsp-rdr-rutoken | Поддержка карт Рутокен |
cprocsp-rdr-jacarta | Поддержка карт JaCarta |
cprocsp-rdr-pcsc | Компоненты PC/SC для ридеров КриптоПро CSP |
lsb-cprocsp-pkcs11 | Поддержка PKCS11 |
Для просмотра всех установленных пакетов КриптоПро CSP ввести команду:
Command |
---|
dpkg -l | grep cprocsp |
Прописывание путей к исполняемым файлам
Для того, чтобы не вводить каждый раз полный путь к утилитам КриптоПро CSP, в терминале FLY следует ввести команду:
Command |
---|
export PATH="$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr '\n' ':')$PATH" |
Установка дополнительных пакетов с модулем поддержки для токена
Для корректной работы с токеном/смарт-картой обязательно требуется установить:
библиотека libccid, libgost-astra , пакеты pcscd
Command |
---|
sudo apt install libccid pcscd libgost-astra |
Пакеты с модулем поддержки:
- Для Рутокен: https://www.rutoken.ru/support/download/nix/
- Для Алладин: https://www.aladdin-rd.ru/support/downloads/jacarta
После установки пакетов с модулем поддержки токена следует перезагрузить службу pcscd:
Command |
---|
sudo service pcscd restart |
Предупреждение |
---|
Начиная с версии КриптоПро 4.0 R4 и выше, модули поддержки смарт-карт входят в состав пакета. |
Ключ для работы в режиме замкнутой программной среды Astra Linux SE.
...
- Перед импортом ключа, следует предварительно установить пакет astra-digsig-oldkeys
- Ключ для работы в режиме замкнутой программной среды Astra Linux SE следует загрузить и поместить в предварительно созданную директорию:/etc/digsig/keys/legacy/cryptopro
После чего выполнить команду:
Command sudo update-initramfs -uk all - и перезагрузить АРМ
Информация |
---|
Astra Linux Special Edition: Режим замкнутой программной среды |
Проверка лицензии
Проверить срок истечения лицензии можно командой:
/opt/cprocsp/sbin/amd64/cpconfig -license -view
Установка лицензии
Для установки другой лицензии следует выполнить команду :
Command |
---|
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set <ваш_лицензионный_номер> |
Носители и контейнеры
...
Идентификация токена
Для просмотра списка настроенных считывателей можно воспользоваться командой:
Command |
---|
/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view |
Чтобы узнать модель подключенного токена, следует ввести команду:
Command |
---|
/opt/cprocsp/bin/amd64/csptest -card -enum -v -v |
После чего система выдаст информацию о подключенном устройстве:
Проверить наличие носителей с контейнерами можно с помощью команды:
Command |
---|
/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum -unique |
в формате FQCN, отображается имя носителя:
Command |
---|
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc | iconv -f cp1251 |
В этом случае будет выведен список носителей с контейнерами в следующем формате:
Где \\.\HDIMAGE - локальный носитель, \\.\HDIMAGE\TestCont123 - название контейнера, \\.\Aktiv Rutoken ECP 00 00 - название носителя (токена).
Подробная информация про "Имена контейнеров"
Информация о контейнерах
Для просмотра подробной информации о контейнерах воспользуйтесь командой:
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -keyset -container 'ИМЯ' -info |
Пример работы команды:
Раскрыть |
---|
/opt/cprocsp/bin/amd64/csptestf -keyset -container 'Shuhrat' -info |
Информация | ||
---|---|---|
При наличии кириллических символов в имени ключевого контейнера для дальнейшей работы с таким контейнером необходимо использовать его уникальный идентификатор. Чтобы получить уникальные идентификаторы ключевых контейнеров используйте команду:
|
Примечание |
---|
Следует учесть про PIN-коды в контейнерах:
|
Проверка работы контейнера
Для того чтобы проверить работу контейнера (в том числе возможность выполнения разных операций при текущей лицензии), следует выполнить команду:
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -keyset -container ИМЯ -check |
Пример работы команды:
Раскрыть |
---|
/opt/cprocsp/bin/amd64/csptestf -keyset -container Shuhrat -check CSP (Type:80) v5.0.10001 KC1 Release Ver:5.0.11233 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 28224051 GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP Container name: "Shuhrat" Check header passed. Signature key is available. HCRYPTKEY: 0x1b53883 Exchange key is available. HCRYPTKEY: 0x1b57e23 Symmetric key is not available. UEC key is not available. License: Cert without license Check container passed. Check sign passed. Check verify signature on private key passed. Check verify signature on public key passed. Check import passed (import restricted). Check sign passed. Check verify signature on private key passed. Check verify signature on public key passed. Check import passed. Certificate in container matches AT_KEYEXCHANGE key. Keys in container: signature key exchange key Extensions: OID: 1.2.643.2.2.37.3.9 PrivKey: Not specified - 18.01.2020 07:31:07 (UTC) OID: 1.2.643.2.2.37.3.10 PrivKey: Not specified - 18.01.2020 07:31:12 (UTC) Total: SYS: 0,030 sec USR: 0,140 sec UTC: 2,430 sec [ErrorCode: 0x00000000] |
Удаление контейнера
Для удаления контейнера следует воспользоваться командой:
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -passwd -cont '\\.\Aktiv Rutoken ECP 00 00\TestCont' -deletek |
Копирование контейнера
Для примера скопируем контейнер из локального хранилища в хранилище Рутокена ЕЦП:
Command |
---|
csptestf -keycopy -contsrc '\\.\HDIMAGE\Контейнер_оригинал' -contdest '\\.\Aktiv Rutoken ECP 00 00\Контейнер_копия' |
Смена пароля на контейнер (снятие паролей с контейнера)
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -passwd -cont '\\.\Aktiv Rutoken ECP 00 00\TestContainer' -change 'новый_пароль' -passwd 'старый_пароль |
Примечание | ||
---|---|---|
В случае, если контейнеру с ключом не был задан PIN, следует воспользоваться командой:
|
Менеджер сертификатов КриптоПро в Linux
...
Категории сертификатов
Сертификаты делятся на четыре категории:
- личные сертификаты (устанавливаются в хранилище umy, где u = User, my - имя хранилища). Для таких сертификатов, как правило, имеется закрытый ключ (и они требуют особой установки, чтобы в хранилище появилась ссылка на этот закрытый ключ). В результате с их использованием можно, например, подписать файл;
- корневые сертификаты - краеугольный камень безопасности, так как цепочки доверия строятся от них. Корневые сертификаты надо добавлять в хранилища осознанно и внимательно (устанавливаются в uroot, также администратор может поставить их в mroot, где m = Machine, такие сертификаты будут доступны в режиме read only в root-хранилищах всех пользователей);
- промежуточные сертификаты - появляются, когда есть промежуточные УЦ (структура вида "головной УЦ" -> "промежуточный УЦ" -> "пользовательский сертификат"). Прямое доверие к ним не требуется (устанавливаются в uca, также администратор может поставить их в mca). В это же хранилище устанавливаются и списки отзыва сертификатов (CRL). Обычно точки получения промежуточных сертификатов и списков отзыва (CRL) правильно указаны в пользовательских сертификатах, поэтому они загружаются автоматически и устанавливаются в хранилище ucache. В общем про них можно ничего особо не знать и ничего не делать.
- сертификаты партнёров по общению, чтобы проверять их подписи и зашифровывать для них сообщения. Ставятся либо в umy (это не лучшая, но распространенная практика), либо в uAddressBook;
Установка
Пример установки личного сертификата, выданного УЦ Министерства Обороны Российской Федерации:
Установка всех личных сертификатов со всех контейнеров в uMy :
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -absorb -certs -autoprov |
Установка определенного сертификата с определенного контейнера в uMy:
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\Aktiv Rutoken ECP 00 00\Ivanov' |
Установка сертификата удостоверяющего центра ГУЦ в mRoot:
Command |
---|
wget https://structure.mil.ru/download/doc/morf/military/files/ca2020.cer -O - | sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -stdin |
Установка списка отозванных сертификатов (CRL), ставим его с того же сайта в mca:
Command |
---|
wget https://structure.mil.ru/download/doc/morf/military/files/crl_20.crl -O - | sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mca -stdin -crl |
Информация | ||||
---|---|---|---|---|
| ||||
В опции -pattern >>> 'rutoken' может быть другим в зависимости от подключенного токена. В случае, если требуется установка сертификата УЦ и CRL на рабочую станцию, не имеющую доступа к сети, следует сохранить сертификаты в файлах, перенести их на рабочую станцию. и в команде установки заменить параметр -stdin заменить на параметр -file с указанием имени файла. Например:
|
Информация | ||||
---|---|---|---|---|
| ||||
1) Имена хранилищ указаны в формате certmgr, у cryptcp похожий формат: -mroot и -uAddressBook 2) Из под учетной записи пользователя ставится в uca, из под учетной записи администратора ставить в mca: 3) В опции -pattern можно указать пустые < ' ' > чтобы установить все сертификаты в uMy. Пример:
4) В случае, если личный сертификат извлечен, следует использовать опцию -file :
5) Хранилища пользователей хранятся в /var/opt/cprocsp/users |
Просмотр
Для просмотра выше установленных сертификатов можно воспользоваться :
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -list |
Удаление
Удаление сертификата из хранилища КриптоПро:
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -delete |
после чего на экран будет выведен весь список сертификатов и предложение ввести номер удаляемого сертификата.
Или удаление всех сертификатов:
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -del -all |
Экспорт сертификатов на другую машину
Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys
.
Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.
Экспорт сертификата:
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -export -dest cert.cer |
Переносим эти файлы на машину и смотрим, какие контейнеры есть:
Command |
---|
csptest -keyset -enum_cont -verifycontext -fqcn |
И как обычно, связываем сертификат и закрытый ключ:
Command |
---|
certmgr -inst -file 1.cer -cont '\\.\HDIMAGE\container.name' |
Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:
Блок кода |
---|
Can not install certificate
Public keys in certificate and container are not identical |
Проверка цепочки сертификатов
Для примера: чтобы проверить цепочку сертификатов, можно скопировать персональный сертификат в файл:
Command |
---|
/opt/cprocsp/bin/amd64/cryptcp -copycert -dn 'CN=Имя_вашего_сертификата' -df /temp/сертификат.cer |
Примечание |
---|
Можно указать другое поле сертификата: CN, E, SN, OGRN, SNILS и тд. |
Блок кода |
---|
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Будет использован следующий сертификат:
Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Цепочка сертификатов не проверена для следующего сертификата:
Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Пустовой, Виктор Иванович, "АКЦИОНЕРНОЕ
ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Генеральный директор, Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, 5087746137023, 007726604816,
13407634844, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Ошибка: Цепочка сертификатов не проверена для следующего сертификата (код ошибки 10000):
/dailybuilds/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:396: 0x20000133
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])? С |
Из вывода следует, что у нас отсутствует некий сертификат в цепочке сертификатов. Можно запустить вышеуказанную команду в режиме debug(отладки):
Блок кода |
---|
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn 'CN=Имя_вашего_сертификата' -df /temp/сертификат.cer
...
----------- Error chain -----------
Chain status:IS_UNTRUSTED_ROOT
Revocation reason:unspecified
1.
Subject:'E=uc@mil.ru, OGRN=1037700255284, INN=007704252261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации'
Issuer:'E=dit@minsvyaz.ru, C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России'
Cert status:IS_UNTRUSTED_ROOT
... |
Информация |
---|
CP_PRINT_CHAIN_DETAIL=1 --> включает режим отладки |
В нашем примере, из логов можно сделать вывод, что нам надо установить сертификат УЦ МО с CN=Министерство обороны Российской Федерации:
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file minoboron-root-2018.crt |
Для того, чтобы убедиться в устранении ошибки, можно повторно в режиме отладки запустить команду. При правильно установленной цепочке сертификатов, статус у сертификата будет = CERT_TRUST_NO_ERROR
Блок кода |
---|
....
Subject:'E=uc@mil.ru, OGRN=1037700255284, INN=007704252261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации'
Issuer:'E=dit@minsvyaz.ru, C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России'
Cert status:CERT_TRUST_NO_ERROR
...
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000] |
Подписание документа ЭЦП
...
Подпись можно делать двумя способами:
* attached (присоединённая), тогда результирующий файл - это CMS-сообщение, внутрь которого упакованы данные и атрибуты (типа подписи). Формат сообщения соответствует международному стандарту, поэтому извлекать данные оттуда можно любыми утилитами, типа cryptcp / csptest / openssl / certutil (на windows).
* detached (отсоединённая), тогда результирующий файл - это CMS-сообщение БЕЗ исходных данных, но с атрибутами (типа подписи). В этом случае для проверки надо "принести" исходный файл. Разумеется он остаётся неизменным и его можно смотреть cat-ом
Примечание |
---|
Про CMS-сообщения, есть хорошая статья на Хабре |
Подпись файлов (присоединённая)
Command | ||
---|---|---|
| ||
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02 Цепочки сертификатов проверены. Подписанное сообщение успешно создано. |
Подпись файлов(отсоединённая)
Command | ||
---|---|---|
| ||
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Будет использован следующий сертификат: Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02 Цепочки сертификатов проверены. Подписанное сообщение успешно создано. |
Проверка подписи в файле
...
Для прикрепленной подписи
Для проверки прикрепленной подписи выполните:
Command | ||
---|---|---|
| ||
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Найдено сертификатов: 4 Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ Подпись проверена. |
естественный
использовать ключ -verall, указывающий, что надо найти всех подписавших, в том числе в сообщении:
Command | ||
---|---|---|
| ||
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ Цепочки сертификатов проверены. Подпись проверена. |
обучающий
указать в качестве хранилища сертификатов само сообщение (ключ -f):
Command | ||
---|---|---|
| ||
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Будет использован следующий сертификат: Цепочки сертификатов проверены. Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ Подпись проверена. |
Извлечение подписанного файла
Чтобы извлечь файл, необходимо указать его имя в конце команды проверки подписи:
Command |
---|
cryptcp -verify raport.pdf.sig raport.pdf |
Графический интерфейс КриптоПро CSP v. 5.0 (cptools)
...
В версии КриптоПро 5 появилась графическая утилита для работы с сертификатами - cptools.
её можно запустить из консоли:
Command |
---|
cptools |
либо
Command |
---|
/opt/cprocsp/bin/amd64/cptools |
Удаление КриптоПро CSP
...
Для того, чтобы удалить ПО КриптоПро CSP, в терминале FLY следует ввести последовательно 3 команды:
Command |
---|
sudo rm -rf /opt/cprocsp |
Отключение сообщений о необходимости перехода на ГОСТ Р 34.10-2012
...
В соответствии с принятым в 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, просим принять во внимание инструкцию.
Для отключения данных предупреждений в КриптоПро CSP, нужно добавить два ключа в конфигурационный файл /etc/opt/cprocsp/config64.ini в существующую секцию Parameters:
Блок кода |
---|
[Parameters]
#Параметрыпровайдера
warning_time_gen_2001=ll:9223372036854775807
warning_time_sign_2001=ll:9223372036854775807 |
Примечание |
---|
На данный момент завершается сертификация обновленной версии КриптоПро CSP 4.0 R4. Для наиболее безболезненного продолжения работы с ГОСТ Р 34.10-2001 в 2019 году мы рекомендуем обновиться до этой версии. В более ранних версиях КриптоПро CSP, а также Клиент HSM 2.0 присутствуют технические ограничения формирования подписи по ГОСТ Р 34.10-2001 после 1 января 2019 года в виде соответствующих предупреждающих окон. |
Полезные ссылки
...
КриптоПро: IFCP plugin для входа ЕСИА (Госуслуги)
КриптоПро CADES ЭЦП Browser plug-in
КриптоПро CADES ЭЦП Browser plug-in
Таблица поддерживаемых устройств Крипто-Про CSP
На официальном сайте СКЗИ КриптоПро в таблице указаны носители, продемонстрировавшие работоспособность с соответствующими версиями КриптоПро CSP:
https://www.cryptopro.ru/products/csp/compare
База знаний КриптоПро
https://support.cryptopro.ru/index.php?/Knowledgebase/List
Обсуждение КриптоПро CSP на форуме astralinux
https://forum.astralinux.ru/threads/419/
Chromium+КриптоПРО
Список ГИС и ЭТП использующих cades-bes plugin
ЭЦП в государственных информационных системах и электронно торговых площадках
Перечень аккредитованных удостоверяющих центров
https://e-trust.gosuslugi.ru/CA/
Диагностический архив для обращения в тех. поддержку
...
По всем вопросам установки СКЗИ в операционную систему, их настройки и обеспечения доступа к электронным ресурсам в сети Интернет можно обращаться в техническую поддержку Astra Linux и КриптоПро.
Для создания диагностического архива, можно воспользоваться следующей командой:
sudo /opt/cprocsp/bin/amd64/curl http://cryptopro.ru/sites/default/files/products/csp/cprodiag 2>/dev/null|sudo perl
В результате должен получится cprodiag_день_месяц_год.tar.gz архив, который следует прислать в техническую поддержку Astra Linux и КриптоПро.
Но его можно скачать: https://structure.mil.ru/structure/UC/certificate.htm
Из под учетной записи пользователя ставится в uca, из под учетной записи администратора ставить в mca:
...
По тем же причинам недоступен список отвызва (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
после этого цепочка должна проверяться.
В случае, если рабочая станция не имеет доступа к сети, следует stdin заменить на -file /tmp/ca.cer и -file /tmp/ca.crl
Примечание:
Корневые сертификаты для всех пользователей ставятся в хранилище машины - т.е. с параметром -store mRoot. Например: certmgr -store mRoot -inst -file /tmp/cert.cer
Удаление сертификата:
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
4) Подписание документа ЭЦП
Подпись можно делать двумя способами:
* 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, 5087746137023, 007726604816, 13407634844, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Цепочки сертификатов проверены.
Папка './':
smolensk16.iso... Подпись данных...
Подписанное сообщение успешно создано.
[ErrorCode: 0x00000000] |
Проверка подписи в файле:
1) обучающий:
указать в качестве хранилища сертификатов само сообщение (ключ -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, 5087746137023, 007726604816,
13407634844, mail@rusbitech.ru
Подпись проверена.
[ErrorCode: 0x00000000] |
2) естественный:
использовать ключ -verall - он понимает, что надо найти всех подписавших и ищет в том числе в сообщении:
...