Astra linux центр сертификации

Astra linux центр сертификации Электронная цифровая подпись
Содержание
  1. Описание необходимых пакетов криптопро
  2. Astra linux орёл 2.12 криптопро 4.0.9963 госзакупки и площадки
  3. Добавление сертификатов в базу данных nss
  4. Как добавить корневой сертификат в доверенные в linux в веб браузеры
  5. Как добавить корневой сертификат в доверенные в linux на уровне системы
  6. Как проверить электронные подписи с помощью gnupg (gpg)
  7. Настройка и диагностика криптопро csp
  8. Настройка криптопро csp
  9. Настройка работы с рутокен эцп 2.0
  10. Операционная система astra linux получила сертификацию в белоруссии
  11. Подготовка смарт-карты. выпуск ключей и сертификата пользователя
  12. Подпись средствами «криптопро csp»
  13. Причина 3
  14. Программное извлечение ключей
  15. Работа с токеном jacarta pki
  16. Резюме
  17. Установка базовых компонентов криптопро
  18. Установка драйверов и по для работы с jacarta pki
  19. Установка пакетов криптопро csp
  20. Установка пакетов[править]
  21. Установка сертификатов
  22. Хеши и подписи

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

dpkg -l | grep cprocsp

Как следует из названия, это утилита для работы с электронной подписью и шифрованием для дистрибутива ROSA Linux. В данный момент утилита доступна в репозиториях Rosa Linux и Alt Linux.

Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2021 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2.

Что внутри? Утилита написана на Python с использованием PyQt4 для графического интерфейса.

Установить ее можно, использовав «Управление программами» в Rosa Linux.

Вставляем токен и запускаем утилиту.

Видим, что токен определился успешно и был найден наш сертификат.

Интерфейс программы настолько прост, что описывать и показывать в статье все его функции не имеет смысла. Попробуем только подписать файл.

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

Нажимаем «OK» и получаем информацию о том, что файл был подписан успешно.

Основное достоинство этой утилиты в том, что она совершенно бесплатная, в отличии нашего следующего продукта.

По сравнению с использованием «КриптоПро CSP» из консоли:

На порядок проще использовать− Отсутствуют различные параметры подписи

Исходный код программы доступен в публичном репозитории на ABF:abf.io/uxteam/rosa-crypto-tool-develСистема контроля версий, которую использует «НТЦ ИТ РОСА», интегрирована в сборочную среду и базируется на Git. Можно вполне использовать любой клиент git.

Надеюсь, разработчики других отечественных дистрибутивов Linux, таких как Astra Linux, GosLinux и другие добавят в свои дистрибутивы пакеты с rosa-crypto-tool.

Astra linux орёл 2.12 криптопро 4.0.9963 госзакупки и площадки

Орёл 2.12 wiki
astralinux доступ к госзакупкам
Работа с КриптоПро CSP
Инструкция по настройке и работе с Крипто-Про для государственных порталов
Установка и настройка КриптоПро CSP в Porteus Linux
Вход с помощью электронной подписи на портал Госуслуг на Linux.

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install samba ssh
$ sudo systemctl  enable ssh
$ sudo systemctl  start ssh

Два варианта либо ставим xrdp

$ sudo apt install xrdp

либо

================================== 

Установка дополнений VirtualBox $ sudo apt install gcc make perl linux-headers-generic linux-headers-`uname -r`
Подключить образ диска Дополнений гостевой ОС
$ sudo mount /dev/sr0 /mnt
mount: /dev/sr0 is write-protected, mounting read-only
$ sudo bash /mnt/VBoxLinuxAdditions.run

$ sudo reboot

Проверка:
$ sudo modinfo vboxguest
filename:       /lib/modules/4.15.3-1-generic/kernel/ubuntu/vbox/vboxguest/vboxguest.ko
version:        5.2.8_KernelUbuntu r120774
license:        GPL
description:    Oracle VM VirtualBox Guest Additions for Linux Module
author:         Oracle Corporation
srcversion:     F2E5886E3B0544500D404A1
alias:          pci:v000080EEd0000CAFEsv00000000sd00000000bc*sc*i*
depends:       
retpoline:      Y
intree:         Y
name:           vboxguest
vermagic:       4.15.3-1-generic SMP mod_unload
signat:         PKCS#7
signer:        
sig_key:       
sig_hashalgo:   md4

==================================  

$ cat /etc/astra_version
CE 2.12.8 (orel)

Загружаем  КриптоПро 4.0.9963

Устанавливаем КриптоПро 4.0.9963
$ tar -zxf linux-amd64_deb.tgz
$ cd linux-amd64_deb
$ sudo ./install_gui.sh

Ставим все галки, лицензию позднее.

Ставим
лицензию на Крипто-Про при наличии

$ sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set *****-*****-*****-*****-*****

Если при установке не ввели лицензию, установится demo лицензия
$ /opt/cprocsp/sbin/amd64/cpconfig -license -view
License validity:
4040E-G0037-EK8R3-C6K4U-*****
Expires: 3 month(s) 2 day(s)
License type: Server.

Проверяем версию:
$ /opt/cprocsp/bin/amd64/csptest -keyset -verifycontext
CSP (Type:80) v4.0.9019 KC2 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 9196739
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2022 KC2 CSP
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,020 sec
[ErrorCode: 0x00000000]

==================================================================================
Сертификат сайта госзакупок, кривой:

Не должно быть тут русских букв???

Реакция:

Отключаем реакцию на кривой сертификат госзакупок

Предварительная проверка:

$ sudo  /opt/cprocsp/bin/amd64/csptestf -tlsc -server zakupki.gov.ru -nosave
HSECPKG_ATTR_PACKAGE_INFO not supported.
Error 0x800b010f (CERT_E_CN_NO_MATCH) returned by CertVerifyCertificateChainPolicy!
An error occurred in running the program.
/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/csptest/WebClient.c:769:Error authenticating server credentials!
Error number 0x800b010f (2148204815).
CN-имя сертификата не совпадает с полученным значением.
Total: SYS: 0,060 sec USR: 0,060 sec UTC: 0,350 sec
[ErrorCode: 0x800b010f] 
Отключение:
$ sudo  /opt/cprocsp/sbin/amd64/cpconfig -ini ‘configparameters’ -add bool Rfc6125_NotStrict_ServerName_Check true

Проверка отключения:
$ sudo  /opt/cprocsp/bin/amd64/csptestf -tlsc -server zakupki.gov.ru -nosave
SECPKG_ATTR_PACKAGE_INFO not supported.
DEContext expired: OK if file is completely downloaded
Reply status: HTTP/1.1 200 OK
1 connections, 589 bytes in 1.735 seconds;
Total: SYS: 0,300 sec USR: 0,180 sec UTC: 1,780 sec
[ErrorCode: 0x00000000]

Какой результат будет?

==================================================================================

$ export PATH=”$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr ‘n’ ‘:’)$PATH”

$ sudo apt install alien
$ cd ~/
Скачать плагин  в /home/user (автоматическая загрузка версии плагина, соответствующей Вашей ОС)

$ tar -zxf cades_linux_amd64.tar.gz
$  cd ~/cades_linux_amd64

Установить плагин:
$ sudo alien -dc cprocsp-pki-2.0.0-amd64-cades.rpm
$ sudo alien -dc cprocsp-pki-2.0.0-amd64-plugin.rpm
$ sudo dpkg -i cprocsp-pki-cades_2.0.0-2_amd64.deb cprocsp-pki-plugin_2.0.0-2_amd64.deb

Сертификаты которые ставит Crypto-Pro:

$ sudo /opt/cprocsp/bin/amd64/certmgr -list -store mRoot
Certmgr 1.1 (c) “Crypto-Pro”,  2007-2022.
program for managing certificates, CRLs and stores

=============================================================================
1——-
Issuer              : [email protected], C=RU, S=77 г. Москва, L=Москва,
STREET=”125375 г. Москва, ул. Тверская, д. 7″, O=Минкомсвязь России,
OGRN=1047702026701, INN=007710474375, CN=Головной удостоверяющий центр
Subject             : [email protected], 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/2022  12:31:14 UTC
Not valid after     : 17/07/2027  12:31:14 UTC
PrivateKey Link     : No
2——-
Issuer              : [email protected], C=RU, S=77 Москва, L=г. Москва,
STREET=”улица Тверская, дом 7″, O=Минкомсвязь России,
OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России
Subject             : [email protected], C=RU, S=77 Москва, L=г. Москва,
STREET=”улица Тверская, дом 7″, O=Минкомсвязь России,
OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России
Serial              : 0x4E6D478B26F27D657F768E025CE3D393
SHA1 Hash           : 4bc6dc14d97010c41a26e058ad851f81c842415a
SubjKeyID           : c254f1b46bd44cb7e06d36b42390f1fec33c9b06
Signature Algorithm : ГОСТ Р 34.11-2022/34.10-2022 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2022 (512 bits)
Not valid before    : 06/07/2022  12:18:06 UTC
Not valid after     : 01/07/2036  12:18:06 UTC
PrivateKey Link     : No
3——-
Issuer              : OGRN=1037700085444, INN=007717107991, C=RU,
S=Moscow, L=Moscow, O=”LLC “”Crypto-Pro”””, CN=CryptoPro GOST Root CA
Subject             : OGRN=1037700085444, INN=007717107991, C=RU,
S=Moscow, L=Moscow, O=”LLC “”Crypto-Pro”””, CN=CryptoPro GOST Root CA
Serial              : 0x4056ED0099A9D6AF49C9FF98B9C70E70
SHA1 Hash           : 34e21fc04d3576b0ada81fd081955e2778291cc5
SubjKeyID           : c2364dcc24260a439625305b67579b2ac9439cd5
Signature Algorithm : ГОСТ Р 34.11-2022/34.10-2022 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2022 (512 bits)
Not valid before    : 15/11/2022  14:14:09 UTC
Not valid after     : 15/11/2033  14:14:09 UTC
PrivateKey Link     : No
=============================================================================

[ErrorCode: 0x00000000]

Установка личного сертификата выданного казначейством:

Копируем контейнер в
$ cd /var/opt/cprocsp/keys/user

$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn
CSP (Type:80) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 40317331
\.HDIMAGEPRIZMA1
OK.
Total: SYS: 0,000 sec USR: 0,010 sec UTC: 0,140 sec
[ErrorCode: 0x00000000]

или

$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn
CSP (Type:80) v4.0.9019 KC2 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 10339523
\.HDIMAGEtest
OK.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,100 sec
[ErrorCode: 0x00000000]

Установить скопированный контейнер:

$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont ‘\.HDIMAGEPRIZMA1’

или

$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont ‘\.HDIMAGEtest’

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

$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy

Установить расширение firefox на страничке с проверкой плагина:

Проверка плагина

Дожаться сообщения:
Astra linux центр сертификации

Проверить подпись.

Сертификат головного удостверящего центра центра уже установлен в mRoot

Просмотр:
$ sudo /opt/cprocsp/bin/amd64/certmgr -list -store mRoot

Если случайно удалили:
Скачаем и установим в mRoot
Если нужно удалить:
#$ sudo /opt/cprocsp/bin/amd64/certmgr -delete -all -store mRoot
Сертификаты zakupki.gov.ru
Качаем:
Сертификат Минкомсвязи России (Головного удостверяющего центра) ГОСТ Р 34.102022-2022
Сертификат Удостоверяющего центра Федерального казначейства ГОСТ Р 34.102022-2022

или wget

$ cd ~

Этот сертификат уже стоит, ставить не нужно:
#$ wget http://www.roskazna.ru/upload/iblock/7e3/guts_2022.cer
#$ sudo /opt/cprocsp/bin/amd64/certmgr -inst -cert -file guts_2022.cer -store mRoot

