Меню

Cprocsp rdr jacarta 64 ошибка


Offline

juss1962

 


#1
Оставлено
:

30 апреля 2019 г. 10:47:02(UTC)

juss1962

Статус: Новичок

Группы: Участники

Зарегистрирован: 26.07.2016(UTC)
Сообщений: 4
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз

Установлена Linux Mint 19 Tara.
Кто-то пытался установить CryptoPRO. Мне вроде было не нужно, но вот потребовалось для работы с JaCarta.
Хотел удалить и переустановить CryptoPro.
Скачал с сайта пакет 4 версии, запускаю uninstall и получаю вот это:

Помогите вычистить систему и установить эту КриптуПро, чтобы работала.


Вверх


Offline

Андрей Емельянов

 


#2
Оставлено
:

30 апреля 2019 г. 14:41:36(UTC)

Андрей Емельянов

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 11.03.2013(UTC)
Сообщений: 805
Мужчина
Российская Федерация
Откуда: Оттуда

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах

Добрый день.
Какие пакеты CryptoPro CSP сейчас установлены?

Код:

# dpkg -l|egrep "cpro|pcsc"

Если попробовать руками удалить пакет cprocsp-rdr-jacarta-64, ошибка такая же?

Код:

# dpkg -P cprocsp-rdr-jacarta-64

Отредактировано пользователем 30 апреля 2019 г. 14:42:15(UTC)
 | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Наша страничка в Instagram


Вверх


Offline

juss1962

 


#3
Оставлено
:

30 апреля 2019 г. 16:22:03(UTC)

juss1962

Статус: Новичок

Группы: Участники

Зарегистрирован: 26.07.2016(UTC)
Сообщений: 4
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз

Автор: Андрей Емельянов Перейти к цитате

Добрый день.
Какие пакеты CryptoPro CSP сейчас установлены?

Код:

# dpkg -l|egrep "cpro|pcsc"

Если попробовать руками удалить пакет cprocsp-rdr-jacarta-64, ошибка такая же?

Код:

# dpkg -P cprocsp-rdr-jacarta-64

Похоже, что всё то же самое.


Вверх


Offline

Андрей Емельянов

 


#4
Оставлено
:

6 мая 2019 г. 10:53:17(UTC)

Андрей Емельянов

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 11.03.2013(UTC)
Сообщений: 805
Мужчина
Российская Федерация
Откуда: Оттуда

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах

Дополнительно, приложите вывод:

Код:

# dpkg -l|grep lsb

Техническую поддержку оказываем тут
Наша база знаний
Наша страничка в Instagram


Вверх


Offline

Андрей Емельянов

 


#5
Оставлено
:

6 мая 2019 г. 16:13:11(UTC)

Андрей Емельянов

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 11.03.2013(UTC)
Сообщений: 805
Мужчина
Российская Федерация
Откуда: Оттуда

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах

В пакете cprocsp-rdr-jacarta-64 для deb дистрибутива выявлены ошибки. Т.е. установить можно удалить нельзя.

Удалить пакет можно таким образом:

Код:

$ sudo rm /var/lib/dpkg/info/cprocsp-rdr-jacarta-64.*

далее либо удаляете 1 пакет:

Код:

$ sudo dpkg -P cprocsp-rdr-jacarta-64

либо весь дистрибутив:

Код:

$ sudo ./uninstall.sh

Техническую поддержку оказываем тут
Наша база знаний
Наша страничка в Instagram


Вверх

thanks 1 пользователь поблагодарил Андрей Емельянов за этот пост.

juss1962

оставлено 20.05.2019(UTC)


Offline

juss1962

 


#6
Оставлено
:

20 мая 2019 г. 16:53:43(UTC)

juss1962

Статус: Новичок

Группы: Участники

Зарегистрирован: 26.07.2016(UTC)
Сообщений: 4
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз

Автор: Андрей Емельянов Перейти к цитате

В пакете cprocsp-rdr-jacarta-64 для deb дистрибутива выявлены ошибки. Т.е. установить можно удалить нельзя.

Удалить пакет можно таким образом:

Код:

$ sudo rm /var/lib/dpkg/info/cprocsp-rdr-jacarta-64.*

далее либо удаляете 1 пакет:

Код:

$ sudo dpkg -P cprocsp-rdr-jacarta-64

либо весь дистрибутив:

Код:

$ sudo ./uninstall.sh

Спасибо! Это помогло!

Отредактировано пользователем 20 мая 2019 г. 16:54:20(UTC)
 | Причина: Не указана


Вверх

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Версия ПО:  КриптоПро CSP 4.0.9963 и ниже, ОС Linux

Токены:  Любые

Проблема: 

При попытке удаления/переустановки криптопровайдера КриптоПро CSP 4.0.9963 (и более ранние версии), который ранее был настроен для работы с ключевыми носителями JaCarta (добавлен модуль поддержки JaCarta) на ОС Linux возникает ошибка:

dpkg: error processing package cprocsp-rdr-jacarta-64 (—purge):  installed cprocsp-rdr-jacarta-64 package post-removal script subprocess returned error exit status 255

Причина:

В пакете cprocsp-rdr-jacarta-64 версии 3.6.408.695 (и более ранних версий) присутствует некорректный скрипт удаления.

Решение:

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

            sudo rm /var/lib/dpkg/info/cprocsp-rdr-jacarta-64.*

  • Далее можно выполнять удаление КриптоПро CSP стандартным способом

               Для предотвращения такого поведения рекомендуем использовать модуль поддержки JaCarta под Linux (cprocsp-rdr-jacarta-64) версии 3.6.408.720 или выше. Модуль поддержки доступен в составе архива дистрибутива КриптоПро CSP 4.0 R5. Также данный модуль можно запросить, создав обращение в техническую поддержку «Аладдин Р.Д.», ссылаясь на данную статью.  Форма для обращения находится по адресу: https://www.aladdin-rd.ru/support/tickets/create.

  • Печать

Страницы: [1]   Вниз

Тема: Удаление и переустановка CryptoPRO  (Прочитано 5057 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
juss1962

Установлена Linux Mint 19 Tara.
Кто-то пытался установить CryptoPRO. Мне вроде было не нужно, но вот потребовалось для работы с JaCarta.
Хотел удалить и переустановить CryptoPro.
Скачал с сайта пакет 4 версии, запускаю uninstall и получаю вот это:

Помогите вычистить систему и установить эту КриптуПро, чтобы работала.


Оффлайн
F12

« Последнее редактирование: 29 Апреля 2019, 19:03:14 от F12 »


Оффлайн
AnrDaemon

Это даже не немного.
У CryproPro собственный форум есть.

Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…


Оффлайн
juss1962

Всем спасибо за помощь! Поехал на другой форум!   :coolsmiley:


  • Печать

Страницы: [1]   Вверх


Назначение

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

  • авторизации и обеспечения юридической значимости электронных документов при обмене ими между пользователями, посредством использования процедур формирования и проверки электронной подписи (ЭП) в соответствии с отечественными стандартами ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012 (с использованием ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012);
  • обеспечения конфиденциальности и контроля целостности информации посредством ее шифрования и имитозащиты, в соответствии с ГОСТ 28147-89;
  • обеспечения аутентичности, конфиденциальности и имитозащиты соединений по протоколу TLS;
  • контроля целостности системного и прикладного программного обеспечения для его защиты от несанкционированных изменений и нарушений правильности функционирования;
  • управления ключевыми элементами системы в соответствии с регламентом средств защиты.

https://www.cryptopro.ru/products/csp

При работе с Astra Linux в качестве СКЗИ разрешается использовать только следующие версии КриптоПро CSP:

  • КриптоПро CSP версии 4.0 R4;
  • КриптоПро CSP версии 5.0;

Указанные СКЗИ должны использоваться в исполнениях 1-Base или 2-Base. 

СКЗИ КриптоПро CSP в исполнении 2-Base должно использоваться с аппаратно-программным модулем доверенной загрузки (АПМДЗ). 

При эксплуатации СКЗИ необходимо соблюдать требования и рекомендации эксплуатационной документации на СКЗИ, в частности требования по защите от несанкционированного доступа и по криптографической защите, а также требования по поддерживаемым СКЗИ аппаратно-программным платформам. В частности, при использовании СЭП со встроенным СКЗИ необходимо проведение проверки программного обеспечения BIOS ЭВМ, на которых предполагается функционирование СКЗИ и СЭП, на соответствие методическим документам ФСБ России в области исследований программного обеспечения BIOS. 

Контроль целостности СКЗИ и СЭП должен выполняться с использованием механизма замкнутой программной среды ОС или с использованием стандартных средств контроля целостности КриптоПро CSP.

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


Архив с программным обеспечением (КриптоПро CSP) можно загрузить c официального сайта www.cryptopro.ru, предварительно зарегистрировавшись на сайте.

Для ОС Astra Linux следует загрузить пакет КриптоПро CSP 4 и выше версии —  пакет для 64 разрядной системы.

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

Для написания настоящей статьи была использована сертифицированная версия ПО «КриптоПро» «4.0 R4». При этом были выполнены следующие действия:

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

    tar -zxf linux-amd64_deb.tgz

  4. Перейти в каталог с ПО: 

    cd linux-amd64_deb

  5. Установить ПО с помощью запуска сценария «install.sh» или  «instal_gui.sh» командой:

    sudo ./install_gui.sh

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

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

Пакет Описание
Базовые пакеты:
cprocsp-curl Библиотека libcurl с реализацией шифрования по ГОСТ
lsb-cprocsp-base Основной пакет КриптоПро CSP
lsb-cprocsp-capilite Интерфейс CAPILite и утилиты
lsb-cprocsp-kc1 Провайдер криптографической службы KC1
lsb-cprocsp-rdr Поддержка ридеров и RNG
Дополнительные пакеты:
cprocsp-rdr-gui-gtk Графический интерфейс для диалоговых операций
cprocsp-rdr-rutoken Поддержка карт Рутокен
cprocsp-rdr-jacarta Поддержка карт JaCarta
cprocsp-rdr-pcsc Компоненты PC/SC для ридеров КриптоПро CSP
lsb-cprocsp-pkcs11 Поддержка PKCS11

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

dpkg -l | grep cprocsp


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

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

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

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

Начиная с версии КриптоПро 4.0 R4 и выше, модули поддержки смарт-карт входят в состав пакета и отдельная их установка не требуется.

Для более ранних версий:

 Нажмите здесь для раскрытия…

Для корректной работы с токеном/смарт-картой обязательно требуется установить дополнительные пакеты 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

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


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

Для регистрации ключа:

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

    sudo apt install astra-digsig-oldkeys

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

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

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

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

    sudo update-initramfs -uk all

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

в формате FQCN, отображается имя носителя:

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc | iconv -f cp1251

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

Где \.HDIMAGE — локальный носитель, \.HDIMAGETestCont123 — название контейнера, \.Aktiv Rutoken ECP 00 00 — название носителя (токена).

Подробная информация про «Имена контейнеров»

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

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

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

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

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

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

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

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

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

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

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

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

/opt/cprocsp/bin/amd64/csptestf -passwd -cont ‘\.Aktiv Rutoken ECP 00 00TestCont’ -deletek

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

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

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

Смена пароля на контейнер (снятие паролей с контейнера)

/opt/cprocsp/bin/amd64/csptestf -passwd -cont ‘\.Aktiv Rutoken ECP 00 00TestContainer’ -change <новый_пароль> -passwd <старый_пароль>

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

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

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


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

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

  • личные сертификаты (устанавливаются в хранилище umy, где u = User, my — имя хранилища). Для таких сертификатов, как правило, имеется закрытый ключ (и они требуют особой установки, чтобы в хранилище появилась ссылка на этот закрытый ключ). В результате с их использованием можно, например, подписать файл;
  • корневые сертификаты — краеугольный камень безопасности, так как цепочки доверия строятся от них.  Корневые сертификаты надо добавлять в хранилища осознанно и внимательно (устанавливаются в uroot, также администратор может поставить их в mroot, где m = Machine, такие сертификаты будут доступны в режиме read only в root-хранилищах всех пользователей);
  • промежуточные сертификаты — появляются, когда есть промежуточные УЦ (структура вида «головной УЦ» -> «промежуточный УЦ» -> «пользовательский сертификат»). Прямое доверие к ним не требуется (устанавливаются в uca, также администратор может поставить их в mca). В это же хранилище устанавливаются и списки отзыва сертификатов (CRL). Обычно точки получения промежуточных сертификатов и списков отзыва (CRL) правильно указаны в пользовательских сертификатах, поэтому они загружаются автоматически и устанавливаются в хранилище ucache. В общем про них можно ничего особо не знать и ничего не делать.
  • сертификаты партнёров по общению, чтобы проверять их подписи и зашифровывать для них сообщения. Ставятся либо в umy (это не лучшая, но распространенная практика), либо в uAddressBook;

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

Установка всех личных сертификатов со всех контейнеров в uMy :

/opt/cprocsp/bin/amd64/csptestf -absorb -certs -autoprov

Установка определенного сертификата с определенного контейнера в uMy:

/opt/cprocsp/bin/amd64/certmgr -inst -cont ‘\.Aktiv Rutoken ECP 00 00Ivanov’

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

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

Примечание

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

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

    sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -file ca2020.cer
    sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mca -file crl_20.crl -crl 

Примечание

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

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

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

    certmgr -inst -file cert.cer -store uMy

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

Просмотр

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

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

Удаление

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

/opt/cprocsp/bin/amd64/certmgr -delete

После выполнения команды на экран будет выведен весь список сертификатов и предложение ввести номер удаляемого сертификата.

Или удаление всех сертификатов:

/opt/cprocsp/bin/amd64/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 ‘\.HDIMAGEcontainer.name’

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

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

Проверка цепочки сертификатов

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

/opt/cprocsp/bin/amd64/cryptcp -copycert -dn ‘CN=Имя_вашего_сертификата’ -df  /temp/сертификат.cer

Можно указать другое поле сертификата: CN, E, SN, OGRN, SNILS и тд.

CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

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

Цепочка сертификатов не проверена для следующего сертификата:

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

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

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

Из вывода следует, что у нас отсутствует некий сертификат в цепочке сертификатов. Можно запустить вышеуказанную команду в режиме  debug(отладки):

$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn 'CN=Имя_вашего_сертификата' -df  /temp/сертификат.cer
...
----------- Error chain -----------
Chain status:IS_UNTRUSTED_ROOT
Revocation reason:unspecified
1. 
 Subject:'E=uc@mil.ru, OGRN=1037700255284, INN=007704252261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации'
 Issuer:'E=dit@minsvyaz.ru, C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России'
 Cert status:IS_UNTRUSTED_ROOT
...
CP_PRINT_CHAIN_DETAIL=1 --> включает режим отладки

В нашем примере из логов можно сделать вывод, что нам надо установить сертификат УЦ МО с CN=Министерство обороны Российской Федерации:

/opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file minoboron-root-2018.crt

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

....
Subject:'E=uc@mil.ru, OGRN=1037700255284, INN=007704252261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации'
 Issuer:'E=dit@minsvyaz.ru, C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России'
 Cert status:CERT_TRUST_NO_ERROR
...
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]

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


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

  • attached (присоединенная), когда результирующий файл — это CMS-сообщение, внутрь которого упакованы данные и атрибуты (типа подписи). Формат сообщения соответствует международному стандарту, поэтому извлекать данные оттуда можно любыми утилитами, типа cryptcp / csptest / openssl / certutil (на windows);
  • detached (отсоединенная), когда результирующий файл — это CMS-сообщение БЕЗ исходных данных, но с атрибутами (типа подписи). В этом случае для проверки надо «принести» исходный файл. Разумеется он остаётся неизменным и его можно смотреть cat-ом

