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

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Оглавление
outlinetrue

КриптоПро CSP

...

Назначение

Криптопровайдер Криптопровайдер (Cryptography Service Provider, CSP) — независимый программный модуль, позволяющий осуществлять криптографические операции. Криптопровайдер КриптоПро CSP предназначен для:

...

https://www.cryptopro.ru/products/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)

...

Предупреждение
  • При работе с Astra Linux в качестве СКЗИ разрешается использовать только сертифицированные версии КриптоПро CSP. 
  • При эксплуатации СКЗИ необходимо соблюдать требования и рекомендации эксплуатационной документации на СКЗИ, в том числе требования по защите от несанкционированного доступа и по криптографической защите, а также требования по поддерживаемым СКЗИ аппаратно-программным платформам. 
  • Контроль целостности СКЗИ и СЭП должен выполняться с использованием механизма замкнутой программной среды ОС или с использованием стандартных средств контроля целостности КриптоПро CSP.

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

...

Архив с программным обеспечением КриптоПро CSP доступен для загрузки на официальном сайте www.cryptopro.ru. Для загрузки требуется регистрация на сайте.

Для ОС Astra Linux следует загружать сертифицированные версии, пакеты "КриптоПро CSP x.x для Linux (x64, deb)" или "КриптоПро CSP x.x для Astra Linux, ЗПС (x64)" где x.x - номер версии.

Информация

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

Для написания настоящей статьи были выполнены следующие действия:

  1. Загрузить архив с сертифицированной версией ПО «КриптоПро». Название полученного файла: «linux-amd64_deb.tgz»;
  2. Открыть "Терминал Fly" (горячая клавиша Alt+T);
  3. Разархивировать полученный архив в терминале командой:

    Command
    tar -zxf linux-amd64_deb.tgz

...


  1. Перейти в

...

  1. каталог с ПО: 

    Command
    cd linux-amd64_deb

...


  1. Установить ПО:

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

...

    1. командой:

      Command
      sudo ./install_gui.sh

Image Removed* Выбрать необходимые модули, библиотеки.

...

    1. В процессе установи выбрать необходимые компоненты:
      Image Added


    2. Либо с для работы без графического пользовательского интерфейса запустив сценарий instal.sh командой:

      Command
      sudo ./install.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

Image Removed

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

Для того, чтобы не вводить каждый раз полный путь к утилитам КриптоПро CSP, в терминале FLY следует ввести командуПример вывода команды:

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

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

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

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

Блок кода
sudo apt install libccid pcscd libgost-astra

Пакеты с модулем поддержки для:

Рутокен: https://www.rutoken.ru/support/download/nix/

Алладин: https://www.aladdin-rd.ru/support/downloads/jacarta

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

Блок кода
sudo service pcscd restart
Предупреждение
Начиная с версии КриптоПро 4.0 R4 и выше, модули поддержки смарткарт входят в состав пакета.

Ключ для работы в режиме замкнутой программной среды Astra Linux SE.

  • Перед импортом ключа, следует предварительно установить пакет astra-digsig-oldkeys
  • Ключ для работы в режиме замкнутой программной среды Astra Linux SE следует загрузить и поместить в предварительно созданную директорию:/etc/digsig/keys/legacy/cryptopro
  • После чего выполнить команду: 
sudo update-initramfs -uk all
  • и перезагрузить АРМ
Информация

Смоленск 1.6: Режим замкнутой программной среды

Проверка лицензии

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

/opt/cprocsp/sbin/amd64/cpconfig -license -view

Image Removed

Установка лицензии

...