$ wget http://www.roskazna.ru/upload/iblock/acb/fk_2022.cer
$ sudo /opt/cprocsp/bin/amd64/certmgr -inst -cert -file fk_2022.cer -store mRoot

Просмотр:
$ sudo /opt/cprocsp/bin/amd64/certmgr -list -store mRoot

~$ sudo /opt/cprocsp/bin/amd64/certmgr -list -store mRoot
Certmgr 1.1 (c) “Crypto-Pro”,  2007-2022.
program for managing certificates, CRLs and stores

=============================================================================
1——-
Issuer              : [email protected], C=RU, S=77 Москва, L=г. Москва,
STREET=”улица Тверская, дом 7″, O=Минкомсвязь России,
OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России
Subject             : [email protected], S=г. Москва,
INN=007710568760, OGRN=1047797019830, STREET=”Большой Златоустинский
переулок, д. 6, строение 1″, L=Москва, C=RU, O=Федеральное казначейство,
CN=Федеральное казначейство
Serial              : 0x00B5F132D300000000015A
SHA1 Hash           : ab0e24e9a206877ab7dc4625dfcceb9c18b0cb0d
SubjKeyID           : c0d6d60a7d6b7ec98e39bcda89faaf942c585a8d
Signature Algorithm : ГОСТ Р 34.11-2022/34.10-2022 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2022 (512 bits)
Not valid before    : 19/11/2022  15:56:01 UTC
Not valid after     : 19/11/2033  15:56:01 UTC
PrivateKey Link     : No
CA cert URL         : http://reestr-pki.ru/cdp/guc_gost12.crt
CDP                 : http://reestr-pki.ru/cdp/guc_gost12.crl
CDP                 : http://company.rt.ru/cdp/guc_gost12.crl
CDP                 : http://rostelecom.ru/cdp/guc_gost12.crl
2——-
Issuer              : [email protected], C=RU, S=77 Москва, L=г. Москва,
STREET=”улица Тверская, дом 7″, O=Минкомсвязь России,
OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России
Subject             : [email protected], C=RU, S=77 Москва, L=г. Москва,
STREET=”улица Тверская, дом 7″, O=Минкомсвязь России,
OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России
Serial              : 0x4E6D478B26F27D657F768E025CE3D393
SHA1 Hash           : 4bc6dc14d97010c41a26e058ad851f81c842415a
SubjKeyID           : c254f1b46bd44cb7e06d36b42390f1fec33c9b06
Signature Algorithm : ГОСТ Р 34.11-2022/34.10-2022 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2022 (512 bits)
Not valid before    : 06/07/2022  12:18:06 UTC
Not valid after     : 01/07/2036  12:18:06 UTC
PrivateKey Link     : No
3——-
Issuer              : [email protected], C=RU, S=77 г. Москва, L=Москва,
STREET=”125375 г. Москва, ул. Тверская, д. 7″, O=Минкомсвязь России,
OGRN=1047702026701, INN=007710474375, CN=Головной удостоверяющий центр
Subject             : [email protected], 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/2022  12:31:14 UTC
Not valid after     : 17/07/2027  12:31:14 UTC
PrivateKey Link     : No
4——-
Issuer              : OGRN=1037700085444, INN=007717107991, C=RU,
S=Moscow, L=Moscow, O=”LLC “”Crypto-Pro”””, CN=CryptoPro GOST Root CA
Subject             : OGRN=1037700085444, INN=007717107991, C=RU,
S=Moscow, L=Moscow, O=”LLC “”Crypto-Pro”””, CN=CryptoPro GOST Root CA
Serial              : 0x4056ED0099A9D6AF49C9FF98B9C70E70
SHA1 Hash           : 34e21fc04d3576b0ada81fd081955e2778291cc5
SubjKeyID           : c2364dcc24260a439625305b67579b2ac9439cd5
Signature Algorithm : ГОСТ Р 34.11-2022/34.10-2022 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2022 (512 bits)
Not valid before    : 15/11/2022  14:14:09 UTC
Not valid after     : 15/11/2033  14:14:09 UTC
PrivateKey Link     : No
=============================================================================

Читайте также:  Батулин, рашид максудович и Око на фоне "Вечернего города"

[ErrorCode: 0x00000000]

В принципе установивки контейнера с личным сертификтом может быть достаточно.
Проверить можно:
Проверка цепочек
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy
Смотрим: 
CN=’Фёдорова Галина Борисовна’
#$ /opt/cprocsp/bin/amd64/cryptcp -sign -dn [email protected] -errchain /tmp/test /tmp/test.sgn
$ /opt/cprocsp/bin/amd64/cryptcp -copycert -dn  [email protected] -df ~/t.cer
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df ~/t.cer
…..
…..
…..
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]
Если  в CN много кавычек, можно смотреть по e-mail из сертификата
CN=”ООО “”РОМАШКА”””

$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn  [email protected] -df ~/t.cer
…..
…..
…..
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]

 
Отмеченное до крестиков можем не делать:

Установка головного сертификата удостверяющего центра (из сертификата Калуга-Астрал):

В личном сертификате есть:
CA cert URL         : http://www.dp.keydisk.ru/root/833/astral-833-2022n.cer

