1.3 Работа с сертификатами КриптоПро

Работа с криптоконтейнерами
Установка личных сертификатов
Установка корневых сертификатов
Просмотр сертификатов
Удаление сертификатов
Перенос контейнера с flash носителя в локальное хранилище ПК

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

ln -s /opt/cprocsp/bin/amd64/certmgr /usr/bin/certmgr
ln -s /opt/cprocsp/bin/amd64/csptest /usr/bin/csptest
ln -s /opt/cprocsp/sbin/amd64/cpconfig /usr/bin/cpconfig

Просмотр версии КриптоПро:

csptest -enum -info

или

cat /etc/opt/cprocsp/release

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

cpconfig -license -view

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

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

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

systemctl status pcscd

если он выключен, то включите его:

systemctl start pcscd
systemctl enable pcscd

Вывод сообщений журнала службы pcscd:

pcscd -dffff

Узнать модель подключенного токена:

csptest -card -enum -v -v
pscs_scan

Работа с криптоконтейнерами

1. Проверить наличие доступных контейнеров:

csptest -keyset -enum_cont -fqcn -verifyc | iconv -f cp1251
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 16778675
\\.\Aladdin R.D. JaCarta 00 00\8df47e71-18ae-49c1-8738-9b4b0944dcd4
\\.\FLASH\bob
\\.\HDIMAGE\bob
OK.
Total: SYS: 0,010 sec USR: 0,110 sec UTC: 6,240 sec
[ErrorCode: 0x00000000]

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

  • Считыватель HDIMAGE размещается в /var/opt/cprocsp/keys/<имя пользователя>/ т.е в данном случае используется жесткий диск для хранения ключей.
  • Считыватель FLASH означает, что используется флешка для хранения приватных ключей.
  • Также считывателем может выступать токен.

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

csptest -keyset -enum_cont -fqcn -verifyc | iconv -f cp1251

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

csptest -keyset -enum_cont -fqcn -verifyc -uniq
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 23397811
\\.\Aladdin R.D. JaCarta 00 00\8df47e71-18ae-49c1-8738-9b4b0944dcd4 | \\.\Aladdin R.D. JaCarta 00 00\SCARD\JACARTA_6082028344937676\CC00\E412
OK.
Total: SYS: 0,000 sec USR: 0,110 sec UTC: 6,230 sec
[ErrorCode: 0x00000000]

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

csptest -keyset -container '\\.\HDIMAGE\bob' -info

4. Перечисление контейнеров пользователя:

csptest -keyset -enum_cont -verifycontext -fqcn

5. Перечисление контейнеров компьютера:

csptest -keyset -enum_cont -verifycontext -fqcn -machinekeys

6. Открыть(проверить) контейнер пользователя:

csptest -keyset -check -cont '\\.\имя считывателя\имя контейнера'

7. Открыть(проверить) контейнер компьютера:

csptest -keyset -check -cont '\\.\имя считывателя\имя контейнера' -machinekeyset

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

Установку личных сертификатов необходимо производить в консоли обычного пользователя (не root).
1. Установка сертификата без привязки к ключам:

certmgr -inst -file cert_bob.cer

2. Установка личного сертификата cert_bob.cer, сертификат при этом попадает в пользовательское хранилище uMy. Приватный ключ находится на флешке.

certmgr -inst -file cert_bob.cer -store uMy -cont '\\.\FLASH\bob'

в команде указывается сертификат cert_bob.cer, который ассоциируется с приватным контейнером \\.\FLASH\bob’

3. Установка сертификата с токена (в конце команды указывается контейнер)

/opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont '\\.\Aladdin R.D. JaCarta 00 00\8df47e71-18ae-49c1-8738-9b4b0944dcd4'

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

/opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont '\\.\Aladdin R.D. JaCarta 00 00\8df47e71-18ae-49c1-8738-9b4b0944dcd4' -file /home/bob/cert_bob.cer

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

При установке корневых сертификатов достаточно указать хранилище uRoot. При указании mRoot (при наличии прав администратора) корневой сертификат будет доступен всем пользователям системы.

1. Установка в хранилище КриптоПро:

certmgr -inst -store uRoot -file <название-файла>.cer

2. Установка в хранилище ПК:

certmgr -inst -store mRoot -file <название-файла>cer

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

certmgr -inst -crl -file <название-файла>.crl


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

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

certmgr -list

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

certmgr -list -store uMy

3. Просмотр сертификатов в хранилище ПК (обычно сюда устанавливаются корневых сертификаты):

$ certmgr -list -store uRoot

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

certmgr -list -container '\\.\Aladdin R.D. JaCarta 00 00\8df47e71-18ae-49c1-8738-9b4b0944dcd4'

5. Просмотр промежуточных сертификатов:

certmgr -list -store uca

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

1. Удалить сертификат из личного хранилища сертификатов
Просмотрите установленные сертификаты:

certmgr -list

Изучите список всех установленных сертификатов (в общем списке отображаются абсолютно все сертификаты).

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

certmgr -delete -store uMy

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

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

certmgr -delete -store uRoot

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

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

certmgr -delete -all -store uRoot

4. Удалить все сертификаты, установленные в хранилище ПК:

certmgr -delete -store mRoot

Перенос контейнера с flash носителя в локальное хранилище ПК

1. Активируем хранилище HDIMAGE:

cpconfig -hardware reader -add HDIMAGE store

Adding new reader:
Nick name: HDIMAGE
Succeeded, code:0x0

2. Посмотрим, какие контейнеры доступны на флешке:

csptest -keyset -enum_cont -fqcn -verifyc

CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 32114099
\\.\FLASH\bob
OK.
Total: SYS: 0,020 sec USR: 0,080 sec UTC: 0,190 sec
[ErrorCode: 0x00000000]

Перейдите на Flash носитель и скопируйте этот контейнер — каталог bob.000 с приватными (закрытыми) ключами в /var/opt/cprocsp/keys/user — в этом каталоге находится локальное хранилище HDIMAGE

3. Посмотрим доступные контейнеры:

csptest -keyset -enum_cont -fqcn -verifyc

CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 36951475
\\.\FLASH\bob
\\.\HDIMAGE\bob
OK.
Total: SYS: 0,000 sec USR: 0,070 sec UTC: 0,160 sec
[ErrorCode: 0x00000000]

Как видим, появился новый контейнер \\.\HDIMAGE\bob
Теперь flash носитель можно отключить, он нам больше не понадобится.

5. Установим пользовательский сертификат с привязкой к закрытому контейнеру \\.\HDIMAGE\bob

certmgr -inst -file cert-bob.cer -cont '\\.\HDIMAGE\bob'

Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email