collapsetrue
ii  cprocsp-cptools-gtk-64                        5.0.12000-6                                           amd64        GUI application for various CSP tasks. Build 12000.
ii  cprocsp-curl-64                               5.0.12000-6                                           amd64        CryptoPro cURL shared library and application. Build 12000.
ii  cprocsp-rdr-cloud-64                          5.0.12000-6                                           amd64        DSS keys support module
ii  cprocsp-rdr-cpfkc-64                          5.0.12000-6                                           amd64        FKC support module
ii  cprocsp-rdr-cryptoki-64                       5.0.12000-6                                           amd64        Module for PKCS11 keys support. Build 12000.
ii  cprocsp-rdr-edoc-64                           5.0.12000-6                                           amd64        Electronic documents support module
ii  cprocsp-rdr-emv-64                            5.0.12000-6                                           amd64        EMV/Gemalto support module
ii  cprocsp-rdr-gui-gtk-64                        5.0.12000-6                                           amd64        CryptoPro CSP GTK GUI components. Build 12000.
ii  cprocsp-rdr-infocrypt-64                      5.0.12000-6                                           amd64        Infocrypt FKC support module
ii  cprocsp-rdr-inpaspot-64                       5.0.12000-6                                           amd64        Inpaspot support module
ii  cprocsp-rdr-kst-64                            5.0.12000-6                                           amd64        MorphoKST support module
ii  cprocsp-rdr-mskey-64                          5.0.12000-6                                           amd64        Mskey support module
ii  cprocsp-rdr-novacard-64                       5.0.12000-6                                           amd64        Novacard support module
ii  cprocsp-rdr-pcsc-64                           5.0.12000-6                                           amd64        CryptoPro CSP. PC/SC devices support. Build 12000.
ii  cprocsp-rdr-rosan-64                          5.0.12000-6                                           amd64        Rosan support module
ii  cprocsp-rdr-rutoken-64                        5.0.12000-6                                           amd64        Rutoken support module
ii  lsb-cprocsp-base                              5.0.12000-6                                           all          CryptoPro CSP directories and scripts. Build 12000.
ii  lsb-cprocsp-ca-certs                          5.0.12000-6                                           all          CryptoPro CA certificates. Build 12000.
ii  lsb-cprocsp-capilite-64                       5.0.12000-6                                           amd64        CryptoPro CSP. CryptoAPI Lite libraries and applications. Build 12000.
ii  lsb-cprocsp-import-ca-certs                   5.0.12000-6                                           all          Import OS root certificates in CryptoPro CSP. Build 12000.
ii  lsb-cprocsp-kc1-64                            5.0.12000-6                                           amd64        CryptoPro CSP KC1. Build 12000.
ii  lsb-cprocsp-pkcs11-64                         5.0.12000-6                                           amd64        CryptoPro PKCS11. Build 12000.
ii  lsb-cprocsp-rdr-64                            5.0.12000-6                                           amd64        CryptoPro CSP common libraries and utilities. Build 12000.

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

Для того, чтобы не вводить каждый раз полный путь к утилитам КриптоПро CSP, в терминале FLY следует ввести команду:

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

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

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

Для корректной работы с токенами и смарт-картами установить:

Команда для установки пакетов из состава ОС:

Command
sudo apt install libccid pcscd libgost-astra

Пакеты с модулями поддержки доступны по указанным выше ссылкам. Порядок установки модулей, предоставляемых производителями см. в инструкциях производителя, а также см. статьи Аладдин RD JaCarta в AstraLinux и Рутокен в Astra Linux.

Ключ КриптоПРО CSP для работы в режиме замкнутой программной среды Astra Linux SE.

Информация

Подробнее про режим замкнутой программной среды (ЗПС) и про работу в этом режиме см. Astra Linux: Режим замкнутой программной среды

...

Ключ для обеспечения работы в режиме ЗПС Astra Linux SE доступен по ссылке: https://cryptopro.ru/sites/default/files/private/csp/cryptopro_pub_key.gpg. Для загрузки ключа требуется регистрация.

Для установки загруженного ключа:

  • установить пакет astra-digsig-oldkeys:

    Command
    sudo apt install astra-digsig-oldkeys


  • создать каталог /etc/digsig/keys/legacy/cryptopro:

    Command
    sudo mkdir -p /etc/digsig/keys/legacy/cryptopro

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


  • выполнить команду:

    Command
    sudo update-initramfs -uk all


  • перезагрузить компьютер.

Лицензии КриптоПро

Проверка срока истечения лицензии КриптоПро

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

Command
/opt/cprocsp/sbin/amd64/cpconfig -license -view


Пример вывода команды:

Блок кода
License validity:
5050010037ELQF5H28KM8E6BA
Expires: 88 day(s)
License type: Demo.


Установка лицензии КриптоПРо

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

Command
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set <номер_лицензии>


Носители и контейнеры

...

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

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

Command
/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view

Пример вывода команды:

Блок кода
Nick name: HDIMAGE
Connect name: 
Reader name: HDD key storage