Подпись файлов (присоединенная)

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

Подпись файлов (отсоединенная)

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

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


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

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

/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, указывающий, что надо найти всех подписавших, в том числе в сообщении:

/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):

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

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

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

cryptcp -verify raport.pdf.sig raport.pdf


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

cptools

либо

/opt/cprocsp/bin/amd64/cptools

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


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

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

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


КриптоПро 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/

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


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

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

sudo /opt/cprocsp/bin/amd64/curl http://cryptopro.ru/sites/default/files/products/csp/cprodiag 2>/dev/null|sudo perl

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

Содержание

  1. Работа с СКЗИ и аппаратными ключевыми носителями в Linux
  2. Причина 1
  3. Причина 2
  4. Причина 3
  5. Причина 4
  6. Руководство по настройке
  7. Установка драйверов и ПО для работы с JaCarta PKI
  8. Установка пакетов КриптоПро CSP
  9. Настройка и диагностика КриптоПро CSP
  10. Работа с токеном JaCarta PKI
  11. Программное извлечение ключей
  12. Результаты
  13. Как я настраивал новые утилиты по работе с электронной подписью в Linux
  14. Настройка «КриптоПро» CSP
  15. Настройка работы с Рутокен ЭЦП 2.0
  16. Получаем тестовый сертификат
  17. Подпись средствами «КриптоПро CSP»
  18. Rosa Crypto Tool
  19. Trusted eSign
  20. Резюме

Работа с СКЗИ и аппаратными ключевыми носителями в Linux

image loader

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

Сегодня я расскажу, как мы защищаем ключи шифрования и электронной подписи в наших информационных системах, и сделаю это в подробном, хорошо проиллюстрированном руководстве по настройке SUSE Linux Enterprise Server 12 SP3 для работы с токеном Aladdin JaCarta PKI и КриптоПро CSP KC2 4.0.9944.

Опубликовать данное руководство побудило несколько причин:

Причина 1

Причина 2

Лучшая инструкция по настройке взаимодействия с аппаратными носителями в Linux, которую удалось найти, была также от wiki.astralinux.ru — Работа с КриптоПро CSP

Причина 3

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

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

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

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

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

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

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

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

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

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

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

Согласно перечню кодов ошибок объектной модели компонентов Microsoft COM Error Codes (Security and Setup)

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

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

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

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

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

Причина 4

Иногда самому требуется вернуться к старым статьям и инструкциям. Это удобно, когда информация размещена во внешнем источнике. Так что спасибо Хабру за предоставленную возможность.

Руководство по настройке

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

image loader

В нашем случае это Bus 004 Device 003: ID 24dc:0101

image loader

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

Установка драйверов и ПО для работы с JaCarta PKI

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

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

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

zypper search pcsc-lite

ez0mn o8

zypper search libusb

image loader

zypper install pcsc-lite

qe6ipldd5fimbo m7j4yrmvtibw

image loader

zypper search CCID

image loader

zypper install pcsc-ccid

image loader

zypper search CCID

zypper install libusb

image loader

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

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

zypper install idprotectclientlib-637.03-0.x86_64.rpm

uxep1uijp 2kvyix yn6qkg5ing

zypper install idprotectclient-637.03-0.x86_64.rpm

xy32hqxgtmgwpn pocygfs rn3q

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

zypper search idprotectclient

7kosnk44 yewdh9i7odevcdzqdc

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

zypper search openct

image loader

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

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

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

t 5sgar9ugi z

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

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

zypper search cprocsp

image loader

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

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

9duu3e1vs9wu3qotu6dsllot9km

Некоторые компоненты имеют зависимости. Так, например, если попытаться выполнить установку пакета поддержки 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-pcsc-64-4.0.9944-5.x86_64.rpm

image loader

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

image loader

image loader

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

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

f rcadtwgu68ba6ad5wde2zke m

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

vd1athcps5p7fe9cjp ipmvvq a

Настройка и диагностика КриптоПро CSP

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

2mz1d4m5oyvg9nknwbnci24wcre

image loader

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

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

image loader

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

криптопро не видит jakarta linux (000000000000) 00 00″Default]

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

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

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

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

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

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

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

qo5xv7ayjfqa1ssyuds6dl f ue

Работа с токеном JaCarta PKI

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

image loader

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

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

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

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

image loader

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

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

image loader

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

image loader

image loader

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

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

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

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

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

image loader

jrvigahwffdkjcmfuwnwij4pdds

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

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

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

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

Результаты

Отторгаемый ключевой носитель-токен установлен во внутренний USB-порт сервера.

Само серверное оборудование опломбировано и размещается в помещении с ограниченным доступом.

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

Источник

Как я настраивал новые утилиты по работе с электронной подписью в Linux

890f324a10d3481481b3de31ae8f3e0f

Поговорим немного про средства электронной подписи (ЭП) с использованием отечественных ГОСТ-алгоритмов в Linux. Несмотря на то, что различные средства и интерфейсы по работе с ЭП в Linux развиты даже лучше, чем в Windows, использовать их не так просто.

Такое положение вещей сохранялось последние несколько лет. Но с конца 2016 года ситуация изменилась в лучшую сторону. Появилось сразу два продукта, которые позволяют работать с электронной подписью по стандарту ГОСТ и шифрованием без использования консоли – это Rosa Crypto Tool и Trusted eSign. Оба эти продукта для работы с криптографией используют «КриптоПро CSP» для Linux. Поэтому, перед тем как обратиться к описанию самих продуктов, поговорим немного про «КриптоПро CSP».

«КриптоПро CSP» под Linux — неоднозначный продукт. С одной стороны, это одно из самых распространенных и мощных сертифицированных средств по работе с криптографией как в Windows, так и в Linux. С другой стороны, для простого человека пользоватся его интерфейсами даже в Windows не так-то просто. А в Linux доступен только консольный интерфейс. Надеюсь, что компания «КриптоПро» в курсе этой ситуации, и в будущем нас ждут новые красивые и удобные интерфейсы, как для Windows, так и для Linux.

Для настройки нам понадобится:

Настройка «КриптоПро» CSP

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

Приступаем к настройке.

Скачиваем «КриптоПро CSP» для Linux с официального сайта КриптоПро — www.cryptopro.ru/downloads

Распаковываем «КриптоПро CSP» для Linux:

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

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

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

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

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

Настройка работы с Рутокен ЭЦП 2.0

1825c76335f44e4ea260b4fe7b668f55

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

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

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

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

Перед тем как перейти непосредственно к работе с подписью, надо сгенерировать ключевую пару и создать сертификат электронной подписи. Если у вас уже есть Рутокен с контейнером «КриптоПро», то эту часть можно смело пропустить.

Воспользуемся тестовым УЦ компании «КриптоПро» по адресу — https://www.cryptopro.ru/certsrv/
Создаем запрос на сертификат с параметрами по умолчанию.

image loader

Проверим, что сертификат получен успешно.

Чтобы убедиться, что «КриптоПро CSP» успешно увидел токен, выполним:

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

Теперь проверяем, что сертификат на токене видится успешно:

Записываем в хранилище сертификатов КриптоПро информацию об этом сертификате:

Проверим, что сертификат успешно сохранился в хранилище:

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

Подпись средствами «КриптоПро CSP»

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

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

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

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

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

Rosa Crypto Tool

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

Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2016 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2. Сейчас утилита поддерживает работу только с «КриптоПро CSP» для Linux, однако в ближайшее время будет добавлена поддержка других криптопровайдеров.

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

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

image loader

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

image loader

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

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

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

image loader

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

image loader

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

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

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

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

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

Trusted eSign

Второй продукт, про который мы поговорим, это Trusted eSign от компании “Цифровые технологии”. Она известна на российском рынке ИБ как разработчик средства по работе с подписью и шифрованием для ОС Windows – «КриптоАРМ».

Главное, не путать этот продукт с Trusted.eSign – web-сервисом по работе с подписью этой же компании.

Найти продукт на сайтах компании “Цифровые технологии” непросто. Небольшое описание есть в магазине http://www.cryptoarm.ru/shop/trusted_esign, продукт также можно скачать в разделе «Центр загрузки» на сайте trusted.ru — https://trusted.ru/support/downloads/?product=133

К сожалению, продукт пока доступен только в виде deb пакета для 64-битных систем. С чем связано такое ограничение, непонятно. Будем надеяться, что в ближайшее время компания выпустит и rpm пакет, а также версии для 32-битных дистрибутивов Linux.

Скачиваем с официального сайта deb-пакет и устанавливаем командой:

Запускаем Trusted eSign.

image loader

Сразу видно, что разработка не обошлась без дизайнера. Никакого сарказма. Все действия делаются просто и логично, а внешний вид радует глаз. К сожалению, большинство средств и программ в области ИБ от российских разработчиков разработаны без привлечения UX-специалистов и дизайнеров и заставляют своих пользователей страдать и плакать кровавыми слезами. Создается впечатление, что другими средства информационной безопасности просто не могут быть. “Цифровые технологии” опровергают это. Плата за красоту и удобство – необходимость платить за лицензию.