$ mkdir  ~/CAs
$ wget -P ~/CAs $(/opt/cprocsp/bin/amd64/certmgr -list -store uMy | awk ‘/CA cert URL/ { print $5 }’)
for cert in $(ls -1 ~/CAs/*.cer); do sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -file $cert; done

или
можно посмотреть в личном сертификате
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy

CA cert URL         : http://www.dp.keydisk.ru/root/833/astral-833-2022n.cer
….
Скачать
$ wget http://www.dp.keydisk.ru/root/833/astral-833-2022n.cer
Установить.
$ sudo /opt/cprocsp/bin/amd64/certmgr -inst -cert -file astral-833-2022n.cer -store mRoot

Проверка цепочек
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy
Смотрим: 
CN=’Фёдорова Галина Борисовна’
$ /opt/cprocsp/bin/amd64/cryptcp -copycert -dn  [email protected] -df ~/t.cer
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df ~/t.cer
…..
…..
…..
Certificate chains are checked.
Certificate’s been copied.
[ReturnCode: 0]

или

Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]

Добавление сертификатов в базу данных nss

Некоторые приложения используют базу данных NSS, и у вас может быть необходимость добавить доверенные CA в неё.

Последующие изменения повлияют только на приложения, использующие базу данных NSS и учитывающие файл /etc/pki/nssdb.

1. Сначала создайте структуру каталогов для системных файлов базы данных NSS:

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

2. Убедитесь, что файлы базы данных доступны для чтения всем:

Примечание: вышеприведённые инструкции применимы только в том случае, если пока не существует общесистемного набора файлов базы данных NSS. Если он уже существует, то важно знать пароль для этого набора баз данных (конечно, если он защищён паролем).

3. Теперь, когда доступны файлы базы данных NSS, добавьте сертификат в хранилище следующим образом:

Биты доверия, используемые в приведённом выше примере, помечают сертификат как надёжный для подписи сертификатов, используемых для связи SSL/TLS. Имя (указывается после опции -n), используемое в команде, можно выбрать любое, но убедитесь, что его легко отличить от других сертификатов в магазине.

Аналогичные инструкции можно использовать для включения сертификата только в базу данных NSS конкретного пользователя:

Удаление из файлов базы данных NSS

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

Как добавить корневой сертификат в доверенные в linux в веб браузеры

Chrome, Chromium, Firefox и созданные на их основе веб браузеры доверяют корневым сертификатам, установленным на уровне системы. То есть вам достаточно добавить в доверенные CA сертификат как это показано в предыдущем разделе.

Причём эти браузеры хотя и используют NSS, они игнорируют общесистемные сертификаты NSS, которые можно добавить в файл /etc/pki/nssdb!

Тем не менее приложения, которые используют NSS (такие как Firefox, Thunderbird, Chromium, Chrome) хранят свои списки доверенных сертификатов в файлах cert9.db. Чтобы добавить свой сертификат в каждый из этих файлов можно использовать скрипт.

Сохранить следующий код в файл CAtoCert9.sh:

В этом файле измените значение certfile на имя файла вашего сертификата и значение certname на имя вашего сертификата, сохраните и закройте файл.

Затем запустите его следующим образом:

В результате в домашней папке пользователя будут найдены все файлы cert9.db и в каждый из них будет добавлен указанный CA сертификат.

Вы можете добавить CA сертификаты в графическом интерфейсе каждого браузера.

  • В настройках Chrome: Конфиденциальность и безопасность → Безопасность → Настроить сертификаты → Центры сертификации
  • В настройках Chromium: Конфиденциальность и безопасность (выбрать «Ещё») → Настроить сертификаты → Центры сертификации

Нажмите кнопку «Импорт»:

Выберите файл с сертификатом.

Укажите, какие полномочия вы даёте этому сертификату:

  • В настройках Firefox: Приватность и Защита → Сертификаты → Просмотр сертификатов → Центры сертификации:

Нажмите кнопку «Импортировать»:

Выберите файл с сертификатом.

Укажите, какие полномочия вы даёте этому сертификату:

Как добавить корневой сертификат в доверенные в linux на уровне системы

Сертификат с расширением .crt можно открыть двойным кликом и просмотреть его содержимое:

Если вы работаете в системе от обычного пользователя (не root), то кнопка «Импортировать» будет недоступна.

Чтобы разблокировать кнопку «Импортировать», выполните следующую команду:

Данный способ может не сработать, поэтому рассмотрим, как добавить доверенные корневые центры сертификации в командной строке.

Суть метода очень проста:

  1. Добавить свой корневой CA сертификат в папку, предназначенную для таких сертификатов.
  2. Запустить программу для обновления общесистемного списка сертификатов.

Пути и команды в разных дистрибутивах Linux чуть различаются.

Просмотреть Subject всех корневых CA сертификатов можно уже знакомой командой:

Для демонстрации я добавлю сертификат с Common Name, включающим «HackWare», тогда для проверки, имеется ли сертификат с таким именем среди корневых CA, я могу использовать команду:

Для добавления своего корневого CA в доверенные в Debian, Kali Linux, Linux Mint, Ubuntu и их производных:

1. Проверьте, существует ли директория /usr/local/share/ca-certificates:

Если её ещё нет, то создайте:

Сертификат должен быть в формате PEM (обычно так и есть) и иметь расширение .crt — если расширение вашего сертификата .pem, то достаточно просто поменять на .crt.

2. Скопируйте ваш сертификат командой вида:

3. Запустите следующую команду для обновления общесистемного списка:

Проверим наличие нашего CA сертификата среди доверенных:

Сертификат успешно найден:

Чтобы его удалить:

Для добавления своего корневого CA в доверенные в Arch Linux, BlackArch и их производных:

1. Выполните команду вида:

2. Обновите общесистемный список доверенных CA:

Чтобы удалить этот сертификат:

Как проверить электронные подписи с помощью gnupg (gpg)

Утилита gpg обычно устанавливается по умолчанию на всех дистрибутивах.

Если по какой-либо причине он отсутствует, вы можете установить его с помощью приведенных ниже команд.

В некоторых дистрибутивах, если вы получаете сообщение об ошибке типа «gpg: не удалось запустить dirmngr‘ /usr/bin/dirmngr ’: нет такого файла или каталога», вам также необходимо установить dirmngr.

В дистрибутивах Debian, Ubuntu или на основе Debian запустите:

Для RedHat/CentOS:

и Fedora:

Вы можете следовать приведенному ниже примеру, чтобы проверить, как проверить установщик Debian 9.8.0 ISO.

Загрузите «SHA256SUMS», «SHA256SUMS.sign» и «debian-9.8.0-amd64-netinst.iso».

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

В противном случае нажатие на них может просто отобразить их содержимое вместо автоматической загрузки.

Откройте эмулятор терминала и перейдите в каталог, где находятся ваши загрузки.

Настройка и диагностика криптопро csp

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

/opt/cprocsp/bin/amd64/csptest -card -enum -v –v

/opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251

/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view -f cp1251

Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00 — это наш носитель.

Следуя инструкции КриптоПро CSP для Linux. Настройка, выполняем его регистрацию в криптографическом провайдере:

/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -add "Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00"

В результате выполнения в конфигурационный файл /etc/opt/cprocsp/config64.iniв раздел [KeyDevicesPCSC] будет добавлена запись:

[KeyDevicesPCSC”Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00″Default]

Чтобы выполнить требования Формуляра, Правил пользования и Руководства администратора безопасности КриптоПро CSP:

Использование СКЗИ «КриптоПро CSP» версии 4.0 с выключенным режимом усиленного контроля использования ключей не допускается. Включение данного режима описано в документах ЖТЯИ.00087-01 91 02. Руководство администратора безопасности.

Читайте также:  Как распечатать документ росреестр с цифровой подписью - Юрист в теме

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

/opt/cprocsp/sbin/amd64/cpconfig -ini 'configparameters' -add long StrengthenedKeyUsageControl 1

Проверяем, что режим включен:

cat /etc/opt/cprocsp/config64.ini | grep StrengthenedKeyUsageControl

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

/etc/init.d/cprocsp restart
/etc/init.d/cprocsp status

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

/opt/cprocsp/bin/amd64/csptest -keyset –verifycontext

/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum –unique

CSP (Type:80) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:REA
AcquireContext: OK. HCRYPTPROV: 16052291
alfa_shark1                        |SCARDJACARTA_4E3900154029304CCC00E9F6
OK.
Total: SYS: 0.000 sec USR: 0.000 sec UTC: 4.560 sec
[ErrorCode: 0x00000000]

Настройка криптопро csp

Несмотря на то, что есть несколько неплохих статей по настройке КриптоПро CSP под Linux (например,

или 

), я опишу здесь свой вариант. Основная причина в том, что большинство инструкций написаны для «Крипто Про CSP» версии 3.x. А современная версия КриптоПро CSP 4.0 не является 100% совместимой с 3.x. Дополнительная причина — всегда приятно иметь полную инструкцию по настройке в одном месте, а не переключаться с одного окна на другое.

Приступаем к настройке. Скачиваем КриптоПро CSP для Linux с официального сайта КриптоПро и распаковываем:

tar -zxf ./linux-amd64_deb.tgz 

Далее у нас есть 2 варианта: автоматическая установка и установка вручную. Автоматическая установка запускается командой sudo ./install.sh или  sudo ./install_gui.sh .

Здесь надо отдать должное разработчикам «КриптоПро» — автоматическая установка для большинства дистрибутивов отрабатывает успешно. Хотя бывают и нюансы. Например, если у вас не хватает некоторых пакетов, то установка будет успешно завершена, хотя некоторый функционал работать не будет.

Если что-то пошло не так, или вы по тем или иным причинам хотите использовать установку в ручном режиме, то вам необходимо выполнить:

dpkg -i ./cprocsp-curl-64_4.0.0-4_amd64.deb lsb-cprocsp-base_4.0.0-4_all.deb lsb-cprocsp-
capilite-64_4.0.0-4_amd64.deb lsb-cprocsp-kc1-64_4.0.0-4_amd64.deb lsb-cprocsp-rdr-64_4.0
.0-4_amd64.deb 

Для установки пакетов в ROSA используйте urpmi , вместо dpkg -i .

Устанавливаем лицензию для «КриптоПро CSP» для Linux и проверяем, что все работает нормально:

cpconfig -license -set 
cpconfig -license –view 

Мы должны получить что-то вроде:

License validity:
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Expires: 3 month(s) 2 day(s)
License type: Server. 

Настройка работы с рутокен эцп 2.0

Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей – один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало.

Для работы с токенами в ОС Linux есть масса различных средств и драйверов. Для описания всех этих средств понадобится отдельная статья. Поэтому я не буду подробно описывать, как это работает, и почему нам нужны именно эти пакеты.

Устанавливаем пакеты для работы с Рутокен ЭЦП 2.0:

apt-get install libpcsclite1 pcscd libccid

Нам также необходимо установить пакеты КриптоПро CSP для поддержки работы с токенами:

dpkg -i ./cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb ./cprocsp-rdr-rutoken-64_4.0.0-4_amd64.deb ./cprocsp-rdr-pcsc-64_4.0.0-4_amd64.deb ./lsb-cprocsp-pkcs11-64_4.0.0-4_amd64.deb

Операционная система astra linux получила сертификацию в белоруссии

Российская операционная система (ОС) специального назначения Astra Linux сертифицирована для применения в государственных организациях Белоруссии, говорится в заявлении разработчиков 18 февраля.

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

Отмечается, что Astra Linux прошла ряд проверок и стала первой российской ОС, которая получила официальный сертификат Оперативно-аналитического центра при президенте Белоруссии и была включена в «Реестр средств защиты информации, прошедших сертификацию».

«Сертификат, который мы получили в Республике Беларусь, позволяет использовать Astra Linux Special Edition на критически важных объектах информатизации — это аналог российских значимых объектов критической информационной инфраструктуры», — рассказал заместитель гендиректора ГК Astra Linux Юрий Соснин.

По его словам, следующим этапом сотрудничества с белорусскими заказчиками станет применение ОС в уже эксплуатируемых и создаваемых информационных системах.

ОC Astra Linux принята в стандарт федеральных органов исполнительной власти и госкорпораций России. Имеет полный набор сертификатов Минобороны, Федеральной службы по техническому и экспортному контролю и Федеральной службы безопасности. Рекомендована для использования в специализированных программно-аппаратных комплексах, предназначенных для обработки данных любой степени конфиденциальности, включая государственную тайну уровня «особой важности».

Источник

Подготовка смарт-карты. выпуск ключей и сертификата пользователя

Убедитесь, что установлены пакеты libengine-pkcs11-openssl и opensc. Подключите устройство, которое следует подготовить.

Проинициализируйте устройство, установите ПИН код пользователя.

Внимание! Инициализация устройства удалит все данные на JaCarta PKI без возможности восстановления. Для инициализации необходимо воспользоваться утилитой pkcs11-tool.

pkcs11-tool —slot 0 —init-token —so-pin 00000000 —label ‘JaCarta PKI’ —module /lib64/libASEP11.so

—slot 0 — указывает в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.—init-token – команда инициализации токена.—so-pin 00000000 – ПИН код администратора JaCarta PKI.

По умолчанию имеет значение 00000000—label ‘JaCarta PKI’ — метка устройства.—module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».

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

pkcs11-tool —slot 0 —init-pin —so-pin 00000000 —login —pin 11111111 —module /lib64/libASEP11.so

Подпись средствами «криптопро csp»

В составе «КриптоПро CSP» есть утилита csptestf, позволяющая выполнять различные криптографические операции. Как я уже писал выше, у этой утилиты есть 2 недостатка: Отсутствие хорошей документации и отсутствие графического интерфейса.

Подписать можно с помощью команды:

csptestf –sfsign –sign –in  -out  -my ‘Trusted eSign Test’ –detache
d –alg GOST94_256 

Здесь:

  • my — параметр, в котором надо указать часть Common Name сертификата для подписи;
  • detached — позволяет создать открепленную подпись;
  • alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.

Более подробную информацию о возможных параметрах вы можете получить, выполнив команду:

Такой интерфейс отлично подходит для подготовленного пользователя или для автоматизации операций в скриптах.

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

Причина 3

UPD 16.04.2021:

В процессе настройки среды и оборудования выяснилось, что носитель, первым оказавшийся в распоряжении, был вовсе не JaCarta PKI Nano, как ожидалось, а устройство работающее в режиме SafeNet Authentication Client eToken PRO.

UPD 16.04.2021: Некогда Банку требовалось устройство, которое могло бы работать в той же инфраструктуре, что и eToken PRO (Java). В качестве такого устройства компания “ЗАО Аладдин Р.Д.” предложила токен JaCarta PRO, который был выбран банком.

UPD 16.04.2021: Благодарю компанию Аладдин Р.Д., за то что помогли разобраться и установить истину.

В этой ошибке нет никаких политических и скрытых смыслов, а только техническая ошибка сотрудника при подготовке документов. Токен JaCarta PRO является продуктом компании ЗАО “Аладдин Р.Д.”. Апплет, выполняющий функциональную часть, разработан компанией “ЗАО Аладдин Р.Д”.

Этот eToken PRO относился к партии, выпущенной до 1 декабря 2021 года. После этой даты компания «Аладдин Р.Д.» прекратила продажу устройств eToken PRO (Java).

Забегая немного вперед, нужно сказать, что работа с ним настраивалась через соответствующие драйверы — SafenetAuthenticationClient-10.0.32-0.x86_64, которые можно получить только в поддержке Аладдин Р.Д. по отдельной online заявке.

В КриптоПро CSP для работы с этим токеном требовалось установить пакет cprocsp-rdr-emv-64 | EMV/Gemalto support module.

Данный токен определялся и откликался. При помощи утилиты SACTools из пакета SafenetAuthenticationClient можно было выполнить его инициализацию. Но при работе с СКЗИ он вел себя крайне странно и непредсказуемо.

Проявлялось это следующим образом, на команду:

csptest -keyset -cont '.Aladdin R.D. JaCarta [SCR Interface] (205D325E5842) 00 00alfa_shark' -check 

Выдавался ответ, что все хорошо:

[ErrorCode: 0x00000000]

Но сразу после попытки зачитать ключи программно эта же проверка начинала выдавать ошибку:

[ErrorCode: 0x8009001a]

Согласно перечню кодов ошибок объектной модели компонентов Microsoft

NTE_KEYSET_ENTRY_BAD
0x8009001A
Keyset as registered is invalid.

«Невалидный набор ключей» — причина такого сообщения, возможно, кроется либо в старом чипе, прошивке и апплете Gemalto, либо в их драйверах для ОС, которые не поддерживают новые стандарты формирования ЭП и функции хэширования ГОСТ Р 34.10-2021 и ГОСТ Р 34.11-2021.

В таком состоянии токен блокировался. СКЗИ начинало показывать неактуальное состояние считывателя и ключевого контейнера. Перезапуск службы криптографического провайдера cprocsp, службы работы с токенами и смарт-картами pcscd и всей операционной системы не помогали, только повторная инициализация.

Справедливости ради требуется отметить, что SafeNet eToken PRO корректно работал с ключами ГОСТ Р 34.10-2001 в ОС Windows 7 и 10.

Можно было бы попробовать установить СКЗИ КриптоПро CSP 4.0 ФКН (Gemalto), но целевая задача — защитить наши ключи ЭП и шифрования с помощью сертифицированных ФСБ и ФСТЭК изделий семейства JaCarta, в которых поддерживаются новые стандарты.

Проблему удалось решить, взяв настоящий токен JaCarta PKI в (XL) обычном корпусе.

Но на попытки заставить работать Safenet eToken PRO времени было потрачено немало. Хотелось обратить на это внимание и, возможно, кого-то оградить от подобного.

Программное извлечение ключей

В общем виде пример извлечения закрытого ключа и сертификата открытого ключа из контейнера на токене с помощью КриптоПро Java CSP следующий:

import ru.CryptoPro.JCP.KeyStore.JCPPrivateKeyEntry;
import ru.CryptoPro.JCP.params.JCPProtectionParameter;


 KeyStore keyStore = KeyStore.getInstance("Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00", "JCSP");
            keyStore.load(null, null);

        JCPPrivateKeyEntry entry = null;
        X509Certificate certificate = null;
        PrivateKey privateKey = null;

        try {
         
            entry = (JCPPrivateKeyEntry) keyStore.getEntry(keyAlias,
                    new JCPProtectionParameter(pwd));
            
            certificate = (X509Certificate) entry.getCertificate();
            privateKey = entry.getPrivateKey();
         
        } catch (UnrecoverableEntryException | NullPointerException e) {
            LOGGER.log(Level.WARNING, PRIVATE_KEY_NOT_FOUND   keyAlias   ExceptionUtils.getFullStackTrace(e));
        }

Если действовать так:

Key key = keyStore.getKey(keyAlias, pwd);

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

Работа с токеном jacarta pki

Запустим программу Xming (X11 forwarding) на своей станции, чтобы по SSH иметь возможность открывать и работать с графическими интерфейсами нужных утилит.

Читайте также:  Росэлторг электронная торговая площадка. Теги

После установки IDProtectClient — программного обеспечения для работы с JaCarta PKI, на сервере в папке /usr/share/applications появились два файла:

Athena-IDProtectClient.desktopAthena-IDProtectManager.desktop

Это ярлыки, в которых можно посмотреть параметры запуска утилит Exec=/usr/bin/SACTools

Запустим утилиту IDProtectPINTool.

С помощью нее задаются и меняются PIN-коды доступа к токену.

/usr/bin/IDProtectPINTool

При первой инициализации токена будет полезна ссылка, содержащая PIN-коды (пароли) ключевых носителей по умолчанию

Программа IDProtect_Manager позволяет просматривать информацию о токене и контейнере с ключами и сертификатом:

/usr/bin/IDProtect_Manager

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

Для работы с SafeNet Authentication Client eToken PRO существуют аналогичные программы — SafeNet Authentication Client Monitor и SafeNet Authentication Client Tools, которые запускаются так:

/usr/bin/SACMonitor
/usr/bin/SACTools

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

/jdk1.8.0_181/jre/bin/java ru.CryptoPro.JCP.ControlPane.MainControlPane

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

/opt/cprocsp/bin/amd64/csptest -keyset -cont '.Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00alfa_shark1' -info

Для диагностики контейнера используется эта же команда с ключом –check

/opt/cprocsp/bin/amd64/csptest -keyset -cont '.Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00alfa_shark' –check

Потребуется ввести пароль от контейнера:

Резюме

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

Хочется дополнительно отметить такое развитие отечественных продуктов, учитывая современный тренд на замену Windows на Linux в государственных и муниципальных организациях. В рамках этого тренда становится актуальным использование средств криптографической защиты информации под Linux.

Такое развитие не может не радовать, особенно когда это происходит под Linux.

P. S. Наверняка есть немало пользователей, особенно пользователей Linux, кто считает, что консольных утилит достаточно. А также специалистов по информационной безопасности, которые считают, что дизайн и удобство — излишество в ИБ. Но я не могу с ними согласиться.

Установка базовых компонентов криптопро

  • Распакуйте загруженный архив. Это можно сделать, выбрав соответствующий пункт меню в графическом интерфейсе или выполнив консольные команды:
cd ~/Загрузки/
tar -xvf linux-amd64.tgz

Должна появиться папка с установочными файлами КриптоПро.

  • В консоли перейдите в эту папку:
cd linux-amd64/

Дальнейшую установку нужно выполнять с правами администратора (root).

  • Выполните в консоли команду перехода в режим администратора (su) и введите пароль.
  • Выполните команды установки:
urpmi -a lsb-core ccid
./install.sh
rpm -ivh cprocsp-rdr-pcsc-* lsb-cprocsp-pkcs11-*

Если пароль администратора неизвестен, можно использовать команду sudo ./install.sh, а затем — sudo rpm -ivh cprocsp-rdr-pcsc-* lsb-cprocsp-pkcs11-*, введя при этом пароль текущего пользователя (если у него есть на это права).

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

kdesu dolphin

В открывшемся окне щёлкните по файлу install.sh.

Установка драйверов и по для работы с jacarta pki

На странице Поддержки сайта «Аладдин Р.Д.» загружаем

Согласно Руководству по внедрению «JaCarta для Linux» пункт 4.2., первым делом требуется установить пакеты pcsc-lite, ccid и libusb.

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

Выполняем проверку наличия этих пакетов и установку:

zypper search pcsc-lite

zypper search libusb

zypper install pcsc-lite

zypper search CCID

zypper install pcsc-ccid

zypper search CCID

zypper install libusb

В итоге пакет pcsc-lite был обновлен, CCID установлен, libusb никаких действия не требовалось.

Следующими двумя командами выполняем установку пакета с драйверами и программным обеспечением непосредственно для работы с JaCarta PKI:

zypper install idprotectclientlib-637.03-0.x86_64.rpm

zypper install idprotectclient-637.03-0.x86_64.rpm

Проверяем, что драйверы и ПО для JaCarta PKI установились:

zypper search idprotectclient

При попытках заставить работать SafeNet eToken PRO я нашел информацию, что предустановленный в SLES пакет openct — Library for Smart Card Readers может конфликтовать с pcsc-lite — PCSC Smart Cards Library, установку которого требует руководство Аладдин Р.Д.

zypper search openct

Поэтому пакет openct удаляем:

rpm -e openct

Теперь все необходимые драйверы и ПО для работы с токеном установлены.

Выполняем диагностику с помощью утилиты pcsc-tools и убеждаемся, что JaCarta определяется в операционной системе:

pcsc_scan

Установка пакетов криптопро csp

При установке КриптоПро CSP по умолчанию нужные пакеты для работы с токенами и смарт-картами отсутствуют.

zypper search cprocsp

Выполняем установку в CSP компонента поддержки JaCarta components for CryptoPro CSP

zypper install cprocsp-rdr-jacarta-64-3.6.408.683-4.x86_64.rpm

Некоторые компоненты имеют зависимости. Так, например, если попытаться выполнить установку пакета поддержки SafeNet eToken PRO cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm — EMV/Gemalto support module, то получим сообщение о необходимости сначала установить базовый компонент CSP поддержки считывателей cprocsp-rdr-pcsc-64-4.0.9944-5.x86_64.rpm — PC/SC components for CryptoPro CSP readers:

zypper install cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides cprocsp-rdr-pcsc-64 >= 4.0 needed by cprocsp-rdr-emv-64-4.0.9944-5.x86_64
 Solution 1: do not install cprocsp-rdr-emv-64-4.0.9944-5.x86_64
 Solution 2: break cprocsp-rdr-emv-64-4.0.9944-5.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): c

Устанавливаем базовые пакеты поддержки считывателей и ключевых носителей:

zypper install cprocsp-rdr-pcsc-64-4.0.9944-5.x86_64.rpm

zypper install lsb-cprocsp-pkcs11-64-4.0.9944-5.x86_64.rpm

Теперь можно установить модули для работы с остальными видами носителей и компонент GUI:

zypper install cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm

zypper install cprocsp-rdr-novacard-64-4.0.9944-5.x86_64.rpm
zypper install cprocsp-rdr-mskey-64-4.0.9944-5.x86_64.rpm
zypper install cprocsp-rdr-gui-gtk-64-4.0.9944-5.x86_64.rpm

Проверяем итоговую конфигурацию КриптоПро CSP:

zypper search cprocsp
Loading repository data...
Reading installed packages...

S | Name | Summary | Type— —————————– —————————————————- ——–i | cprocsp-curl-64 | CryptoPro Curl shared library and binaris. Build 9944. | packagei | cprocsp-rdr-emv-64 | EMV/Gemalto support module | packagei | cprocsp-rdr-gui-gtk-64 | GUI components for CryptoPro CSP readers. Build 9944. | packagei | cprocsp-rdr-jacarta-64 | JaCarta components for CryptoPro CSP. Build 683. | packagei | cprocsp-rdr-mskey-64 | Mskey support module | packagei | cprocsp-rdr-novacard-64 | Novacard support module | packagei | cprocsp-rdr-pcsc-64 | PC/SC components for CryptoPro CSP readers. Build 9944.| packagei | lsb-cprocsp-base | CryptoPro CSP directories and scripts. Build 9944. | packagei | lsb-cprocsp-ca-certs | CA certificates. Build 9944. | packagei | lsb-cprocsp-capilite-64 | CryptoAPI lite. Build 9944. | packagei | lsb-cprocsp-kc2-64 | CryptoPro CSP KC2. Build 9944. | packagei | lsb-cprocsp-pkcs11-64 | CryptoPro PKCS11. Build 9944. | packagei | lsb-cprocsp-rdr-64 | CryptoPro CSP readers. Build 9944. | package

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

/etc/init.d/cprocsp restart
/etc/init.d/cprocsp status

Установка пакетов[править]

Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП).

Примечание:Пакет cryptopro-preinstall вытягивает зависимости libpangox-compat, opensc, pcsc-lite, pcsc-lite-rutokens, pcsc-lite-ccid, newt52.

Таблица 1. Описание необходимых пакетов КриптоПро.

ПакетОписание
Базовые пакеты:
cprocsp-curlБиблиотека libcurl с реализацией шифрования по ГОСТ
lsb-cprocsp-baseОсновной пакет КриптоПро CSP
lsb-cprocsp-capiliteИнтерфейс CAPILite и утилиты
lsb-cprocsp-kc1Провайдер криптографической службы KC1
lsb-cprocsp-kc2Провайдер криптографической службы KC2 (требует наличия аппаратного датчика случайных чисел или гаммы)
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
ifd-rutokensКонфигурация Рутокеновских карт (или можно взять pcsc-lite-rutokens из репозитория)

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

После установки пакетов появится возможность просматривать контейнеры на устройстве Рутокен. Например, чтобы узнать путь к требуемому контейнеру, выполните:

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

Для работы с сертификатами нужно установить сертификат удостоверяющего центра (в данном случае устанавливается непосредственно корневой сертификат) и сертификат Рутокен на локальное хранилище.

  • Загрузите с сайта удостоверяющего центра файл, содержащий корневой сертификат (обычно он имеет расширение .cer или .p7b) и, при необходимости, цепочку сертификатов.
  • Загрузите список отозванных сертификатов (файл с расширением .crl) и установите полученные файлы с помощью команд, аналогичных приведённым ниже.

Установка корневого сертификата удостоверяющего центра:

/opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/<название файла>.cer -store uRoot

Установка списка отозванных сертификатов:

/opt/cprocsp/bin/amd64/certmgr -inst -crl -file ~/Загрузки/<название файла>.crl

Установка цепочки промежуточных сертификатов:

/opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/<название файла>.p7b -store CA

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

/opt/cprocsp/bin/amd64/certmgr -inst -cont '<путь к контейнеру, начинающийся на .>' -store uMy

Подробнее о программе certmgr можно узнать здесь.

Примечание. Чаще всего расширение .cer соответствует сертификату, а .p7b — контейнеру, в котором может содержаться один или больше сертификатов (например, их цепочка).

Хеши и подписи

Разработчики, которые заботятся о безопасности, часто связывают свои установочные файлы или архивы с контрольными суммами, которые вы можете проверить.

Вы можете прочитать, как проверить их в Windows или Linux:

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

Это делает хэши сами по себе почти бесполезными, особенно если они размещены на том же сервере, где находятся программы.

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

Только человек, которому принадлежит этот закрытый ключ, может создавать подписи.

Их можно проверить только с помощью соответствующего открытого ключа, который публикуется в Интернете.

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

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

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

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

Оцените статью
ЭЦП Эксперт
Добавить комментарий