Работа с сертификатами КриптоПро
Для удобства использования утилит КриптоПро создадим на них символьные ссылки, для этого выполните:
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
Просмотр версии КриптоПро:
Для установки лицензии выполните (с правами root):
При использовании токенов сервис pcscd должен быть запущен. Проверка статуса pcscd:
если он выключен, то включите его:
systemctl start pcscd systemctl enable pcscd
Вывод сообщений журнала службы pcscd:
Узнать модель подключенного токена:
csptest -card -enum -v -v pcss_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
Установка личных сертификатов
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'
Установка корневых сертификатов
При установке корневых сертификатов достаточно указать хранилище uRoot. При указании mRoot (при наличии прав администратора) корневой сертификат будет доступен всем пользователям системы.
1. Установка в хранилище КриптоПро:
certmgr -inst -store uRoot -file .cer
2. Установка в хранилище ПК:
certmgr -inst -store mRoot -file cer
3. Установка списка отозванных сертификатов crl:
certmgr -inst -crl -file .crl
Установка сертификатов pfx
1. Необходимо установить пакет cprocsp-rsa, который находится в составе дистрибутива КриптоПро (linux-amd64).
2. Выполним команду от локального (доменного) пользователя:
/opt/cprocsp/bin/amd64/certmgr -inst -store uMy -pfx -pin -file 'путь до pfx'
Цепочка сертификатов будет отображаться в утилите «Ключевые носители и сертификаты» в «Личное хранилище сертификатов».
Просмотр сертификатов
1. Просмотр установленных сертификатов:
2. Просмотр установленных сертификатов в локальном хранилище uMy:
3. Просмотр сертификатов в хранилище ПК (обычно сюда устанавливаются корневых сертификаты):
4. Просмотр сертификатов в контейнере:
certmgr -list -container '\\.\Aladdin R.D. JaCarta 00 00\8df47e71-18ae-49c1-8738-9b4b0944dcd4'
5. Просмотр промежуточных сертификатов:
Удаление сертификатов
1. Удалить сертификат из личного хранилища сертификатов
Просмотрите установленные сертификаты:
Изучите список всех установленных сертификатов (в общем списке отображаются абсолютно все сертификаты).
Для удаления следует выполнить команду в Терминале:
Если установлено более одного сертификата, то будет предложено указать номер удаляемого сертификата.
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]
3. Перейдите на Flash-носитель и скопируйте этот контейнер — каталог bob.000 с приватными (закрытыми) ключами в /var/opt/cprocsp/keys/user — в этом каталоге находится локальное хранилище HDIMAGE
4. Посмотрим доступные контейнеры:
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'
Просмотр цепочки сертификата
Просмотр необходимых корневых сертификатов и сертификатов отзыва вы можете посмотреть следующей командой:
1) Для сертификатов, хранящихся в личном хранилище:
URL сертификата УЦ URL списка отзыва
2) Для просмотра цепочки на токене выполните следующую команду:
Где вместо » укажите ваш контейнер, к примеру ‘\\.\Aladdin R.D. JaCarta 00 00\8df47e71-18ae-49c1-8738-9b4b0944dcd4’
3. Просмотр цепочки из файла сертификата:
certmgr -list -file 'путь_к_файлу'
Дата последнего изменения: 09.12.2022
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Главная
Проверить наличие серийника сертификата в корневом хранилище:
/opt/cprocsp/bin/amd64/certmgr -list -store root | grep —color=auto -B 3 -A 4 `openssl x509 -text -in 02.cer -inform DER | grep «serial:» | tr -d «serial» | tr -d «:»`
Экспорт сертификата:
/opt/cprocsp/bin/amd64/certmgr -export -cert -store root -dest 0x2A9DDD325F1B0FAF4957EAA2532DE481.cer -dn CN=CNExample
Посмотреть данные одного сертификата:
/opt/cprocsp/bin/amd64/certmgr -list -store root -dn SN=Картошкин
Удалить сертификат из хранилища:
/opt/cprocsp/bin/amd64/certmgr -delete -store root -dn SN=Картошкин
Конвертировать из BASE64 в DER:
/opt/cprocsp/bin/amd64/certmgr -decode -src тэкторг.cer -dest тэкторг.der.cer -der
Проверка правильности сертификата:
/opt/cprocsp/bin/amd64/cryptcp -verify -errchain -f /path/to/file.p7z/path/to/file.p7z
Посмотреть лицензию:
[root@host]# /opt/cprocsp/sbin/amd64/cpconfig -license -view
Server license:
xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Expires: 26 day(s)
Client license:
xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Expires: 26 day(s)
Установить лицензионный ключ:
[root@host]# /opt/cprocsp/sbin/amd64/cpconfig -license -set xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
12. При попытке входа в личный кабинет появляется ошибка «Сертификат не выбран».
Ошибка «Сертификат не выбран» возникает в следующих случаях:
— При использовании браузера InternetExplorer, если сайт http://www.fedresurs.ru/ не добавлен в
«Надежные узлы»;
— Если не установлен ни один личный сертификат (проверить можно через Пуск – Панель
управления – Свойства обозревателя – Содержание – Сертификаты, в закладке «Личные» должен
быть необходимый сертификат);
— Если не установлен корневой сертификат (При просмотре личного сертификата отображается
ошибка «Не удалось проследить сертификат до корневого центра…»);
— Если в системе присутствуют просроченные сертификаты (в закладках «Личные»,
«Промежуточные центры сертификации», «Корневые центры сертификации» присутствуют
сертификаты с истекшим сроком действия, за исключением системных);
Если в окне свойств личного сертификата выводится какое либо сообщение об ошибке проверки
сертификата и значок сертификата помечен красным крестиком, при этом, корневые сертификаты
установлены и нет просроченных промежуточных, то необходимо переустановить
криптопровайдер и заново инициализировать личный ключ.
============
Инструкция админа:
https://www.cryptopro.ru/sites/default/files/docs/csp36r3/admin_guide_linux_r3.pdf
Назначение хранилищ:
Есть три хранилища. по умолчанию:CA, ROOT, My[1].
CA для списков СОС и промежуточных центров сертификации,
ROOT для сертификатов корневых центров сертификации и
My для личных сертификатов.
Имя хранилища является регистронезависимым.
Плагин для браузера:
https://www.cryptopro.ru/products/cades/plugin
Где качнуть JAVA:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
Где качнуть JCP:
http://cryptopro.ru/products/csp/jcp/downloads
Установка JCP:
sudo sh ./install.sh /etc/alternatives/jre_openjdk