Nick name: CLOUD
Connect name: 
Reader name: Cloud Token

Nick name: Aktiv Rutoken lite 00 00
Connect name: 
Reader name: Aktiv Rutoken lite 00 00

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

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

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

Блок кода
Aktiv Rutoken lite 00 00
  Card present, ATR=3B 8B 01 52 75 74 6F 6B 65 6E 6C 69 74 65 C2 
  Unknown applet
Total: SYS: 0,000 sec USR: 0,010 sec UTC: 0,310 sec
[ErrorCode: 0x00000000]

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

Command
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set <ваш_лицензионный_номер>

Носители и контейнеры

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

...

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

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

Image Removed

...

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

Получить имя носителя в формате FQCN , отображается имя носителя(Fully Qualified Container Nam):

Command
/opt/cprocsp/bin/amd64/csptest

...

-keyset

...

-enum_cont

...

-fqcn

...

-verifyc

...

|

...

iconv

...

-f

...

cp1251

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

Image Removed

...

  • \\.\HDIMAGE\

...

  • <имя_контейнера> - контейнеры на локальных носителях;
  • \\.\Aktiv Rutoken ECP 00 00\<имя_носителя> - контейнеры на токенах.

Подробную информацию см. - название носителя (токена).Подробная информация про "Имена контейнеров"

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

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

Command
/opt/cprocsp/bin/amd64/csptestf -keyset -container 'ИМЯ' -info

Пример работы команды:

Раскрыть

/opt/cprocsp/bin/amd64/csptestf -keyset -container 'Shuhrat' -info
CSP (Type:80) v5.0.10001 KC1 Release Ver:5.0.11233 OS:Linux CPU:AMD64 FastCode:READY:AVX.

AcquireContext: OK. HCRYPTPROV: 8981043
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP
Container name: "Shuhrat"
Signature key is available. HCRYPTKEY: 0x8f3b03
Exchange key is available. HCRYPTKEY: 0x8f9883
Symmetric key is not available.
UEC key is not available.

CSP algorithms info:
  Type:Encrypt    Name:'GOST 28147-89'(14) Long:'GOST 28147-89'(14)
  DefaultLen:256  MinLen:256  MaxLen:256   Prot:0   Algid:00026142

  Type:Hash       Name:'GR 34.11-2012 256'(18) Long:'GOST R 34.11-2012 256'(22)
  DefaultLen:256  MinLen:256  MaxLen:256   Prot:0   Algid:00032801

  Type:Signature  Name:'GR 34.10-2012 256'(18) Long:'GOST R 34.10-2012 256'(22)
  DefaultLen:512  MinLen:512  MaxLen:512   Prot:0   Algid:00011849

  Type:Exchange   Name:'DH 34.10-2012 256'(18) Long:'GOST R 34.10-2012 256 DH'(25)
  DefaultLen:512  MinLen:512  MaxLen:512   Prot:0   Algid:00043590

  Type:Exchange   Name:'DH 34.10-2012 256'(18) Long:'GOST R 34.10-2012 256 DH'(25)
  DefaultLen:512  MinLen:512  MaxLen:512   Prot:0   Algid:00043591

  Type:Hash       Name:'GOST 28147-89 MAC'(18) Long:'GOST 28147-89 MAC'(18)
  DefaultLen:32   MinLen:8    MaxLen:32    Prot:0   Algid:00032799

  Type:Encrypt    Name:'GR 34.12 64 M'(14) Long:'GOST R 34.12-2015 64 Magma'(27)
  DefaultLen:256  MinLen:256  MaxLen:256   Prot:0   Algid:00026160

  Type:Encrypt    Name:'GR 34.12 128 K'(15) Long:'GOST R 34.12-2015 128 Kuznyechik'(33)
  DefaultLen:256  MinLen:256  MaxLen:256   Prot:0   Algid:00026161

  Type:Hash       Name:'GR 34.13 64 M MAC'(18) Long:'GOST R 34.13-2015 64 Magma MAC'(31)
  DefaultLen:64   MinLen:8    MaxLen:64    Prot:0   Algid:00032828

  Type:Hash       Name:'GR 34.13 128 K MAC'(19) Long:'GOST R 34.13-2015 128 Kuznyechik MAC'(37)
  DefaultLen:128  MinLen:8    MaxLen:128   Prot:0   Algid:00032829

  Type:Hash       Name:'GR34.11-12 256 HMAC'(20) Long:'GOST R 34.11-2012 256 HMAC'(27)
  DefaultLen:256  MinLen:256  MaxLen:256   Prot:0   Algid:00032820

Status:
  Provider handles used:        6
  Provider handles max:         1048576
  CPU Usage:                    6 %
  CPU Usage by CSP:             0 %
  Measurement interval:         119 ms

  Virtual memory used:          15281652 KB
  Virtual memory used by CSP:   116572 KB
  Free virtual memory:          26053680 KB
  Total virtual memory:         41335332 KB

  Physical memory used:         14602360 KB
  Physical memory used by CSP:  12576 KB
  Free physical memory:         5857712 KB
  Total physical memory:        20460072 KB

Key pair info:
  HCRYPTKEY:  0x8f3b03
  AlgID:      CALG_GR3410_12_256 = 0x00002e49 (00011849):
    AlgClass: ALG_CLASS_SIGNATURE
    AlgType:  ALG_TYPE_GR3410
    AlgSID:   73
  KP_HASHOID:
    1.2.643.7.1.1.2.2 (ГОСТ Р 34.11-2012 256 бит)
  KP_DHOID:
    1.2.643.2.2.35.1 (ГОСТ Р 34.10 256 бит, параметры по умолчанию)
  KP_SIGNATUREOID:
    1.2.643.2.2.35.1 (ГОСТ Р 34.10 256 бит, параметры по умолчанию)
  Permissions:
    CRYPT_READ
    CRYPT_WRITE
    CRYPT_IMPORT_KEY
    0x800
    0x2000
    0x20000
    0x100000
KP_CERTIFICATE:
  Not set.

Key pair info:
  HCRYPTKEY:  0x8f9883
  AlgID:      CALG_DH_GR3410_12_256_SF = 0x0000aa46 (00043590):
    AlgClass: ALG_CLASS_KEY_EXCHANGE
    AlgType:  ALG_TYPE_DH
    AlgSID:   70
  KP_HASHOID:
    1.2.643.7.1.1.2.2 (ГОСТ Р 34.11-2012 256 бит)
  KP_DHOID:
    1.2.643.2.2.36.0 (ГОСТ Р 34.10 256 бит, параметры обмена по умолчанию)
  KP_SIGNATUREOID:
    1.2.643.2.2.36.0 (ГОСТ Р 34.10 256 бит, параметры обмена по умолчанию)
  Permissions:
    CRYPT_READ
    CRYPT_WRITE
    CRYPT_IMPORT_KEY
    0x800
    0x10000
    0x20000
    0x100000
KP_CERTIFICATE:
Subject: INN=007814508921, E=user@astralinux.ru, C=RU, CN=Махмадиев Шухрат, SN=Махмадиев
Valid  : 18.10.2018 12:07:24 - 18.01.2019 12:17:24 (UTC)
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2

Container version: 2
Carrier flags:
  This reader is removable.
  This reader supports unique carrier names.
  This carrier does not have embedded cryptography.
Keys in container:
  signature key
  exchange key
Extensions (maxLength: 1435):
  ParamLen: 46
  OID: 1.2.643.2.2.37.3.9
  Critical: FALSE
  Size: 19
  Decoded size: 24
  PrivKey: Not specified - 18.01.2020 07:31:07 (UTC)

  ParamLen: 47
  OID: 1.2.643.2.2.37.3.10
  Critical: FALSE
  Size: 19
  Decoded size: 24
  PrivKey: Not specified - 18.01.2020 07:31:12 (UTC)
Total: SYS: 0,020 sec USR: 0,180 sec UTC: 2,180 sec
[ErrorCode: 0x00000000]
ErrorCode: 0x00000000]


Информация

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

Command
/opt/cprocsp/bin/amd64/csptest -keys -enum -verifyc -fqcn -un



Примечание

Особенности применения PIN-кодов

Примечание

Следует учесть про PIN-коды в контейнерах:*

  • если аутентификацию осуществляет само устройство
осуществляет аутентификацию
  • (как
к примеру
  • , например, токен), то PIN при создании контейнера не
