Выпуск тестовых сертификатов эп криптопро с любыми данными
По просьбам трудящихся публикую инструкцию «выпускаем себе тестовые сертификаты крипто-про как горячие пирожки!». Здесь описан процесс получение сертификата квалифицированной электронной подписи (КЭП) содержащего любые данные (OID) на тестовом удостоверяющем центре КриптоПро.
Изначально предполагается, что у нас уже установлен CryptoPro CSP и КриптоПро ЭЦП Browser plug-in, если нет, то идем качаем на официальный сайт. Все операции будут описаны относительно работы в ОС Linux. В MacOS и Windows, в принципе, не должно быть существенных отличий, кроме поправки на пути к исполняемым файлам.
Так же необходимо наличие действительного сертификата тестового УЦ КриптоПро в корневом хранилище сертификатов. Проверить его наличие можно командой
/opt/cprocsp/bin/amd64/certmgr -list -store uRoot
В выводе должно быть что-то вроде
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 : 0x37418882F539A5924AD44E3DE002EA3C
SHA1 Hash : 0xcd321b87fdabb503829f88db68d893b59a7c5dd3
SubjKeyID : 4e833e1469efec5d7a952b5f11fe37321649552b
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 27/05/2022 07:24:26 UTC
Not valid after : 26/05/2024 07:34:05 UTC
PrivateKey Link : No
И если вдруг его нет, или истек срок действия (Not valid after), то нужно скачать свежий со страницы https://www.ecp64.ru/certsrv/certcarc.asp, далее по ссылке Загрузка сертификата ЦС
и установить командой
sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file /tmp/certnew.cer
Идем на страницу https://aleksandr-ru.github.io/RusCryptoJS/cryptopro.html#Выпуск_сертификата и вводим нужный нам DN (в формате JSON объекта), например:
{
"CN": "ОАО ТЕСТ",
"2.5.4.4": "Иванов",
"2.5.4.42": "Иван",
"2.5.4.12": "Директор департамента",
"2.5.4.9": "ул. Ивановская 99",
"2.5.4.11": "Отдел маркетинга",
"O": "ОАО "Тест"",
"2.5.4.7": "г. Москва",
"2.5.4.8": "77 г. Москва",
"C": "RU",
"1.2.840.113549.1.9.1": "example@domain.ru",
"1.2.643.3.131.1.1": "2727020780",
"1.2.643.100.1": "1022700525363",
"1.2.643.100.3": "00000000052"
}
где в следующих OID должны быть корректные (проходящие по контрольной сумме) данные
1.2.643.3.131.1.1: ИНН 1.2.643.100.1: ОГРН 1.2.643.100.5: ОГРНИП 1.2.643.100.3: СНИЛС
Для КПП нет официального OID, но некоторые используют 1.2.643.100.4
. Другие ГОСТ-овые OID можно посмотреть, например, по ссылке или в документе ФОРМАТ СЕРТИФИКАТА.pdf
Далее жмем Создать запрос на сертификат
, соглашаемся со всем и следуем инструкциям от CSP. В результате мы получаем запрос на сертификат (CSR) закодированный в base-64, копируем его в буфер обмена.
Переходим на сайт тестового УЦ КриптоПро по ссылке https://www.ecp64.ru/certsrv/certrqxt.asp, вставляем скопированный CSR в поле и жмем Выдать
.
На следующей странице обязательно выбираем Base64-шифрование
и жмем на ссылку Загрузить сертификат
.
Открываем полученный файл в любом редакторе и удаляем -----BEGIN CERTIFICATE-----
в начале и -----END CERTIFICATE-----
в конце, так чтоб осталось только тело сертификата между ними, и копируем его в буфер обмена.
Возвращаемся на страничку RusCryptoJS, где был создан CSR и вставляем скопированный сертификат в поле Certificate
и жмем Записать сертификат
. Параллельно можно поглядывать в консоль браузера, если интересно)
Дожидаемся сообщения об успехе, сертификат записан. Теперь сертификат со ссылкой на приватный ключ появится в выводе команды
/opt/cprocsp/bin/amd64/certmgr -list -store uMy
Полученным сертификатом можно полноценно пользоваться в тестовых целях, включая электронную подпись.
Как проверить установленные сертификаты в системе?
Но если вы хотите убедиться, что сертификат установлен на вашем компьютере под операционной системой Windows, то это можно следующем способом:
- Зайти в крипто про через панель управления
- Открыть вкладку Сервис
- Нажать просмотреть сертификат
- Нажимаем копку Обзор и смотрим все сертификаты в системе какие есть на данный момент.
Вот и все! В данной статье мы ознакомились с принципами создания тестового сертификаты для понимания и настройки программ для подписания документов ЭЦП
Но! Это не ограничивает этот функционал и вы можете его использовать и в других целях, а если знать в каких, читайте в следующих моих статьях!
Тестовый удостоверяющий центр ооо «крипто-про»
для того что бы выпустить тестовый сертификат нужно проделать следующие шаги: