Содержание

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

#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]


Как ставятся сертификаты и их категории:


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

* личные сертификаты (ставятся в хранилище 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


Установка сертификата клиента

$ certmgr -inst -file certnew.p7b -store uMy -cont '\\.\HDIMAGE\test' -inst_to_cont


Примечание:

Корневые сертификаты для всех пользователей ставятся в хранилище машины - т.е. с параметром -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


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

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

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

* 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
Ошибка: Цепочка сертификатов не проверена для следующего сертификата (код ошибки 10000):
/dailybuilds/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:396: 0x20000133
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])?Y

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






2-ой Метод проверки подписи:

естественный: использовать ключ -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, 5087746137023, 007726604816, 
13407634844, 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])?y

Цепочки сертификатов проверены.
Папка './':
smolensk16.iso... Проверка подписи...     
    
Автор
 подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ 
РУССКИЕ БАЗОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Пустовой, Виктор Иванович,
 "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ 
БАЗОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Генеральный директор, Москва, 77 
г. Москва, RU, шоссе Варшавское д. 26, 5087746137023, 007726604816, 
13407634844, mail@rusbitech.ru
Ошибка: Цепочка сертификатов не проверена для следующего сертификата (код ошибки 10000):
/dailybuilds/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:396: 0x20000133
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])?Y

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












  • No labels