создаётся
  • создается, а предъявляется, так как он - свойство устройства. Как следствие: у всех контейнеров на токене одинаковый PIN
.
  • ;
*
  • если устройство аутентификацию не
аутентифицирует
  • осуществляет (как, например, локальный носитель HDIMAGE), то при создании контейнера
, создаётся
  • создается и PIN-код. Следствие: у всех контейнеров
,
  • PIN-код на HDIAMGE может быть разным.

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

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

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, следует воспользоваться командой: 

Command
/opt/cprocsp/bin/amd64/csptestf -passwd -cont '\\.\Aktiv Rutoken ECP 00 00\TestContainer' -change
'Ваш_новый_пароль'
<новый_пароль>



Менеджер сертификатов

...

КриптоПро в 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://zgt.mil.ru/upload/site228/document_file/GUC_2022.cer -O - | sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -stdin

Установка списка отозванных сертификатов (CRL) (список загружается с того же сайта и устанавливается в mca):

Command
wget http://reestr-pki.ru/cdp/guc2022.crl -O - | sudo
Блок кода
languagebash
Установка всех личных сертификатов со всех контейнеров в uMy : $ /opt/cprocsp/bin/amd64/csptestf -absorb -certs -autoprov Установка определенного сертификата с определенного контейнера в uMy: $ /opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\Aktiv Rutoken ECP 00 00\Ivanov' Установка сертификата удостоверяющего центра ГУЦ в mRoot: $ sudo curl http://structure.mil.ru/download/doc/morf/military/files/ca2020.cer|sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -stdin Установка промежуточного сертификата МО в mca: $ sudo curl http://structure.mil.ru/download/doc/morf/military/files/ca2019.cer|sudo certmgr -inst -store mca -stdin -crl 


Информация
titleПримечание

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

В случае, если требуется установка сертификата УЦ и CRL на рабочую станцию, не имеющую доступа к сети, следует:

  • сохранить сертификаты в файлах;
  • перенести файлы на рабочую станцию;
  • в команде установки вместо параметра -stdin применить параметр -file с указанием имени файла.

Например:

  1. Сохранить файлы:

    Command
    wget https://zgt.mil.ru/upload/site228/document_file/GUC_2022.cer
    wget http://reestr-pki.ru/cdp/guc2022.crl


  2. Перенести файлы на рабочую станцию;
  3. Установить файлы на рабочей станции:

    Command

    sudo /opt/cprocsp/bin/amd64/certmgr

  1. -inst

  1. -store

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

  1. -inst

  1. -store

  1. mca

-stdin -crl
Информация
titleПримечание
В опции
  1. -

pattern >>>  'rutoken' может быть другим в зависимости от подключенного токена.В случае, если рабочая станция не имеет доступа к сети, следует stdin заменить на -file /tmp/ca.cer и -file /tmp/ca.
  1. file guc2022.crl -crl




Информация
titleПримечание
1)
  1. Имена хранилищ указаны в
формате  certmgr, у
  1. формате, используемом программой certmgr. У программы cryptcp похожий формат: -mroot и -uAddressBook.
2)
  1. Из под учетной записи пользователя
ставится
  1. установка выполняется в хранилище uca, из под учетной записи администратора
ставить
  1. установка выполняется в хранилище mca:
3)
  1. В опции -pattern можно указать

пустые
  1. пустое значение < ' ' > чтобы установить все сертификаты в uMy. Пример: 

    Command
    /opt/cprocsp/bin/amd64/csptestf
  1. -absorb
  1. -cert
  1. -pattern
  1. ''
4)

  1. В случае, если личный сертификат

извлечен,
  1. устанавливается из файла следует использовать опцию -file :

    Command
    certmgr -inst -file cert.cer -store uMy
5)

  1. Хранилища пользователей хранятся в /var/opt/cprocsp/users


Просмотр

...

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

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

Command
/opt/cprocsp/bin/amd64/certmgr -list



Удаление

...

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

Для удаления определенного Удаление сертификата из хранилища КриптоПро выполнить команду:

Command

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

/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])? С

...

Блок кода
$ 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

...

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

...

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

  • attached (

...

  • присоединенная),

...

  • когда результирующий файл - это CMS-сообщение, внутрь которого упакованы данные и