Но вернемся к подписи.

Выбираем раздел “Электронная подпись”:

image loader

Выбираем «Сертификат для подписи»:

image loader

Выбираем файлы для подписи и жмем «Подписать»:

image loader

Что под капотом? Процитирую с сайта: “Приложение создано на современном движке Electron, для вызова криптографических операций применяется библиотека OpenSSL. Совместимо с СКЗИ “КриптоПро CSP 4.0” и поддерживает все криптографические алгоритмы, реализованные в нем.” Для тех, кто ещё не в курсе Electron — это фреймворк для создания десктопных приложений на платформе node.js.

Сравним Trusted eSign с Rosa crypto tool:

+ Более удобный и красивый интерфейс
— Платная лицензия

Резюме

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

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

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

Источник

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

О КриптоПро

КриптоПро — линейка криптографических утилит (вспомогательных программ), так называемых «криптопровайдеров». Они используются во многих программах российских разработчиков для генерации ЭЦП, работы с сертификатами, организации структуры PKI и т.д. (см.сайт).

Совместимость

По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:

  • КриптоПро CSP
  • КриптоПро JCP
  • КриптоПро HSM
  • КриптоПро TSP
  • КриптоПро OCSP
  • КриптоПро ЭЦП Browser plug-in
  • КриптоПро SSF
  • КриптоПро Stunnel
  • Браузер КриптоПро Fox

Примечание: В репозитории доступен пакет firefox-gost, аналогичный КриптоПро Fox, с патчем от КриптоПро.

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

Загрузка

Архив с программным обеспечением (КриптоПро CSP 4.0 R4 — сертифицированная версия, КриптоПро CSP 5.0 — несертифицированная) можно загрузить после предварительной регистрации:

  • linux-ia32.tgz (19,3 МБ, для i586) — для 32-разрядных систем (x86, rpm);
  • linux-amd64.tgz (20,1 МБ, для x86_64) — для 64-разрядных систем (x64, rpm).

Загрузка КриптоПро

Внимание! По умолчанию при скачивании с сайта КриптоПро выдаётся лицензия на три месяца

Установка

1. Установите пакет cryptopro-preinstall:

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

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

2. Распакуйте архив, скачанный с официального сайта КриптоПро:

$ tar -xf linux-amd64.tgz

Таблица 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-cptools-gtk Инструменты КриптоПро — кроссплатформенный графический интерфейс
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 из репозитория)

3. Установите пакеты КриптоПро:

  • под правами пользователя root перейдите в папку с распакованным архивом:
    # cd /home/user/linux-amd64/
    
  • установите базовые пакеты:
    # apt-get install cprocsp-curl* lsb-cprocsp-base* lsb-cprocsp-capilite* lsb-cprocsp-kc1-64* lsb-cprocsp-rdr-64*
    

Примечание: Для 32-битной версии вместо последнего пакета — lsb-cprocsp-rdr-4*

  • установите пакеты для поддержки токенов (Рутокен S и Рутокен ЭЦП):
    # apt-get install cprocsp-rdr-gui-gtk* cprocsp-rdr-rutoken* cprocsp-rdr-pcsc* lsb-cprocsp-pkcs11* pcsc-lite-rutokens pcsc-lite-ccid
    

Примечание: Если возникнут проблемы с отображением контейнеров на Рутокен S — удалите pcsc-lite-openct

  • установите пакет для поддержки токенов (JaCarta):
    # apt-get install cprocsp-rdr-jacarta*
    

Примечание: Для установки cprocsp-rdr-jacarta может понадобиться предварительно удалить openct.

  • установите пакет для поддержки носителей с неизвлекаемыми ключами:
    # apt-get install cprocsp-rdr-cryptoki*
    

Примечание: Для корректной работы носителей с неизвлекаемыми ключами через интерфейс PKCS#11 был добавлен cprocsp-rdr-cryptoki ( с версии CSP 5.0 R2 12000). Подробнее в базе знаний КриптоПро CSP.

  • Для установки сертификатов Главного удостоверяющего центра:
    # apt-get install lsb-cprocsp-ca-certs*
    
  • Если есть потребность в установке графических Инструментов КриптоПро:
    # apt-get install cprocsp-cptools*
    

Также можно выполнить установку КриптоПро, запустив ./install_gui.sh в распакованном каталоге и выбрав необходимые модули:

# /home/user/install_gui.sh

Установка пакетов КриптоПро
Примечания:

  • Для КриптоПро CSP 3.6 R2 потребуется установить пакет cprocsp-compat-altlinux-1.0.0-1.noarch.rpm
  • Для установки cprocsp-rdr-gui может понадобиться libXm.so.3 (libopenmotif3) и для вывода кириллицы fonts-bitmap-cyr_rfx-iso8859-5.
  • Для установки cprocsp-rdr-gui-gtk потребуется предварительно установить libpangox-compat.
  • В версии 4.0.0-alt5 пакета cryptopro-preinstall добавлены подпакеты:
    • cryptopro-preinstall-base для установки с cprocsp-compat-altlinux, «предоставляющим» lsb (в случае нежелательности «лишних» зависимостей вроде libqt3), и
    • cryptopro-preinstall-full для автоустановки зависимостей cprocsp-rdr-gui.

Обновление

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

Для обновления КриптоПро необходимо:

  1. Запомнить текущую конфигурацию:
    • набор установленных пакетов:
    • настройки провайдера (для простоты можно сохранить /etc/opt/cprocsp/config[64].ini).
  2. Удалить штатными средствами ОС все пакеты КриптоПро:
    # apt-get remove lsb-cprocsp-base
    
  3. Установить аналогичные новые пакеты КриптоПро.
  4. При необходимости внести изменения в настройки (можно просмотреть diff старого и нового /etc/opt/cprocsp/config[64].ini).
  5. Ключи и сертификаты сохраняются автоматически.

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

Утилиты КриптоПро расположены в директориях /opt/cprocsp/sbin/<название_архитектуры> и /opt/cprocsp/bin/<название_архитектуры>.

Чтобы каждый раз не вводить полный путь к утилитам КриптоПро:

  • после установки пакета cryptopro-preinstall начните новый сеанс пользователя в консоли;

Примечание: Не работает для суперпользователя.

или

  • выполните от имени пользователя, который будет запускать команды (будет действовать до закрытия терминала):
export PATH="$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr 'n' ':')$PATH"

Внимание! Если установлен пакет mono или mono4-devel, может быть конфликт по имени утилиты certmgr

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

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

$ cpconfig -license -view
License validity:
4040E-G0037-EK8R3-C6K4U-HCXQG
Expires: 2 month(s) 23 day(s)
License type: Server.

Примечание: Для версии КриптоПро CSP под Linux все лицензии считаются серверными, поэтому не смущайтесь строкой «License type: Server».

Для установки другой лицензии выполните (под root):

# cpconfig -license -set <серийный_номер>

Примечание: Серийный номер следует вводить с соблюдением регистра символов.

Проверка версии

Проверить версию КриптоПро можно командой:

$ csptest -keyset -verifycontext | sed -n 's/.* Ver:*([0-9.]+).*/1/p'
4.0.9963

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

# apt-get remove lsb-cprocsp-base

Примечание: Если появляется

support_mutex_open("registry_lock") failed:: Permission denied

выполните после удаления

# rm -f /var/opt/cprocsp/tmp/.registry_lock

Настройка оборудования

Настройка устройств хранения (носителей) и считывания (считывателей) ключевой информации и датчиков случайных чисел.

Считыватели (readers) — устройства, предназначенные для чтения ключей. К считывателям относится считыватели дискет (FAT12), считыватели флеш-накопителей (FLASH), считыватели смарт-карт и токенов, считыватель образа дискеты на жестком диске (HDIMAGE) и др.

Ключевые носители (media) являются местом хранения электронной подписи. В качестве носителя ключевой информации могут использоваться: защищенный флэш-накопитель (токен) (Рутокен, JaCarta, ESMART и др.), смарт-карта, флэш-накопитель, дискета.

Ключевые контейнеры — это способ хранения закрытых ключей, реализованный в КриптоПро. Их физическое представление зависит от типа ключевого носителя (на флеш-накопителе, дискете, жестком диске это каталог в котором хранится набор файлов с ключевой информацией; в случае со смарт-картами — файлы в защищенной памяти смарт-карты).

Встроенный в «КриптоПро CSP» датчик случайных чисел (далее ДСЧ) используется для генерации ключей.

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

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

Управление считывателями

Просмотр доступных (настроенных) считывателей:

$ cpconfig -hardware reader -view

Nick name: Aladdin R.D. JaCarta [SCR Interface] 00 00
Connect name: 
Reader name: 

Nick name: FLASH
Connect name: 
Reader name: 

Nick name: HDIMAGE
Connect name: 
Reader name:

Либо:

$ csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 6679203
GetProvParam(...PP_ENUMREADERS...) until it returns false
  Len    Byte  NickName/Name
_____________________________
 0x012a  0x72  ACS ACR38U-CCID 00 00
               All PC/SC readers
 0x012a  0x72  Aktiv Co. Rutoken S 00 00
               All PC/SC readers
 0x012a  0x58  FLASH
               FLASH
 0x012a  0x18  HDIMAGE
               Структура дискеты на жестком диске
Cycle exit when getting data. 4 items found. Level completed without problems.
Total: SYS: 0,000 sec USR: 0,170 sec UTC: 0,190 sec
[ErrorCode: 0x00000000]

Инициализация считывателя HDIMAGE, если его нет в списке доступных считывателей (под правами root):

# cpconfig -hardware reader -add HDIMAGE store
Adding new reader:
Nick name: HDIMAGE
Succeeded, code:0x0

Считыватель HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/.

Для работы со считывателем PC/SC требуется пакет cprocsp-rdr-pcsc. После подключения считывателя можно просмотреть список видимых считывателей (не зависимо от того, настроены ли они в КриптоПро как считыватели, зависит только от того, какие установлены драйверы для считывателей):

$ list_pcsc 
Aladdin R.D. JaCarta [SCR Interface] 00 00
Aktiv Co. Rutoken S 00 00

Инициализация считывателя Aktiv Co. Rutoken S 00 00 (требуется, если считыватель есть в списке видимых считывателей и отсутствует в списке настроенных), в параметре -add указывается имя, которое было получено при просмотре видимых считывателей, в параметре -name — удобное для обращения к считывателю имя, например, Rutoken (под правами root):

# cpconfig -hardware reader -add 'Aktiv Co. Rutoken S 00 00' -name 'Rutoken'
Adding new reader:
Nick name: Aktiv Co. Rutoken S 00 00
Name device: Rutoken
Succeeded, code:0x0

Современные аппаратные и программно-аппаратные хранилища ключей, такие как Рутокен ЭЦП или eSmart ГОСТ, поддерживаются через интерфейс PCSC. За реализацию этого интерфейса отвечает служба pcscd, которую необходимо запустить перед началом работы с соответствующими устройствами:

Можно включить службу pcscd в автозапуск при загрузке системы:

Управление носителями

Просмотр доступных носителей:

$ cpconfig -hardware media -view | iconv -f cp1251

Управление ДСЧ

Просмотр списка настроенных ДСЧ:

$ cpconfig -hardware rndm -view

Nick name: CPSD
Connect name: 
Rndm name: 
Rndm level: 3

Nick name: BIO_GUI
Connect name: 
Rndm name: 
Rndm level: 4

Nick name: BIO_TUI
Connect name: 
Rndm name: 
Rndm level: 5

Настройка криптопровайдера

Просмотреть доступные типы криптопровайдеров можно командой cpconfig -defprov -view_type:

$ cpconfig -defprov -view_type
Provider type	Provider Type Name
_____________	_____________________________________
      75	GOST R 34.10-2001 Signature with Diffie-Hellman Key Exchange
      80	GOST R 34.10-2012 (256) Signature with Diffie-Hellman Key Exchange
      81	GOST R 34.10-2012 (512) Signature with Diffie-Hellman Key Exchange
      16	ECDSA Full and AES
      24	RSA Full and AES

Просмотр свойств криптопровайдера нужного типа:

$ cpconfig -defprov -view -provtype 80
Listing Available Providers:
Provider type	Provider Name
_____________	_____________________________________
       80	Crypto-Pro GOST R 34.10-2012 KC1 CSP
       80	Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider

Provider types and provider names have been listed.

Управление контейнерами

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

Примечание: Для того, чтобы сертификат из контейнера можно было использовать через модуль pkcs11 (из пакета lsb-cprocsp-pkcs11) в браузере firefox-gost, необходимо создать его с -provtype 75 (поддержка ГОСТ-2001).

Внимание! C 1 января 2019 г. по указанию ФСБ РФ и Минкомсвязи всем аккредитованным УЦ запрещен выпуск сертификатов ЭП по ГОСТ 2001.
Ключи и запрос на сертификат необходимо формировать ГОСТ 2012.

Создадим контейнер с именем «test» в локальном считывателе HDIMAGE.

$ csptest -keyset -provtype 75 -newkeyset -cont '\.HDIMAGEtest'

При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где будет предложено перемещать указатель мыши или нажимать клавиши:

Генерация случайной последовательности

Примечание: Если такой пакет не установлен, будет предложено ввести любые символы с клавиатуры.

После этого будет предложено указать пароль на контейнер (можно указать пустой, тогда пароль запрашиваться не будет):

Установка пароля на контейнер

Внимание! При создании контейнера на токене:

$ csptest -keyset -provtype 75 -newkeyset -cont '\.Aladdin R.D. JaCarta [SCR Interface] 01 00test'

Пароль не создается, а предъявляется (PIN-код пользователя):

Запрос пин-кода для аутентификации на носителе

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

Вывод команды:

CSP (Type:75) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 6679219
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP
Container name: "test"
Signature key is not available.
Attempting to create a signature key...
a signature key created.
Exchange key is not available.
Attempting to create an exchange key...
an exchange key created.
Keys in container:
  signature key
  exchange key
Extensions:
  OID: 1.2.643.2.2.37.3.9

  OID: 1.2.643.2.2.37.3.10
Total: SYS: 0,030 sec USR: 0,160 sec UTC: 22,910 sec
[ErrorCode: 0x00000000]

Локальный контейнер создан.

В КриптоПро 5 появилась возможность интерактивно выбирать носитель и тип создаваемого контейнера. Теперь можно создавать неизвлекаемые контейнеры.
Для этого необходимо выполнить команду, где testinside_2012 — имя контейнера:

$ csptest -keyset -provtype 80 -newkeyset -cont testinside_2012

Откроется окно выбора носителя и способа создания контейнера. Для некоторых носителей нет возможности выбрать способ создания контейнера (Рутокен S, JaCarta PKI):

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

Для некоторых носителей можно выбрать способ создания контейнера (Рутокен ЭЦП, JaCarta-2 PKI/ГОСТ).
Создание неизвлекаемого контейнера:
Создание неизвлекаемого контейнера
Создание обычного контейнера:
Создание обычного контейнера

Просмотр доступных контейнеров

Внимание! При подключении токена в порт USB3, контейнеры видны не будут.

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

csptestf -absorb -certs -autoprov

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

$ csptest -keyset -enum_cont -fqcn -verifyc | iconv -f cp1251
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 6679203
\.HDIMAGEtest
OK.
Total: SYS: 0,000 sec USR: 0,070 sec UTC: 0,130 sec
[ErrorCode: 0x00000000]

Внимание! Имена контейнеров могут содержать названия в кодировке cp1251 (например, на токенах), что делает работу с ними по этим именам проблематичной. Можно показать список контейнеров с их уникальными именами командой:

$ csptest -keyset -enum_cont -fqcn -verifyc -uniq
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 6679203
\.Aktiv Co. Rutoken S 00 00card              |\.Aktiv Co. Rutoken S 00 00SCARDrutoken_2b8654f7A006AD1
\.HDIMAGEtest                                |\.HDIMAGEHDIMAGE\test.0002EF8
OK.
Total: SYS: 0,020 sec USR: 0,190 sec UTC: 1,510 sec
[ErrorCode: 0x00000000]

Уникальные имена указаны после символа «|».

Просмотр подробной информации о контейнере:

csptestf -keyset -container '\.HDIMAGEtest' -info

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

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

$ csptest -keyset -deletekeyset -cont '\.HDIMAGEtest'
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
Container \.HDIMAGEtest deleted.
Total: SYS: 0,010 sec USR: 0,240 sec UTC: 0,260 sec
[ErrorCode: 0x00000000]

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

