Содержание

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
outlinetrue

КриптоПро CSP

Назначение

Криптопровайдер КриптоПро CSP предназначен для:

...

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

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

...

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

...

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


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



ПакетОписание
Базовые пакеты:
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 следует ввести команду:

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

 

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

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

...

sudo service pcscd restart

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

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

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


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


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

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

Установка КриптоПро ЭЦП Browser plug-in

...

a)Установить пакет alien, необходимый для конвертации rpm-пакетов в deb-формат

...

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


    • Браузер Chrome

Запустите Chrome и дождитесь оповещения об установленном расширении "CryptoPro Extension for CAdES Browser Plug-in". Включите это расширение. Если на Вашем компьютере ранее уже выполнялась установка КриптоПро ЭЦП Browser plug-in, а потом он был удален, потребуется отдельно установить расширение. Для этого перейдите по ссылке и установите расширение из интернет-магазина Chrome.


    • Браузер Opera или Яндекс.Браузер

      расширение доступно по ссылке.



    • Браузер Firefox

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


 Проверка корректности установки на странице проверки плагина

Для этого в открывшемся окне подтвердите доступ путем нажатия кнопки "Да".

...

Заходим на страницу проверки работы КриптоПро ЭЦП Browser Plug-in и нажимаем получить, выполняем все всплывающие требования. Сертификат получен.


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

1) Перейдите на сайт Тестового Удостоверяющего центра ООО "КРИПТО-ПРО"

...

8) После успешной установки сертификата, следует перейти на страницу проверки создания электронной подписи CAdES-BES

Получение тестового сертификата с помощью cli

Для запроса, получения и установки сертификата с тестового УЦ "КриптоПро"  - можно, воспользоваться одной командой:
cryptcp -creatcert -rdn 'E=email@astralinux.ru, CN=имя_сертификата' -cont '\\.\HDIMAGE\имя_контейнера' -hashalg 1.2.643.7.1.1.2.2


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

...

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


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

...

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

Создание локального носителя

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

...

Note

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


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

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

...

Для неизвлекаемого контейнера, в GTK-окне следует выбрать "Вид приложения" → "Active token without secure channel" :


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

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

...

Note

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

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

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

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

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

...

Expand

/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 00\TestCont' -deletek

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

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

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

Запрос на получение сертификата для созданного контейнера

Для создания запроса на получение сертификата для контейнера '\\.\Aktiv Rutoken ECP 00 00\Shuhrat' , воспользуемся командой:

...

Info

С помощью опции -certusage можно указать OID назначение сертификата

Назначение сертификата представляется в сертификате объектным идентификатором, присвоенным этой политике, - 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

может использоваться для защиты электронной почты (электронная подпись, шифрование, key agreement)

1.3.6.1.5.5.7.3.8

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

1.3.6.1.5.5.7.3.9

может использоваться для формирования электронной подписи OCSP-запросов

* Объектные идентификаторы (OID) определяют отношения, при осуществлении которых электронный документ, подписанный ЭЦП, будет иметь юридическое значение. OID, зарегистрированные в Удостоверяющем центре, включаются состав следующих расширений сертификата ключа подписи: Key Usage (использование ключа), Extended Key Usage (расширенное использование ключа), Application Policy (политики применения сертификата).


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

...

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

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

...

* сертификаты партнёров по общению, чтобы проверять их подписи и зашифровывать для них сообщения. Ставятся либо в umy (это беспорядок, но популярный), либо в uAddressBook

Установка

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

...

Info
titleПримечание

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

Просмотр

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

certmgr -list



Удаление

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

...

certmgr -del -all (удаление всех сертификатов)

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

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

...

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

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

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

...

Code Block
....
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]


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

...

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

...

Note

Про CMS-сообщения, есть хорошая статья на Хабре


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

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




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

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


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

Для прикрепленной подписи

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

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

...

Code Block
/opt/cprocsp/bin/amd64/cryptcp -verify -verall -detached /home/shuhrat/smolensk/raport.pdf raport.pdf.sig 
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Папка '/home/shuhrat/smolensk/':
/home/shuhrat/smolensk/raport.pdf... Проверка подписи...     
    
Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ 
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г. 
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02

Цепочки сертификатов проверены.
Папка './':
raport.pdf... Проверка подписи... 

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

обучающий

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

Code Block
/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



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

...

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

...

$ /opt/cprocsp/bin/amd64/cptools


Вход в ЕСИА

...


Для доступа к Госуслугам был использован Рутокен ЭЦП 2, «КриптоПро 4.0 R3», IFCP-plugin 3.0.3

IFCP-plugin позволит Вам авторизоваться и изменять данные на нескольких сайтах:

Список сайтов ЕСИА использующий IFCP-plugin

Установка и настройка


Для аутентификации через ЕСИА esia.gosuslugi.ru следует:

...

Code Block
  { name  = "Актив руТокен ЭЦП";
    alias = "ruTokenECP";
    type  = "pkcs11";
	alg   = "gost2001";
    lib_linux = "librtpkcs11ecp.so";
  },

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

4б) В КриптоПро CSP для корректной работы pkcs11, настройку слотов следует сделать явной:

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

Code Block
# [PKCS11\slot0]
# ProvGOST = "Crypto-Pro GOST R 34.10-2001 KC1 CSP"
# ProvRSA = "Microsoft Strong Cryptographic Provider"
# reader = hdimage


[PKCS11\slot17]
ProvGOST = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider"
Firefox = 1
Reader = ""



5) Для проверки работы плагина, в терминале в режиме live можно просмотреть логи:

...

7) Подключив токен, следует нажать кнопку "Готово", после чего система предложит выбрать нужный сертификат ключа проверки ЭЦП:


Вход на сайт главного портала ГосЗакупок

...

Успешный вход на сайт zakupki.gov.ru гарантирован, при выполнении всех пунктов инструкции по установке сертификатов, который был описан выше.

...

Выбрать сертификат и ввести pin-код.



Вход на сайт Минфин России

...

1) Для авторизации на сайте Минфина России, следует перейти на  страницу авторизации

...

4) После чего система попросит Вас ввести пароль:


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

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

# apt-get remove lsb-cprocsp-base


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

...

Таблица поддерживаемых устройств Крипто-Про CSP

На официальном сайте СКЗИ КриптоПро в таблице указаны носители, продемонстрировавшие работоспособность с соответствующими версиями КриптоПро CSP:

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


База знаний КриптоПро

https://support.cryptopro.ru/index.php?/Knowledgebase/List

...