...

  • атрибуты (типа подписи). Формат сообщения соответствует международному стандарту, поэтому извлекать данные оттуда можно любыми утилитами, типа cryptcp / csptest / openssl / certutil (на windows)

...

  • ;

...

  • detached (

...

  • отсоединенная),

...

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

Про CMS-сообщения, есть хорошая статья на ХабреПодробнее см. Форматы электронной подписи


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

...

присоединенная)

Commandcode
Title/opt/cprocsp/bin/amd64/cryptcp
-sign
-dn 'CN=Название_нужного_сертификата'
-der
zayavlenie.pdf
 

CryptCP

5.0

(c)

"КРИПТО-ПРО",

2002-2018.


Утилита

командной

строки

для

подписи

и

шифрования

файлов.



Будет

использован

следующий

сертификат:


Субъект: "АКЦИОНЕРНОЕ

ОБЩЕСТВО

""НАУЧНО-ПРОИЗВОДСТВЕННОЕ

ОБЪЕДИНЕНИЕ

РУССКИЕ

БАЗОВЫЕ


ИНФОРМАЦИОННЫЕ

ТЕХНОЛОГИИ""",

Москва,

77

г.


Москва,

RU,

шоссе

Варшавское

д.

26,

mail@rusbitech.ru

Действителен

с

02.10.2018

14:31:02

по

02.10.2019

14:41:02

Цепочки

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

проверены.


Папка

'./':

raport.pdf...


Подпись

данных...

Подписанное сообщение успешно создано.

Подписанное сообщение успешно создано.
[ErrorCode:

0x00000000]

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

...

отсоединенная)

Commandcode
Title/opt/cprocsp/bin/amd64/cryptcp
-sign
-detach
-dn
'CN=Название_нужного_сертификата'
-pin
12345678
raport.pdf
raport.pdf.sig

 CryptCP

5.0

(c)

"КРИПТО-ПРО",

2002-2018.


Утилита

командной

строки

для

подписи

и

шифрования

файлов.

Будет

использован

следующий

сертификат:

Субъект:"АКЦИОНЕРНОЕ

ОБЩЕСТВО

""НАУЧНО-ПРОИЗВОДСТВЕННОЕ

ОБЪЕДИНЕНИЕ

РУССКИЕ

БАЗОВЫЕ


ИНФОРМАЦИОННЫЕ

ТЕХНОЛОГИИ""",

Москва,

77

г.


Москва,

RU,

шоссе

Варшавское

д.

26,

mail@rusbitech.ru

Действителен

с

02.10.2018

14:31:02

по

02.10.2019

14:41:02

Цепочки

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

проверены.


Папка

'./':

raport.pdf...

Подпись

данных...

Подписанное сообщение успешно создано.

Подписанное сообщение успешно создано.
[ErrorCode:

0x00000000]

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

...

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

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

Commandcode
Title/opt/cprocsp/bin/amd64/cryptcp
-verify
raport.pdf.sig

CryptCP

5.0

(c)

"КРИПТО-ПРО",

2002-2018.


Утилита

командной

строки

для

подписи

и

шифрования

файлов.

Найдено

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

4


Цепочки

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

проверены.


Папка

'./':


raport.pdf.sig

...

Проверка

подписи...

Автор

Автор подписи:

"АКЦИОНЕРНОЕ

ОБЩЕСТВО

""НАУЧНО-ПРОИЗВОДСТВЕННОЕ

ОБЪЕДИНЕНИЕ

РУССКИЕ

БАЗОВЫЕ


ИНФОРМАЦИОННЫЕ

ТЕХНОЛОГИИ""",

Москва,

77

г.


Москва,

RU,

шоссе

Варшавское

д.

26,

mail@rusbitech.ru


Действителен

с

02.10.2018

14:31:02

по

02.10.2019

14:41:02


Действителен

с

02.10.2018

14:31:02

по

02.10.2019

14:41:02

Подпись

 Подпись проверена.


[ErrorCode:

0x00000000]

 

Способ "естественный"

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

Commandcode
Title/opt/cprocsp/bin/amd64/cryptcp
-verify
-verall
-detached
/home/shuhrat/smolensk/raport.pdf
raport.pdf.sig

CryptCP

5.0

(c)

"КРИПТО-ПРО",

2002-2018.


Утилита

командной

строки

для

подписи

и

шифрования

файлов.


Папка

'/home/shuhrat/smolensk/':

/home/shuhrat/smolensk/raport.pdf...

Проверка

подписи...

Автор

Автор подписи:

"АКЦИОНЕРНОЕ

ОБЩЕСТВО

""НАУЧНО-ПРОИЗВОДСТВЕННОЕ

ОБЪЕДИНЕНИЕ

РУССКИЕ

БАЗОВЫЕ


ИНФОРМАЦИОННЫЕ

ТЕХНОЛОГИИ""",

Москва,

77

г.


Москва,

RU,

шоссе

Варшавское

д.

26,

mail@rusbitech.ru


Действителен

с

02.10.2018

14:31:02

по

02.10.2019

14:41:02


Действителен

с

02.10.2018

14:31:02

по

02.10.2019

14:41:02

Цепочки

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

проверены.


Папка

'./':

raport.pdf...

Проверка

подписи...

Подпись

 Подпись проверена.


[ErrorCode:

0x00000000]

Способ "обучающий"

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

code
Command
Title
/opt/cprocsp/bin/amd64/cryptcp
-verify
-f
raport.pdf.sig
-detached
raport.pdf
raport.pdf.sig

CryptCP

5.0

(c)

"КРИПТО-ПРО",

2002-2018.


Утилита

командной

строки

для

подписи

и

шифрования

файлов.

Будет

использован

следующий

сертификат:


Субъект:"АКЦИОНЕРНОЕ

ОБЩЕСТВО

""НАУЧНО-ПРОИЗВОДСТВЕННОЕ

ОБЪЕДИНЕНИЕ

РУССКИЕ

БАЗОВЫЕ


ИНФОРМАЦИОННЫЕ

ТЕХНОЛОГИИ""",

Москва,

77

г.


Москва,

RU,

шоссе

Варшавское

д.

26,

mail@rusbitech.ru


Действителен

с

02.10.2018

14:31:02

по

02.10.2019

14:41:02

Цепочки

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

проверены.


Папка

'./':

raport.pdf...


Проверка

подписи..

. Автор

Автор подписи:

"АКЦИОНЕРНОЕ

ОБЩЕСТВО

""НАУЧНО-ПРОИЗВОДСТВЕННОЕ

ОБЪЕДИНЕНИЕ

РУССКИЕ

БАЗОВЫЕ


ИНФОРМАЦИОННЫЕ

ТЕХНОЛОГИИ""",

Москва,

77

г.


Москва,

RU,

шоссе

Варшавское

д.

26,

mail@rusbitech.ru


Действителен

с

02.10.2018

14:31:02

по

02.10.2019

14:41:02

Подпись

 Подпись проверена.


[ErrorCode:

0x00000000]


Извлечение подписанного файла

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

...

Command
cryptcp

...

-verify

...

raport.pdf.sig

...

raport.pdf



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

...

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

Command

...

cptools

либо:

Command

...

/opt/cprocsp/bin/amd64/cptools


Удаление КриптоПро CSP

...

Для того, чтобы удалить ПО КриптоПро CSP,  в терминале FLY следует ввести последовательно 3 команды:

Testcommand

sudo rm -rf /opt/cprocsp
sudo rm -rf /var/opt/cprocsp/
sudo rm -rf /etc/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, а также Клиент КриптоПро CSP и Клиент HSM 2.0 присутствуют технические ограничения формирования подписи по ГОСТ Р 34.10-2001 после 1 января 2019 года, о чем выдаются предупреждения в виде соответствующих предупреждающих окон.



Полезные ссылки

...

КриптоПро: IFCP plugin для входа ЕСИА (Госуслуги)

КриптоПро: 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+КриптоПРО

https://www.cryptopro.ru/news/2018/12/zashchishchennyi-brauzer-dlya-gosudarstvennykh-elektronnykh-ploshchadok-teper-i-na-linu

https://astralinux.ru/news/category-news/2018/brauzeryi-%C2%ABastra-linux-special-edition%C2%BB-adaptirovanyi-dlya-rabotyi/

Список ГИС и ЭТП использующих cades-bes plugin

ЭЦП в государственных информационных системах и электронно торговых площадках

Перечень аккредитованных удостоверяющих центров

https://e-trust.gosuslugi.ru/CA/Аккредитованные удостоверяющие центры


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

...

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