cryptcp — приложение командной строки для создания запросов на сертификаты, шифрования и расшифрования файлов, создания и проверки электронной подписи файлов с использованием сертификатов открытых ключей, хэширования файлов. Результатом работы приложения в большинстве случаев является файл с CMS-сообщением (PKCS#7) в кодировке DER или BASE64.

Создание запроса на получение сертификата

Создание запроса на получение сертификата средствами КриптоПро:

cryptcp -creatrqst -dn "список имён полей" -cont 'путь к контейнеру' <название_файла>.csr

Для создания запроса на получение сертификата потребуется:

  1. DN — данные, которые будут храниться в поле Subject сертификата (cn=Test User5,e=cas@altlinux.org).
  2. Имя контейнера вместе со считывателем (например, в локальном хранилище hdimage: \.HDIMAGEtest).
  3. Имя файла, в котором следует сохранить запрос (test5.csr).

Внимание! Для использования проверки подлинности клиента в браузере потребуется также указать, что запрос создается по ГОСТ 2001 и добавляется тип применения подлинности клиента: -provtype 75 -certusage «1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2».

С помощью опции -certusage можно указать OID назначение сертификата.
Назначение сертификата представляется в сертификате объектным идентификатором, присвоенным этой политике, — OID. Если в сертификате указано несколько политик, то это означает, что сертификат соответствует всем этим политикам списка.

Таблица 2. Типы применения.

OID Назначение
1.3.6.1.5.5.7.3.1 Аутентификация сервера
1.3.6.1.5.5.7.3.2 Аутентификация клиента
1.3.6.1.5.5.7.3.3 Подписывание кода
1.3.6.1.5.5.7.3.4 Защищенная электронная почта
1.3.6.1.5.5.7.3.8 Простановка штампов времени
1.3.6.1.4.1.311.10.5.1 Цифровые права
1.3.6.1.4.1.311.10.3.12 Подписывание документа

Таблица 3. Поле Subject сертификата

OID Алиас Назначение Примечание
2.5.4.3 CN Общее имя Наименование ЮЛ (если ИНН начинается с «00») или ФИО владельца. Длина не более 64 символов
2.5.4.4 SN Фамилия
2.5.4.42 GN/G Имя Отчество Общая длина текста в полях SN и G должна быть не более 64 символов (с учетом одного пробела между текстом из Фамилии и текстом из Имени)
1.2.840.113549.1.9.1 emailAddress/E Адрес электронной почты ivanov@mail.mail
1.2.643.100.3 SNILS СНИЛС Должно быть записано 11 цифр (допускается 11 нулей для иностранных граждан).
1.2.643.3.131.1.1 INN ИНН 12 цифр, для ЮЛ первые две цифры 00
2.5.4.6 C Страна Двухсимвольный код страны (RU)
2.5.4.8 S Регион Наименование субъекта РФ ЮЛ: по адресу местонахождения,

ФЛ: по адресу регистрации (39 Калининградская обл.)

2.5.4.7 L Населенный пункт Наименование населенного

пункта (Калининград)

2.5.4.9 street Название улицы, номер дома Пр-т Победы 14 кв.3
2.5.4.10 O Организация Полное или сокращенное

наименование организации (только для ЮЛ)

2.5.4.11 OU Подразделение В случае выпуска СКПЭП на должностное лицо – соответствующее подразделение организации (только для ЮЛ)
2.5.4.12 T Должность В случае выпуска СКПЭП на должностное лицо – его должность (только для ЮЛ)
1.2.643.100.1 OGRN ОГРН ОГРН организации (только для ЮЛ)

Создать запрос на субъект «cn=Test User5,e=cas@altlinux.org», используя открытый ключ, сгенерированный в контейнере test текущего пользователя криптопровайдером «GOST R 34.10-2001» (тип — 75) и сохранить его в файл test5.req, назначение ключа — аутентификация и защита электронной почты:

$ cryptcp -creatrqst -dn "cn=Test User5,e=cas@altlinux.org" -provtype 75 -nokeygen -cont '\.HDIMAGEtest' -certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2" test5.req
CryptCP 4.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Запрос успешно создан и сохранен в файле.
[ErrorCode: 0x00000000]

Созданный запрос будет сохранен в файле test5.req. Эти данные нужны для получения сертификата в удостоверяющем центре.

Создать запрос на физическое лицо, используя открытый ключ, сгенерированный в контейнере test_2012 (тип — 80) текущего пользователя криптопровайдером «Crypto-Pro GOST R 34.10-2012 KC1 CSP» (тип — 80) и сохранить его в файл test2012.req, назначение ключа — аутентификация и защита электронной почты:

$ cryptcp -creatrqst 
-dn "CN=Иванов Иван Иванович,SN=Иванов,G=Иван Иванович,E=ivanov@mail.mail,C=RU,L=Калининград,ST=39 Калининградская обл.,street=Пр-т Победы 14 кв.3,SNILS=102301111222,INN=11223344556" 
-provtype 80 -nokeygen  
-cont '\.HDIMAGEtest_2012'  
-certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2" test2012.req

Тот же запрос, используя OID:

$ cryptcp -creatrqst 
-dn "2.5.4.3=Иванов Иван Иванович,2.5.4.4=Иванов,2.5.4.42=Иван Иванович,1.2.840.113549.1.9.1=ivanov@mail.mail,2.5.4.6=RU,2.5.4.8=39 Калининградская обл.,2.5.4.7=Калининград,2.5.4.9=Пр-т Победы 14 кв.3,1.2.643.3.131.1.1=102301111222,1.2.643.100.3=11223344556" 
-provtype 80 -nokeygen -cont '\.HDIMAGEtest_2012' 
-certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2" test2012.req

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

Добавление сертификата, без привязки к ключам (только проверка ЭЦП):

$ certmgr -inst -file cert.cer

Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище uMy:

$ certmgr -inst -file cert.cer -store uMy -cont '\.HDIMAGEtest'

Запись сертификата клиента в контейнер:

$ cryptcp -instcert -provtype 80 -cont '\.HDIMAGEtest' -ku -askpin cert.cer

Основные опции:

-provtype — указать тип криптопровайдера (по умолчанию 75);

-provname — указать имя криптопровайдера;

-cont — задать имя ключевого контейнера (по умолчанию выбор из списка);

-ku — использовать контейнер пользователя (CURRENT_USER);

-km — использовать контейнер компьютера (LOCAL_MACHINE);

-dm — установка в хранилище компьютера (LOCAL_MACHINE);

-du — установка в хранилище пользователя (CURRENT_USER);

-askpin — запросить пароль ключевого контейнера из с консоли;

<имя файла> — имя файла, содержащего сертификат.

Добавление сертификата УЦ из файла certne_ucw.cer в хранилище машины (для текущего пользователя):

$ certmgr -inst -file certne_ucw.cer -store uRoot

Добавление корневых сертификатов из файла cert.p7b (для текущего пользователя):

$ certmgr -inst -all -file cert.p7b -store uRoot

Необходимо последовательно добавить все сертификаты.

Примечание: Корневые сертификаты для всех пользователей ставятся в хранилище машины — т.е. с параметром -store mRoot. Например: # certmgr -inst -store mRoot -file /tmp/cert.cer

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

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

$ certmgr -list 
Certmgr 1.1 (c) "Crypto-Pro",  2007-2018.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=Test User5, E=cas@altlinux.org
Serial              : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash           : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
SubjKeyID           : 6f7507353601d6d943f1406aae60c21ab65190e0
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 18/12/2018  13:41:38 UTC
Not valid after     : 18/03/2019  13:51:38 UTC
PrivateKey Link     : Yes                 
Container           : HDIMAGE\test.0002EF8
Provider Name       : Crypto-Pro GOST R 34.10-2001 KC1 CSP
Provider Info       : ProvType: 75, KeySpec: 1, Flags: 0x0
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
                      1.3.6.1.5.5.7.3.2
=============================================================================

[ErrorCode: 0x00000000]

Просмотр сертификатов в локальном хранилище uMy:

$ certmgr -list -store uMy

Примечание: Если в списке сертификатов выводится PrivateKey Link: Yes. Container: HDIMAGE\test.0002EF8, то сертификат ассоциирован (связан) с приватным ключом, а если выводится PrivateKey Link: No — связи нет, и использовать такой контейнер для подписи не удастся:
Ассоциация сертификата с контейнером

Просмотр сертификатов в контейнере:

$ certmgr -list -container '\.Aktiv Rutoken ECP - CP 00 00Rutoken'

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

$ certmgr -list -store uRoot

Получение сертификата в УЦ и его установка

Для получения сертификата в УЦ (на примере тестового удостоверяющего центра КриптоПро), необходимо выполнить следующие действия:

  1. Откройте в браузере ссылку http://www.cryptopro.ru/certsrv (тестовый удостоверяющий центр КриптоПро).
  2. Нажмите ссылку «Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64»:
    Ссылка «Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64»
  3. Вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла test5.req и нажмите кнопку «Выдать»:
    Выдача запроса на сертификат
  4. Сохраните файл по ссылке «Загрузить цепочку сертификатов» (по умолчанию предлагается имя certnew.p7b):
    Ссылка «Загрузить цепочку сертификатов»

Примечание: Просмотреть содержимое файла test5.req можно, выполнив команду:

$ cat test5.req
MIIBMDCB4AIBADA2MRMwEQYDVQQDDApUZXN0IFVzZXI1MR8wHQYJKoZIhvcNAQkBFhBjYXNAYWx0
bGludXgub3JnMGMwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQDq5IAql+tHfVT7r
oz+P5dPgOUVXc7dg91nzGM7fkUBSKlapGO2A2xUDRUBHLtW/hBCiZsxdH3ydhzlZ6nhcbNKgPjA8
BgorBgEEAYI3AgEOMS4wLDAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIwCwYDVR0PBAQD
AgTwMAgGBiqFAwICAwNBAFYnhGI6SsCwFRSl5p6EVnM7y6Hx9JGM6BFS4U3xTEGvzMK7yzk9j1kG
EKU7YZO5cFluPuDdi0WuYskhdz4SEg4=

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

$ certmgr -list -file certnew.p7b
Certmgr 1.1 (c) "CryptoPro",  2007-2018.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Serial              : 0x2B6E3351FD6EB2AD48200203CB5BA141
SHA1 Hash           : 0x046255290b0eb1cdd1797d9ab8c81f699e3687f3
SubjKeyID           : 15317cb08d1ade66d7159c4952971724b9017a83
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 05/08/2014  13:44:24 UTC
Not valid after     : 05/08/2019  13:54:03 UTC
PrivateKey Link     : No                  
2-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=Test User5, E=cas@altlinux.org
Serial              : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash           : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
SubjKeyID           : 6f7507353601d6d943f1406aae60c21ab65190e0
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 18/12/2018  13:41:38 UTC
Not valid after     : 18/03/2019  13:51:38 UTC
PrivateKey Link     : No
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
                      1.3.6.1.5.5.7.3.2
=============================================================================

[ErrorCode: 0x00000000]

Цепочка сертификатов содержит два сертификата:

  • Сертификат удостоверяющего центра.
  • Сертификат клиента.

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

  • выполните команду:
    $ certmgr -inst -file certnew.p7b -store uRoot
    
  • в ответ на запрос команды нажмите 1.

Для записи сертификата клиента в контейнер:

  • выполните команду:
    $ certmgr -inst -file certnew.p7b -store uMy -cont '\.HDIMAGEtest'
    
  • в ответ на запрос команды нажмите 2.
  • введите пароль на контейнер \.HDIMAGEtest при запросе:
    Запрос пароля на контейнер

Примечание: Корневые сертификаты для всех пользователей ставятся в хранилище машины — т.е. с параметром -store mRoot. Например: # certmgr -inst -store mRoot -file /tmp/cert.cer
CRL ставятся точно также только с параметром -crl. CRL ставить не обязательно, но нужно убедиться что в /etc/opt/cprocsp/config64.ini в секции apppath указан правильный путь для libcurl.so. По умолчанию там путь до библиотеки от КриптоПро и если curl от КриптоПро не установлен — загрузка CRL работать не будет. Установка параметра на 64-битных системах:

# cpconfig -ini \config\apppath -add string libcurl.so /opt/cprocsp/lib/amd64/libcpcurl.so

Проверка цепочки сертификатов

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

Таблица 4. Сертификаты популярных удостоверяющих центров.

Удостоверяющий Центр Источник Сертификаты
ПАК «Головной удостоверяющий центр» https://e-trust.gosuslugi.ru/MainCA https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=8CAE88BBFD404A7A53630864F9033606E1DC45E2
ЗАО «Национальный удостоверяющий центр» https://www.nucrf.ru/info/ https://www.nucrf.ru/download/nucrf.p7b
Удостоверяющий центр СКБ Контур https://ca.kontur.ru/about/certificates (выбрать 2015 год) http://cdp.skbkontur.ru/certificates/kontur-root-2015.crt

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

cryptcp -copycert -dn "CN=Иванов Иван Иванович" -df  tt.cer
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:11223344556, 102301111222, Пр-т Победы 14 кв.3, 39 Калининградская обл., Калининград, RU, ivanov@mail.mail, Иван Иванович, Иванов, Иванов Иван Иванович
Действителен с 21.02.2019 13:16:38 по 21.05.2019 13:26:38

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

Из вывода следует, что все сертификаты есть в цепочке сертификатов.

Если же команда возвращает «Цепочка сертификатов не проверена для следующего сертификата:» или другую ошибку:

$ cryptcp -copycert -dn E=user@test.ru -df personal.cer

CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

The following certificate will be used:
RDN:******
Valid from 13.07.2016 12:03:00 to 13.07.2017 12:04:00

Certificate chain is not checked for this certificate:
RDN:******
Valid from 13.07.2016 12:03:00 to 13.07.2017 12:04:00

The certificate or certificate chain is based on an untrusted root.
Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?

(нажмите C и Enter, чтобы выйти).

Можно запустить вышеуказанную команду с отладкой цепочки:

$ CP_PRINT_CHAIN_DETAIL=1 cryptcp -copycert -dn E=user@test.ru -df personal.cer
...
----------- Error chain -----------
Chain status:IS_UNTRUSTED_ROOT
Revocation reason:unspecified
1. 
 Subject:'E=ca@skbkontur.ru, C=ru, L=:0B5@8=1C@3, O= �$ �!▒ ▒>=BC@�, CN=uc skb kontur (root)'
 Issuer:'E=ca@skbkontur.ru, C=ru, L=:0B5@8=1C@3, O= �$ �!▒ ▒>=BC@�, CN=uc skb kontur (root)'
 Cert status:IS_UNTRUSTED_ROOT
...

То есть нам надо установить сертификат УЦ с CN=uc skb kontur (root):

$ certmgr -inst -store uRoot -file kontur-root-2015.crt

После этого:

$ cryptcp -copycert -dn E=user@test.ru -df personal.cer
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

The following certificate will be used:
RDN:******
Valid from 13.07.2016 12:03:00 to 13.07.2017 12:04:00

Certificate chains are checked.
Certificate's been copied.
[ReturnCode: 0]

Всё в порядке и сертификат виден в плагине Cades.

Удаление сертификата

Удалить сертификат c «CN=Иванов Иван Иванович» из хранилища КриптоПро:

$ certmgr -delete -dn "CN=Иванов Иван Иванович"

Удалить сертификат c «CN=Иванов Иван Иванович» из контейнера:

$ certmgr -delete -dn "CN=Иванов Иван Иванович" -container '\.Aladdin R.D. JaCarta [SCR Interface] 01 00test'

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

$ certmgr -delete -all
$ certmgr -delete -store uRoot

Удалить все сертификаты установленные в хранилище машины:

# certmgr -delete -store mRoot

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

Если при создании контейнера он был помечен как экспортируемый (ключ -exportable), то его можно экспортировать на USB-диск:

$ csptest -keycopy -contsrc '\.HDIMAGEtest_export' -contdest '\.FLASHtest_new'
CryptAcquireContext succeeded.HCRYPTPROV: 36965843
CryptAcquireContext succeeded.HCRYPTPROV: 37297363
Total: SYS: 0,100 sec USR: 0,200 sec UTC: 13,420 sec
[ErrorCode: 0x00000000]

При этом потребуется ввести пароль от контейнера ‘\.HDIMAGEtest_export’ и задать пароль на новый контейнер ‘\.FLASHtest_new’.

Примечание: Будьте внимательны при операциях импорта/экспорта контейнера с использованием токена:

$ csptest -keycopy -contsrc '\.HDIMAGEtest_export' -contdest '\.Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00test_export'

необходимо будет предъявлять pin токена.

Просмотр списка контейнеров:

$ csptest -keyset -enum_cont -fqcn -verifyc | iconv -f cp1251
CSP (Type:80) v5.0.10001 KC1 Release Ver:5.0.11319 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 41622371
\.FLASHtest_new
\.HDIMAGEtest_export
\.HDIMAGEtest
OK.
Total: SYS: 0,030 sec USR: 0,060 sec UTC: 0,160 sec
[ErrorCode: 0x00000000]

Экспортировать сертификат из локального хранилища в файл:

$ certmgr -export -dn 'CN=Ли Александр Сергеевич' -dest test.cer

Скопировать сертификат на USB-диск:

$ cp test.cer /run/media/user/NAMEUSB/

Экспорт контейнера с USB-диска на жесткий диск:

$ csptest -keycopy -contsrc '\.FLASHtest_new' -contdest '\.HDIMAGEtest_export'
CryptAcquireContext succeeded.HCRYPTPROV: 35778003
CryptAcquireContext succeeded.HCRYPTPROV: 36125907
Total: SYS: 0,050 sec USR: 0,240 sec UTC: 19,390 sec
[ErrorCode: 0x00000000]

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

Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My:

$ certmgr -inst -file /run/media/user/NAMEUSB/test.cer -cont '\.HDIMAGEtest_export'

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

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

Для экспорта сертификатов необходимо:

  1. Перенести ключи из /var/opt/cprocsp/keys на нужную машину в тот же каталог.
  2. Экспортировать сертификаты (их, количество можно определить, выполнив: certmgr -list, в примере сертификатов 3):
    $ for i in `seq 1 3`; do echo $i | certmgr -export -dest $i.cer; done
    
  3. Перенести файлы сертификатов (1.cer, 2.cer, 3.cer) на нужную машину.
  4. На машине, куда переносятся сертификаты, просмотреть какие контейнеры есть (должны появится контейнеры с первой машины):
    $ csptest -keyset -enum_cont -verifycontext -fqcn
    
  5. Связать сертификат и закрытый ключ:
    $ certmgr -inst -file 1.cer -cont '\.HDIMAGEcontainer.name'
    
    Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:
    Cannot install certificate
    Public keys in certificate and container are not identical
    
  6. Если закрытого ключа нет, то просто поставить сертификат:
    $ certmgr -inst -file 1.cer
    

Импорт персонального сертификата

Вы можете импортировать собственный сертификат в локальный считыватель HDIMAGE.

Если у вас нет сертификата, самое время его создать:

  • Создание через cert-sh-functions (требует установки пакета cert-sh-functions)
  • Создание сертификатов PKCS12 (достаточно только пакета openssl)

Допустим, мы пошли по первому пути и создали сертификат web-server (делать это строго под правами root):

# . cert-sh-functions
# ssl_generate 'web-server'

Сертификат по умолчанию будет лежать в /var/lib/ssl/certs/web-server.cert, а ключ ­— в /var/lib/ssl/private/web-server.key

Для импорта потребуется файл сертификата и закрытый ключ в контейнере PKCS#12.

Создадим для нашего ключа и сертификата необходимый контейнер:

openssl pkcs12 -export -in /var/lib/ssl/certs/web-server.cert -inkey /var/lib/ssl/private/web-server.pem -out web-server.p12

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

Проверка созданного контейнера (при запросе введите пароль, введённый в предыдущей команде):

# openssl pkcs12 -in web-server.p12 -nodes | grep BEGIN
Enter Import Password:
MAC verified OK
-----BEGIN CERTIFICATE-----
-----BEGIN PRIVATE KEY-----

И сертификат и ключ попали в контейнер.

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

# cpconfig -hardware reader -view | grep ^Nick
Nick name: FLASH
Nick name: HDIMAGE

Для импорта сертификата в КриптоПро используйте программу certmgr. В нашем случае:

$ certmgr -inst -file web-server.p12 -cont HDIMAGE

Если Вам необходимо импортировать сертификат с токена:

certmgr -inst -cont '\.Aktiv Co. Rutoken S 00 00le-fb25d25d-23e9-4723-ae4c-fe0c95f2fcc1'

Если контейнер защищен паролем используйте ключ -pin <пароль>

Инструменты КриптоПро — кроссплатформенный графический интерфейс (cptools)

В версии КриптоПРО 5 появилась графическая утилита для работы с сертификатами — cptools.
Для использования cptools необходимо установить пакет cprocsp-cptools-gtk из скачанного архива:

# apt-get install cprocsp-cptools-gtk*

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

Графическая утилита для работы с сертификатами

С её помощью можно установить сертификат из токена в хранилище uMy:
CryptoPro5-cptools-import-cert.png

Работа с сертификатами в token-manager

token-manager предоставляет графический интерфейс управления ключевыми носителями и сертификатами. С помощью этой программы можно:

  • просматривать подключенные ключевые носители (токены);
  • изменять PIN-код ключевого носителя;
  • устанавливать, просматривать и удалять сертификаты;
  • просматривать и устанавливать лицензию КриптоПро.

Установка и запуск

Установка пакета token-manager:

# apt-get install token-manager

Запустить token-manager можно:

  • из командной строки:
    $ python /usr/bin/token-manager.py
    
  • в рабочей среде Mate: Меню Система ▷ Администрирование ▷ Ключевые носители и сертификаты;
  • в рабочей среде KDE5: Меню запуска приложений ▷ Настройки ▷ Ключевые носители и сертификаты.

token-manager

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

Проверить срок истечения лицензии КриптоПРО можно выбрав в меню token-manager пункт Операции ▷ Просмотр лицензии КриптоПро CSP:

Просмотр лицензии КриптоПро CSP

Для установки другой лицензии КриптоПРО выберите в меню token-manager пункт Операции ▷ Ввод лицензии КриптоПро CSP:

Ввод лицензии КриптоПро CSP

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

Просмотреть список сертификатов в хранилище или на ключевом носителе, можно выбрав соответствующий носитель:

Просмотр сертификатов в хранилище

Для просмотра сертификата, необходимо выбрать сертификат и нажать кнопку «Просмотр»:

Просмотр сертификата

Для просмотра корневых сертификатов, необходимо выбрать в меню token-manager пункт Операции ▷ Просмотр корневых сертификатов.

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

Чтобы установить сертификат с токена в локальное хранилище, необходимо выбрать контейнер на токене и нажать кнопку «Установить»:

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

Сертификат будет установлен в локальное хранилище сертификатов и будет связан с закрытым ключом на токене.

Чтобы установить сертификат в локальное хранилище из файла, необходимо выбрать «Личное хранилище сертификатов», нажать кнопку «Установить», выбрать файл сертификата и нажать кнопку «Открыть». Появится сообщение об успешном импорте сертификата:

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

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

Электронная подпись

Существуют два вида электронной подписи:

  • прикреплённая (attached) — в результирующий файл упакованы данные исходного файла и подпись;
  • откреплённая (detached) — подписываемый документ остается неизменным, подпись же сохраняется в отдельном файле. Для проверки отсоединенной подписи нужны оба файла, файл подписи и файл исходного документа.

Создание и проверка подписи в командной строке

Создание подписи

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

Для создания прикрепленной (attached) электронной подписи выполните команду:

Примечание: Проще всего для указания сертификата использовать адрес e-mail.

$ cryptcp -sign -dn E=user@test.ru -der zayavlenie.pdf
CryptCP 4.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:user@test.ru, Иванов Иван
Действителен с 18.12.2018 13:41:38 по 18.03.2019 13:51:38

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

где

  • -dn E=user@test.ru — сертификат по e-mail;
  • -der — использовать формат DER для файла подписи (по умолчанию используется формат Base64);
  • zayavlenie.pdf — имя подписываемого файла.

На выходе появится файл zayavlenie.pdf.sig, содержащий как сам подписываемый файл, так и электронную подпись.

Для создания открепленной (detached) подписи необходимо заменить ключ -sign на -signf:

$ cryptcp -signf -dn E=user@test.ru -der zayavlenie.pdf

Тогда рядом с оригинальным файлом будет лежать файл подписи — zayavlenie.pdf.sgn.

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

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

$ cryptcp -verify zayavlenie.pdf.sig
CryptCP 4.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:user@test.ru, Иванов Иван
Действителен с 18.12.2018 13:41:38 по 18.03.2019 13:51:38

Цепочки сертификатов проверены.
Папка './':
zayavlenie.pdf.sig... Проверка подписи...     
Автор подписи: user@test.ru, Иванов Иван
 Подпись проверена.
[ErrorCode: 0x00000000]

Показано, кто подписывал и что подпись проверена.

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

$ cryptcp -vsignf zayavlenie.pdf
CryptCP 4.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:user@test.ru, Иванов Иван
Действителен с 18.12.2018 13:41:38 по 18.03.2019 13:51:38

Цепочки сертификатов проверены.
Папка './':
234.pdf... Проверка подписи...     
    
Автор подписи: user@test.ru, Иванов Иван
 Подпись проверена.
[ErrorCode: 0x00000000]

Также для проверки электронной подписи можно воспользоваться сервисом на сайте Госуслуг — https://www.gosuslugi.ru/pgu/eds.

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

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

$ cryptcp -verify zayavlenie.pdf.sig zayavlenie.pdf

Создание и проверка ЭЦП в ALT CSP КриптоПро

Создание и проверка ЭЦП в gost-crypto-gui

gost-crypto-gui — средство для создания электронной подписи и шифрования файлов.

Установить пакет gost-crypto-gui из репозитория можно, выполнив команду:

# apt-get install gost-crypto-gui

Запустить программу можно:

  • из командной строки:
    $ python /usr/bin/gost-crypto-gui.py
    
  • в рабочей среде Mate: Меню Система ▷ Администрирование ▷ Подпись и шифрование файлов;
  • в рабочей среде KDE: Меню запуска приложений ▷ Настройки ▷ Подпись и шифрование файлов.

С её помощью можно подписывать и проверять подписи файлов:

Программа gost-crypto-gui

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

  1. Нажать кнопку «Подписать файл(ы)».
  2. Выбрать файл, который необходимо подписать.
  3. Выбрать сертификат и нажать кнопку «Далее»:
    Выбор сертификата
  4. Ввести пароль на контейнер (если он был установлен):
    Пароль на контейнер
  5. Появится сообщение о подписанном файле:
    Информация о подписанном файле

Опции ЭП настраиваются в меню «Опции» (параметр «Отсоединенная подпись» не работает???):

Опции ЭП

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

  1. Нажать кнопку «Проверить подпись».
  2. Выбрать подписанный файл.
  3. Появится информация о сертификате подписи:
    Проверка электронной подписи

Создание и проверка ЭЦП с использованием cptools

Примечание: cptools доступна версии КриптоПро 5.

Запустить программу можно из консоли (должен быть установлен cprocsp-cptools-gtk из скачанного архива КриптоПро):

С помощью cptools можно подписывать и проверять подписи файлов.

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

  1. В левом меню выбрать пункт «Создание подписи».
  2. Выбрать файл, который необходимо подписать, нажав кнопку «Выбрать файл для подписи» (или ввести адрес файла в текстовое поле под кнопкой «Выбрать файл для подписи»).
  3. Изменить имя файла подписи, если оно вас не устраивает:
    Создание подписи в КриптоПро CSP
  4. Нажать кнопку «Подписать».
  5. Ввести пароль на контейнер (если он был установлен).
  6. Появится сообщение о подписанном файле: «Создание подписи завершилось успехом».

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

  1. В левом меню выбрать пункт «Проверка подписи».
  2. Выбрать файл с подписью, нажав кнопку «Выбрать файл с подписью для проверки» (или ввести адрес файла в текстовое поле под этой кнопкой).
  3. Нажать кнопку «Проверить подпись».
  4. Появится информация о результате проверки:
    Проверка подписи в КриптоПро CSP

Web

Информацию о создании и проверки ЭЦП на веб-сайтах с помощью плагина КриптоПро можно найти в
руководстве разработчика КриптоПро ЭЦП Browser plug-in:

  • КриптоПро ЭЦП. Руководство разработчика

КриптоПро ЭЦП Browser plug-in

Внимание! Последняя доступная версия плагина КриптоПро ЭЦП Browser plug-in 2.0

требует КриптоПро 4.0

. С более ранними версиями КриптоПро плагин не работает и конфликтует.

КриптоПро ЭЦП Browser plug-in предназначен для создания и проверки электронной подписи (ЭП) на веб-страницах с использованием СКЗИ «КриптоПро CSP».

Плагин проверки ЭЦП для браузера требует установленного КриптоПро CSP, пакета cprocsp-rdr-gui-gtk из его комплекта и расширения для браузера CryptoPro Extension for CAdES Browser Plug-in (для работы в Firefox версии 52 и выше).

Для установки плагина:

  1. Скачайте архив по ссылке http://www.cryptopro.ru/products/cades/plugin/get_2_0 (будет скачан архив под архитектуру браузера) или на странице https://www.cryptopro.ru/products/cades/plugin/ нажмите ссылку «версия 2.0 для пользователей»:
    Скачать актуальную версию КриптоПро ЭЦП Browser plug-in
  2. Распакуйте архив:
    $ tar -xf cades_linux_amd64.tar.gz
    
  3. Установите пакеты (под правами root, из папки с установочными файлами):
    # apt-get install cprocsp-pki-{cades,plugin}-*.rpm
    
  4. Разместите ссылки (под правами root):
    Для Chromium:
    # ln -s /usr/share/chromium-browser/extensions /usr/lib64/chromium/extensions
    
    Для Firefox (64-битная версия):
    # ln -s /opt/cprocsp/lib/amd64/libnpcades.so.2.0.0 /usr/lib64/browser-plugins/libnpcades.so
    
    В актуальных версиях пакетов cprocsp-pki-* эти символические ссылки создаются автоматически в процессе установки.
  5. Для работы в Firefox версии 52 и выше установите расширение для браузера Инструкция на сайте производителя. Для установки расширения в Mozilla Firefox скачайте его по ссылке https://www.cryptopro.ru/sites/default/files/products/cades/extensions/firefox_cryptopro_extension_latest.xpi или нажмите на ссылку «Скачать расширение для браузера» на странице https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html
    Ссылка на расширение для браузера
    Во всплывающем окне нажмите кнопку «Разрешить»:
    Разрешить установку расширения для браузера
    Нажмите кнопку «Добавить»:
    Добавить расширение для браузера
    Появится сообщение, что расширение добавлено в Firefox:
    Сообщение об успешном добавлении расширения
    Убедиться, что плагин установлен можно на странице about:addons (или about:plugins в более ранних версиях Mozilla Firefox). Сделайте его активируемым по умолчанию.
  6. Для работы в Chromium установите расширение для браузера на странице chrome://extensions/:
    Добавить расширение для браузера
  7. На странице https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html вверху должна появится надпись: «Плагин загружен» и должен показаться сертификат в списке:
    Проверка работы КриптоПро ЭЦП Browser plug-in
    Проверка работы КриптоПро ЭЦП Browser plug-in

    Внимание! Если список пуст, необходимо проверить правильность цепочки сертификатов

zakupki.gov.ru

Для входа в личный кабинет на http://zakupki.gov.ru необходимо:

1. Браузер с поддержкой ГОСТового TLS: Chromium-gost или firefox-gost.

2. Так как сертификат у этого сайта неправильный, потребуется новая версия КриптоПро (4.0.9963 или новее) и выключение строгой проверки имени сервера (под правами root)[1]:

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

Проверка под обычным пользователем:

$ /opt/cprocsp/bin/amd64/csptestf -tlsc -server zakupki.gov.ru -nosave
HDEContext expired: OK if file is completely downloaded
Reply status: HTTP/1.1 200 OK
1 connections, 589 bytes in 0.200 seconds;
Total: SYS: 0,020 sec USR: 0,150 sec UTC: 0,250 sec
[ErrorCode: 0x00000000]

Вход в ЕСИА

Для аутентификации через ЕСИА (https://esia.gosuslugi.ru/) потребуется установить версию не позже CSP 4.0R3 и плагин IFCPlugin, а также установить расширение для плагина Госуслуг, в зависимости от версии браузера:

  • Расширение для Google Chrome/Chromium/Chromium GOST
  • Расширение для Mozilla Firefox

Перезапустить браузер.

Подробнее:

  • Вход в ЕСИА
  • Вход с помощью электронной подписи на портал Госуслуг на Linux (от КриптоПро)

Примечание: Для старых версий плагина (< 3.0.0) необходимо добавить в файл /etc/ifc.cfg после раздела с Jacarta (для 64-битных систем):

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

Примечание: Для работы с контейнерами КриптоПро (в том числе с ГОСТ-2012) для плагина 3.0.5 необходимо добавить в файл /etc/ifc.cfg (для 64-битных систем):

 { name  = "CryptoPro CSP5";
    alias = "cprocsp5";
    type  = "pkcs11";
    alg   = "gost2001";
    model = "CPPKCS 3";
    lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
  },
  { name  = "CryptoPro CSP5 2012 256";
    alias = "cprocsp5_2012_256";
    type  = "pkcs11";
    alg   = "gost2012_256";
    model = "CPPKCS 3";
    lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
  },
 { name  = "CryptoPro CSP5 2012 512";
    alias = "cprocsp5_2012_512";
    type  = "pkcs11";
    alg   = "gost2012_512";
    model = "CPPKCS 3";
    lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
  }

И сделать символическую ссылку на библиотеку pkcs11:

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

Журнал работы плагина можно найти в файле /var/log/ifc/engine_logs/engine.log.

Особенности работы с токенами

Rutoken S

При входе в ЕСИА с помощью Rutoken S не находится приватная часть ключа. В журнале ifc появляется строка:

IFC:do_work_sign_cms:ERROR:get_priv_key_by_id error:ifc_sign_cms.c:110

Для этого надо перенести приватный ключ в локальное хранилище и задействовать его:

$ csptest -keycopy -contsrc 'имя_контейнера_например\.Aktiv Rutoken ECP 00 00ххххх' -contdest '\.HDIMAGEprivate' -pindest пароль
$ certmgr -inst -cont '\.HDIMAGEprivate'

для AltLinux9.2 КриптоПро5 Rutoken S — если cptools не читает ключ.

$ lsusb
Bus 001 Device 005: ID 0a89:0020 Retoken S

Добавить группу, если в журнале ошибки по отсутствию групп

$ groupadd scard
$ groupadd pcscd

В

добавить в файл

$ vi 50-pcscd-asedriveiiie.rules

строку

ATTRS{idVendor}=="0a89", ATTRS{idProduct}=="0020", GROUP="pcscd"

И закоментировать в файле

строку

#ATTR{idVendor}=="0a89", ATTR{idProduct}=="0020", RUN+="/lib/udev/openct_usb /dev/$name"

После внесения изменений перезагрузить службу

КриптоПро JCP

  • Для установки КриптоПро JCP нужно установить Oracle Java 1.7.0 (через собственную сборку или пакеты для Fedora)
  • Распакуйте архив и перейдите в каталог
  • Выполните
# ./install.sh /usr/java/jre1.7.0_51 XXXXX-XXXXX-XXXXX-XXXXX-XXXXX "Your Company"

Поддержка Рутокена

  • Загрузите драйвер для JCP http://www.rutoken.ru/support/download/rutoken-for-cp/ и распакуйте его
  • Выполните:
# java -jar rtjlib.jar -install -rutoken

Запуск контрольной панели

(требует графического дисплея)

Ссылки

  • ЖТЯИ.00050-03 90 02-02. СКЗИ «КриптоПро CSP». Руководство администратора безопасности. Использование СКЗИ под управлением ОС Linux (из электронной документации по КриптоПро; доступно для скачивания с демонстрационной версией)
  • ЖТЯИ.00050-03 90 07. КриптоПро CSP. Приложение командной строки
  • Инструкция по настройке IFCPlugin (сайт госуслуг) для работы с КриптоПро
  • ЭЦП
  • Набор скриптов для подписания и проверки ЭЦП КриптоПро на Linux

Известные ошибки и методы исправления

Неправильный зарегистрированный набор ключей

Код ошибки: 0x8009001A Может возникнуть в многопользовательской системе у второго и последующих пользователей из-за нарушения прав доступа к файлам в каталоге /var/opt/cprocsp/tmp.

Добавить в ACL отдельную запись для суперпользователя root:

# setfacl -R -m u:root:rwx /var/opt/cprocsp/tmp
  1. Основные понятия:
    • Криптопровайдер – средство защиты криптографической защиты информации. Программа с помощью которой генерируется закрытая часть электронной подписи и которая позволяет производить работу с электронной подписью. Данная галочка проставляется автоматически. 
    • Плагин (модуль) — это программный блок, который встраивается в браузер и расширяет его возможности. В отличие от дополнений плагин, как правило, не имеет интерфейса. Плагины используются для проигрывания видео и аудио в браузере, просмотра PDF-документов, улучшения работы веб-служб, организующих совместную работу в интернете и т. д.
  2. Необходимое программное обеспечение:
    • КриптоПро CSP
    • КриптоПро ЭЦП Browser Plugin
    • Chromium GOST
    • Плагин для Госуслуг

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

  1. Переходим в папку «Загрузки», и в папку предварительно распакованного дистрибутива КриптоПро CSP, и выполняем установку:

cd Загрузки/linux-amd64_deb

sudo sh install_gui.sh

Запустится установщик КриптоПро CSP.

После появления данного окна нажимаем «Далее» — «Далее» — «Установить» — «ОК» (клавишей Enter)

Сразу после завершения можно ввести лицензию КриптоПро CSP.

Установка дополнительных модулей.

В процессе установки КриптоПро CSP в терминале отображается информация, какие именно библиотеки/модули распаковываются и устанавливаются:

Обязательно должны присутствовать:

  • lsb-cprocsp-pkcs11-64_5.0.12000-6_amd64.deb
  • cprocsp-rdr-gui-gtk-64_5.0.12000-6_amd64.deb
  • cprocsp-cptools-gtk-64_5.0.12000-6_amd64.deb

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

  • sudo dpkg –i cprocsp-rdr-pcsc-64_5.0.12000-6_amd64.deb
  • sudo dpkg –i cprocsp-rdr-jacarta-64_5.0.0.1237-4_amd64.deb
  • sudo dpkg –i cprocsp-rdr-cloud-64_5.0.12000-6_amd64.deb

Установка Chromium GOST.

  1. Переходим в директорию с загруженным установочным *.deb пакетом

cd

cd загрузки

2. Устанавливаем Chromium GOST.

sudo dpkg -i chromium-gost-108.0.5359.124-linux-amd64.deb

Установка КриптоПро ЭЦП Browser Plugin.

  1. Переходим в директорию с предварительно распакованными установочными пакетами плагина.
    • cd
    • cd Загрузки/cades-linux-amd64
  2. Поочередно устанавливаем *.deb пакеты. (просмотреть их можно командой ls).
    • sudo dpkg –i cprocsp-pki-cades-64_2.0.14660-1_amd64.deb
    • sudo dpkg –i cprocsp-pki-phpcades-64_2.0.14660-1_amd64.deb
    • sudo dpkg –i cprocsp-pki-plugin-64_2.0.14660-1_amd64.deb

Установка плагина для Госуслуг.

  1. Переходим в директорию с установочным *.deb пакетом.
    • cd
    • cd Загрузки
  2. Устанавливаем плагин
    • sudo dpkg –i IFCPlugin-x86_64.deb
  3. Проверяем настройку (Открываем «Инструменты КриптоПро», «Chromium-GOST», активируем расширения, настраиваем доверенные зоны в плагине).



Остались вопросы? Как мы можем помочь?

Как мы можем помочь?

Настройка компьютера для работы с КЭП (MacOS)Экспорт PFX-файла и его установка

Содержание

  1. Криптопро linux недопустимый дескриптор привязки
  2. не видется рутокен
  3. 7443498
  4. Криптопро linux недопустимый дескриптор привязки
  5. Криптопро linux недопустимый дескриптор привязки
  6. 1. Скачиваем deb-пакет для установки КриптоПро в Ubuntu
  7. 2. Установка КриптоПро в графическом режиме
  8. 3. Ввод лицензионного кода
  9. 4. Установка дополнительных файлов поддержки КрптоПро
  10. 5. Установка драйверов Рутокен
  11. 6. Перезапуск службы pcscd
  12. 7. Проверка работоспособности Рутокена при помощи фирменных средств производителя
  13. 8. Проверка работоспособности Рутокена при помощи встроенных средств КриптоПро
  14. 9. Просмотр и Импорт в Личное хранилище сертификатов с Рутокена
  15. 10. Просмотр личных сертификатов в хранилище
  16. 11. Импорт коренвых сертификатов в хранилище доверенных корневых сертификатов
  17. 12. Установка КриптоПро ЭЦП Browser plug-in
  18. 13. Установка расширения браузера КриптоПро ЭЦП Browser plug-in
  19. 14. Тестирование работоспособности подписи
  20. 15. Доополнительное ПО для Рутокена
  21. Работа с КриптоПро на linux сервере
  22. Ссылки
  23. Лицензия
  24. Корневые сертификаты
  25. Сертификаты
  26. Список установленных сертификатов
  27. Добавление реального сертификата
  28. Добавление реального сертификата с привязкой к закрытому ключу и возможностью подписывать документы
  29. Способ с дискетой или флешкой
  30. С жесткого диска
  31. Проверка успешности установки закрытого ключа
  32. Добавление тестового сертификата
  33. Удаление сертификата
  34. Проверка сертификата
  35. Просмотр всех атрибутов сертификата
  36. Экспорт сертификатов на другую машину
  37. Подписание документа ЭЦП
  38. Проверка подписи ЭЦП
  39. Получение исходного файла

Криптопро linux недопустимый дескриптор привязки

Здравствуйте. Я совсем новичек в юзании Visual Studio. Так вот, помогите решить проблемку. После F5 получаю такую ошибку: Error while trying to run project: «Unable to start debugging. Недопустимый дескриптор привязки». Может кто встречался с таким? Заранее спасибо.

От: Аноним
Дата: 22.11.05 10:10
Оценка:

У меня возникала такая ошибка . Скорее всего ты вместе со студией установил и SQLServer 2005 (кажется DesktopEdition называется). В свойствах проекта , во вкладке Debug есть галочка — Enable SQL Server Debuging, поставь галочку и проблема исчезнет !

От: Аноним
Дата: 22.11.05 10:12
Оценка:

Sorry! SQL Server 2005 Express называется

От: Аноним
Дата: 22.11.05 11:15
Оценка:

Спасибо за вариант решения. Но как оказалось (на microsoft.com подсказали) нужно было включить терминал сервис.

От: Аноним
Дата: 11.03.08 14:38
Оценка:

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

Данное сообщение получено с сайта www.gotdotnet.ru

От: Аноним
Дата: 23.03.08 19:21
Оценка:

services.msc — ] Службы терминалов

Данное сообщение получено с сайта www.gotdotnet.ru

От: Аноним
Дата: 24.03.08 05:09
Оценка:

Интересно, как служба терминалов связана с отладкой.
Хотя, это же MS

Данное сообщение получено с сайта www.gotdotnet.ru

От: Аноним
Дата: 24.03.08 06:14
Оценка:

+1, на домашнем компе тоже не работала отладка в студии, терминал сервис был disable, выставил в мануал — заработала отладка, может кто знает, в чем прикол то?

Источник

не видется рутокен

7443498

New member

Добрый день уважаемые форумчане.
Прошу помощи в решении вопроса. Мое знакомство с линуксом только начинается, а именно: на меня возложили обязанность на астра линукс установить ЭЦП для подписи документов. первым делом я скачал криптопро. с установкой которого проблем не возникло — инсталлер все решил за меня, а вот дальше начались хождения по мукам. я скачал драйвера для рутокена, с помощью команды cd перешел в загрузки, и установил sudo apt install файл., далее скачал библиотеки и тоже установил. действовал так как написано в инструкции на википедии., но вот начинаю просматриват контейнеры и сертификаты в криптопро, а там пусто. команда pcsc_scan выдает ошибку и не находит рутокен. после установки драйверов на рутокен надо что-то вводить в терминале или нет?

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

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

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

$ sudo apt install libccid pcscd libgost-astra
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлен пакет libgost-astra самой новой версии (0.0.20).
libgost-astra установлен вручную.
Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install».
Пакеты, имеющие неудовлетворённые зависимости:
libpcsclite1 : Ломает: pcscd ( но он не будет установлен
Зависит: libreadline8 (>= 6.0) но он не может быть установлен
pcsc-tools : Зависит: libpcsc-perl но он не может быть установлен
Рекомендует: libgtk3-perl но он не может быть установлен
pcscd : Зависит: libpcsclite1 (= 1.8.20-1) но 1.9.4-1 будет установлен
E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt —fix-broken install», не указывая имени пакета,
(или найдите другое решение).

2. Требуется перезагрузить службы

$ sudo service pcscd restart
Failed to restart pcscd.service: Unit pcscd.service not found.

3. поиск и установка драйвера рутокен.

$ cd /home/user/Загрузки/
user@user6110:

/Загрузки$ sudo apt install ifd-rutokens_1.0.4_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Не удалось найти пакет ifd-rutokens_1.0.4_amd64.deb
E: Не удалось найти пакет с помощью glob «ifd-rutokens_1.0.4_amd64.deb»
E: Не удалось найти пакет с помощью regex «ifd-rutokens_1.0.4_amd64.deb»

4. повторно устанавливаю драйвер

/Загрузки$ sudo dpkg -i ifd-rutokens_1.0.4_amd64.deb
(Чтение базы данных … на данный момент установлено 181235 файлов и каталогов.)
Подготовка к распаковке ifd-rutokens_1.0.4_amd64.deb …
Распаковывается ifd-rutokens (1.0.4) на замену (1.0.4) …
Настраивается пакет ifd-rutokens (1.0.4) …

5. еще одна попытка перезагрузки служб

/Загрузки$ sudo service pcscd restart
Failed to restart pcscd.service: Unit pcscd.service not found.

6. Попытка посмотреть считыватели

/Загрузки$ /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

7. повторно установка библиотек

/Загрузки$ sudo apt-get install libccid pcscd libpcsclite1
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлен пакет libpcsclite1 самой новой версии (1.9.4-1).
libpcsclite1 установлен вручную.
Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install».
Пакеты, имеющие неудовлетворённые зависимости:
libpcsclite1 : Ломает: pcscd ( = 6.0) но он не может быть установлен
pcsc-tools : Зависит: libpcsc-perl но он не может быть установлен
Рекомендует: libgtk3-perl но он не может быть установлен
pcscd : Зависит: libpcsclite1 (= 1.8.20-1) но 1.9.4-1 будет установлен
E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt —fix-broken install», не указывая имени пакета,
(или найдите другое решение).

/Загрузки$ sudo apt-get install pcsc-tools
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлен пакет pcsc-tools самой новой версии (1.5.8-1).
Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install».
Пакеты, имеющие неудовлетворённые зависимости:
opensc : Зависит: opensc-pkcs11 (= 0.22.0-1) но он не будет установлен
Зависит: libreadline8 (>= 6.0) но он не может быть установлен
Рекомендует: pcscd но он не будет установлен
pcsc-tools : Зависит: libpcsc-perl но он не может быть установлен
Рекомендует: libgtk3-perl но он не может быть установлен
E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt —fix-broken install», не указывая имени пакета,
(или найдите другое решение).
user@user6110:

/Загрузки$ pcsc_scan
SCardEstablishContext: Service not available.
user@user6110:

/Загрузки$ pcsc_scan
SCardEstablishContext: Service not available.
user@user6110:

/Загрузки$ pcsc_scan
SCardEstablishContext: Service not available.

Источник

Криптопро linux недопустимый дескриптор привязки

Криптопро linux недопустимый дескриптор привязки

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

Почему? Дело в том, что версия КриптоПро для Linux почти лишена графической среды управления, так что даже импорт сертификатов придется выполнять консольными командами (за исключением последней 5-ой версии КриптоПро). Но если вы используете Linux, то данное обстоятельство вас не должно напугать.

Не буду ходить больше вокруг да около, а сразу приступлю к описанию процесса установки и настройки КриптоПро в Ubuntu 18.04. Все описанные далее инструкции справедливы для Rutoken Lite.

1. Скачиваем deb-пакет для установки КриптоПро в Ubuntu

Загрузка доступна с официального сайта КриптоПро в разделе Продукты. Отмечу лишь то, что надо скачивать обязательно сертифицированную версию. В данном материале описана установка и настройка КриптоПро CSP 4.0 R3.

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

2. Установка КриптоПро в графическом режиме

Переходим в папку с распакованным архивом и выбираем в контекстном меню команду Открыть в Терминале (в Kubuntu Действия / Открыть Терминал в этой папке). Для запуска установки в КриптоПро в графическом режиме вводим в терминале команду

Появится Мастер установки КриптоПро. Навигация в мастере установки осуществляется при помощи клавиши Tab, выбор чекбоксов осуществляется нажатием пробела. Жмем Next, отмечаем все доступные к установке компоненты, далее жмем Install.

В окне Терминала запустится процесс установки, следует проконтролировать отсутствие ошибок установки. В конце мастер сообщит об успешной установке, после чего следует нажать клавишу ОК.

Кратко о компонентах КриптоПро для Linux:

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

3. Ввод лицензионного кода

Далее мастер предложит ввести код лицензии. Делать это не обязательно. По умолчанию КриптоПро включает стандартную лицензию на три месяца. Проверить срок действия лицензии можно стандартной командой в Терминале

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

4. Установка дополнительных файлов поддержки КрптоПро

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

5. Установка драйверов Рутокен

Rutoken Lite не требует установки дополнительных драйверов. Для установки других типов Рутокена потребуется посетить официальный сайт и установить необходимые драйвера.

Однако для полноценной работы Рутокена потребуется установить дополнительные библиотеки при помощи команды в Терминале:

sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc

Для Rutoken S, JaCarta PKI потребуется установка дополнительных драйверов. Пишите в комментариях, если кому-то нужно расписать данный момент.

6. Перезапуск службы pcscd

Перезапустить указанную службы легко при помощи команды

sudo service pcscd restart

7. Проверка работоспособности Рутокена при помощи фирменных средств производителя

Выполнив команду pcsc_scan в терминале, можно проверить работоспособность подключенного Рутокена. Если картинка такая же, как и на скриншоте, то все работает правильно.

8. Проверка работоспособности Рутокена при помощи встроенных средств КриптоПро

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

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

9. Просмотр и Импорт в Личное хранилище сертификатов с Рутокена

Для просмотра личных сертификатов, имеющихся на подключенных контейнерах, выполняем команду в Терминале

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

Для импорта всех личных сертификатов со всех подключенных носителей выполняем команду в Терминале

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

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

Убедиться в успешном импорте сертификатов с Рутокена в Личное хранилище сертификатов можно при помощи команды в терминале

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

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

/opt/cprocsp/bin/amd64/certmgr -delete -store umy

Далее терминал предложит указать номер удаляемого сертификата.

На скриншоте выше вы видите, что удостоверяющим центром, который выпустил мой сертификат, является ООО «Компания Тензор». Вот для этой компании и надо искать и устанавливать корневые сертификаты. Как установить корневые сертификаты, читайте в следующем пункте.

11. Импорт коренвых сертификатов в хранилище доверенных корневых сертификатов

Вначале скопируем кореные сертификаты в отдельную папку. Затем в контекстном меню, перейдя в эту папку, выполним команду Открыть в терминале. Далее произведем установку командой в Теримнале:

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file «uc_tensor_44-2017.cer»

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file «uc_tensor-2018_gost2012.cer»

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file «uc_tensor-2017.cer»

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

Для установки КриптоПро ЭЦП Browser plug-in потребуется утилита alien. Установим ее командой:

sudo apt install alien

Далее скачиваем установочный пакет КриптоПро ЭЦП Browser plug-in с официального сайта КриптоПро.

Распаковываем архив cades_linux_amd64.zip и переходим перейти в каталог с распакованными файлами, выполним команду Открыть в терминале и далее выполним команды для преобразования rpm-пакетов в deb-пакеты:

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

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

Далее устанавливаем deb-пакеты:

sudo alien -kci cprocsp-pki-cades_2.0.0-2_amd64.deb

sudo alien -kci cprocsp-pki-plugin_2.0.0-2_amd64.deb

Обратите внимание: при установке этих двух пакетов не должно быть ошибок.

13. Установка расширения браузера КриптоПро ЭЦП Browser plug-in

Далее необходимо в используемом вами браузере установить расширение КриптоПро ЭЦП Browser plug-in. Cсылка на расширение для Google Chrome

14. Тестирование работоспособности подписи

Если вы все сделали правильно, то КриптоПро настроен. Проверить подпись можно по ссылке

15. Доополнительное ПО для Рутокена

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

На этом все. Как выясняется, установка КриптоПро в Ubuntu Linux 18.04 не такая уж сложная.

Понравилась статья? Не очень? Тогда возможно, что вы напишите свою гораздо лучше. Просто перейдите по ссылке Размещение статей и ознакомьтесь с правилами публикации статей на сайте MultiBlog67.RU .

Работа с КриптоПро на linux сервере

Ссылки

Лицензия

Для установки другой лицензии (под root):

Корневые сертификаты

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

Добавление корневых сертификатов (под root) из файла cacer.p7b

Необходимо последовательно добавить все сертификаты

Сертификаты

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

certmgr -list , например:

Добавление реального сертификата

Добавить только сертификат (только проверка ЭЦП):

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

Закрытый ключ состоит из шести key-файлов:

Способ с дискетой или флешкой

Скопировать в корень дискеты или флэшки сертификат и приватный ключ (из каталога 999996.000 , 999996 — название (alias) контейнера):

Выполнить команду по копированию ключа с флэшки на диск, ключ попадет в пользовательское хранилище My .

gate@example.com — то, что прописано в поле E сертификата (можно посмотреть командой keytool —printcert -file /path/to/cert/client.cer ):

С жесткого диска

Скопировать приватный ключ в хранилище (контейнер), где — имя пользователя linux:

Поставить «минимальные» права:

Узнать реальное название контейнера:

Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My :

Если следующая ошибка, нужно узнать реальное название контейнера (см. выше):

Установить сертификат УЦ из-под пользователя root командой:

Проверка успешности установки закрытого ключа

Добавление тестового сертификата

Ввести пароль на контейнер test123 .

Ввести пароль на контейнер. По-умолчанию: 12345678

Удаление сертификата

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

Просмотр всех атрибутов сертификата

В cryptcp нет необходимых инструментов для получения всех атрибутов сертификата. Поэтому следует использовать openssl , но настроив его.

Получаем SHA 1 хеши:

В цикле извлекаем сертификаты:

Настройка openssl для поддержки ГОСТ:

В файл /etc/ssl/openssl.cnf

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

Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys . Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.

Экспорт самих сертификатов (если их 14):

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

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

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

Если все успешно:

Если нет закрытого ключа, то просто ставим сертификат:

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

Пример создания ЭЦП (по SHA1 Hash):

[ReturnCode: x] Описание Возвращаемый код завершения в баше $?
успешно
0x8010006b Введен неправильный PIN 107
0x2000012d Сертификат не найден 45
0x20000065 Не удалось открыть файл 101

Проверка подписи ЭЦП

Для верифицирования сертификатов нужен сертификат удостоверяющего центра и актуальный список отзыва сертификатов, либо настроенный для этого revocation provider.

Корневой сертификат УЦ, список отзыва сертификата является одним из реквизитов самого сертификата.

Контрагенты когда открывают подписи в КриптоАРМ используют revocation provider, он делает проверки отзыва сертификата онлайн. Как реализована проверка в Шарепоинте не знаю. Знаю только что используется библиотека Крипто.Net

Проверка конкретной подписи из локального хранилища по его хешу:

Проверить, взяв сертификат из file1.sig , подпись файла file2.sig . Практически, надо использовать один и тот же файл:

[ReturnCode: x] Текст Описание Возвращаемый код завершения в баше $?
Успешно
0x80091004 Invalid cryptographic message type Неправильный формат файла 4
0x80091010 The streamed cryptographic message is not ready to return data Пустой файл 16

Получение исходного файла

Получение исходного файла (сообщения):

Будет ругаться на сертификат (так как не будет проверки), но подпись удалит. Вариант с проверкой:

Источник

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ятрогенная патология врачебные ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Cpa not engaged крайслер ошибка 10