Где криптопро хранит сертификаты linux

Работа с КриптоПро на 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):

Читайте также:  Windows 10 enterprise 64 bit rus оригинальный образ
[ReturnCode: x] Описание Возвращаемый код завершения в баше $?
0 успешно 0
0x8010006b Введен неправильный PIN 107
0x2000012d Сертификат не найден 45
0x20000065 Не удалось открыть файл 101

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

Для верифицирования сертификатов нужен сертификат удостоверяющего центра и актуальный список отзыва сертификатов, либо настроенный для этого revocation provider.

Корневой сертификат УЦ, список отзыва сертификата является одним из реквизитов самого сертификата.

Контрагенты когда открывают подписи в КриптоАРМ используют revocation provider, он делает проверки отзыва сертификата онлайн. Как реализована проверка в Шарепоинте не знаю. Знаю только что используется библиотека Крипто.Net

Проверка конкретной подписи из локального хранилища по его хешу:

Проверить, взяв сертификат из file1.sig , подпись файла file2.sig . Практически, надо использовать один и тот же файл:

[ReturnCode: x] Текст Описание Возвращаемый код завершения в баше $?
0 Успешно 0
0x80091004 Invalid cryptographic message type Неправильный формат файла 4
0x80091010 The streamed cryptographic message is not ready to return data Пустой файл 16

Получение исходного файла

Получение исходного файла (сообщения):

Будет ругаться на сертификат (так как не будет проверки), но подпись удалит. Вариант с проверкой:

Источник

Где криптопро хранит сертификаты linux

Далее описан процесс настройки и проверки работоспособности на примере Ubuntu 20.04 LTS

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

1.1. Выполните регистрацию на сайте нашей компании. Если Вы уже зарегистрированы – выполните вход (необходимо ввести адрес электронной почты и пароль, которые Вы указывали при регистрации).

1.3. Ознакомьтесь с условиями лицензионного соглашения и нажмите кнопку «Я согласен с лицензионным соглашением. Перейти к загрузке».

1.4. Нажмите кнопку «Скачать для Linux», для загрузки дистрибутива актуальной версии КриптоПро CSP.

1.5. Распакуйте загруженный архив: tar -xvf linux-amd64_deb.tgz && cd linux-amd64_deb

1.6. Установите основные пакеты КриптоПро CSP: sudo ./install.sh

1.7. Установите дополнительные пакеты:

2.1. Установка «облачного» сертификата электронной подписи (через графический интерфейс пользователя).

2.1.1. Запустите приложение «Инструменты КриптоПро»: /opt/cprocsp/bin/amd64/cptools

2.1.2. Перейдите на вкладку «Облачный провайдер».

2.1.3. Укажите адрес сервера авторизации (1) и сервера DSS (2). Данные адреса необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи. Поле «Уникальное имя» (3) заполнится автоматически. Затем нажмите кнопку «Установить сертификаты» (4).

Обратите внимание! Если на вкладке «Облачный провайдер» уже будут указаны адреса https://dss.cryptopro.ru/STS/oauth и https://dss.cryptopro.ru/SignServer/rest (адреса тестового сервиса электронной подписи DSS, который не предназначен для хранения квалифицированных сертификатов электронной подписи и выполнения юридически значимых операций) — необходимо открыть выпадающий список под кнопкой «Выберите сервер» и выбрать пункт «Использовать новый сервер».

2.1.4. Введите логин пользователя для доступа к «облачному» сертификату, а затем нажмите кнопку «ОК».

2.1.5. Введите пароль пользователя для доступа к «облачному» сертификату, а затем нажмите кнопку «ОК».

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

2.1.7. После этого Вы будете возвращены к интерфейсу программы «Инструменты КриптоПро». Чуть ниже кнопки «Установить сертификаты» появится уведомление об успешной установке.

2.2. Установка «облачного» сертификата электронной подписи (без использования графического интерфейса пользователя).

2.2.1. Выполните команду:

/opt/cprocsp/bin/amd64/csptest -cloud -register -login -save -unique -auth -rest -user -password

— — идентификатор сервера DSS. Можете задать любой, удобный для Вас идентификатор;

— — адрес сервера авторизации (необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи);

— — адрес сервера DSS (необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи);

— — логин пользователя для доступа к «облачному» сертификату;

— пароль пользователя для доступа к «облачному» сертификату.

2.2.2. Появление статуса [ErrorCode: 0x00000000] означает, что установка была выполнена успешно.

Обратите внимание! Установку сертификатов без использования графического интерфейса можно выполнить только в случае, если операция входа в центр идентификации DSS не требует вторичной аутентификации.

3.1. Проверка работоспособности (через графический интерфейс пользователя).

3.1.1. Перейдите на вкладку «Создание подписи».

3.1.2. Выберите Ваш «облачный» сертификат из списка (1), выберите любой файл для подписи (2) и нажмите кнопку «Подписать» (3).

3.1.3. Повторите действия из п. 2.1.4 – 2.1.6.

3.1.4. В случае успешного формирования подписи чуть ниже кнопки «Подписать» появится уведомление об успешном создании подписи.

3.2. Проверка работоспособности (без использования графического интерфейса пользователя).

3.2.1. Выполните команду:

/opt/cprocsp/bin/amd64/cryptcp -sign /path/to/file /path/to/signature.sig –q

— /path/to/file – путь до подписываемого файла;

— /path/to/signature.sig – путь до подписанного файла.

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

3.2.3. Появление статуса [ErrorCode: 0x00000000] означает, что файл был успешно подписан.

Обратите внимание! Подписать файл без использования графического интерфейса можно только в случае, если операции входа и подписи не требует вторичной аутентификации.

Источник

шпаргалка по CryptoPro

Экспорт сертификатов и CRL:
/opt/cprocsp/bin/amd64/certmgr -export -cert -store root -all -dest root.p7b
/opt/cprocsp/bin/amd64/certmgr -export -crl -store CA -all -dest crl.p7b

Импорт сертификатов и CRL:
/opt/cprocsp/bin/amd64/certmgr -inst -all -crl -store CA -file crl.p7b
/opt/cprocsp/bin/amd64/certmgr -inst -all -store root -file root.p7b

проверка
openssl x509 -text -in Югралесхоз.cer -inform PEM

показать список корневых сертификатов
/opt/cprocsp/bin/amd64/certmgr -list -store root | grep -iE «^Serial|^Subject»

показать серийник сертификата:
openssl x509 -inform DER -in УЦ.cer -serial -noout | tr -d «serial=»
openssl x509 -text -in 02.cer -inform DER | grep «serial:» | tr -d «serial» | tr -d «:»

добавление корневого
/opt/cprocsp/bin/amd64/certmgr -inst -store root —file=CANovagK.cer

добавление CRL
wget http://www.tax23.ru/cdp/4d5157a4df9de15650eb634cf756a9f02727eb17.crl
/opt/cprocsp/bin/amd64/certmgr -inst -store CA -crl -file=4d5157a4df9de15650eb634cf756a9f02727eb17.crl

Преобразовать .p7b в .cer:
openssl pkcs7 -inform DER -outform PEM -in Certnew.p7b -print_certs > certificate_bundle.cer

Проверить наличие серийника сертификата в корневом хранилище:
/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

1″ :pagination=»pagination» :callback=»loadData» :options=»paginationOptions»>

Источник

Читайте также:  What is arp cache in linux
Оцените статью