Тестовый сертификат эцп






Про то как работать с КриптоПро, как создавать и добавлять сертификаты на платформе Windows, в интернете куча информации. Для Linux систем информации меньше. И вся она разрозненная. Поэтому немного полезностей для разработчика, работающего в Linux.


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


А так же предполагаем что уже созданно хранилище для сертификатов. Проверить наличие хранилища можно с помощью команды /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc


В этом случае будет выведен список сертифкатов в хранилище в следующем формате:


Где собственно HDIMAGE название хранилища и обозначает что сертификаты хранятся на жестком диске.


Если такого хранилища не существует, то его можно создать (из под пользователя root):


/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -add HDIMAGE store


Теперь добавляем в хранилище контейнер для сертификата:


/opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -cont '\.HDIMAGEcert3' Утилита попросит понажимать клавиши, для генерации случаных чисел. Так же попросит ввести пароль для доступа к контейнеру. Лучше ввести пустой пароль — нажать Enter два раза. Так проще и меньше проблем будет при дальнейшей работе.


Теперь создадим запрос на получение сертификата для созданного контейнера cert3


/opt/cprocsp/bin/amd64/cryptcp -creatrqst -dn "INN=007814508921, E=user@site.ru, C=RU, CN=Иванов Иван Иванович, SN=Иванов" -nokeygen -both -ku -cont 'cert3' cert3.req


В параметре -dn указываются данные, которые будут хранится в поле Subject сертификата. Созданый запрос будет сохранен в файле cert3.req. Эти данные нужны для получения сертификата в удостоверяющем центре. Для тестового сертификата можно воспользоваться тестовым удостоверяющим центром КриптоПро.


Адрес сайта тестового УЦ: http://www.cryptopro.ru/certsrv/


Нам нужен пункт «Отправить запрос, используя base-64 шифрованный файл PKCS #10 или PKCS #7». На следующей странице в поле «Сохраненный запрос» вставляем содержимое файла cert3.req и нажимаем кнопку «Выдать».


Если все прошло успешно, то будет показано сообщение что сертификат выдан. Выбираем «DER-шифрование» и нажимаем ссылку «Загрузить цепочку сертификатов». Скаченный файл сохраняем с именем cert3.p7b (или любым другим, главное запомнить его, чтобы потом найти для следующей операции).





Теперь надо установить полученный сертификат в контейнер: /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -file ./cert3.p7b -cont '\.HDIMAGEcert3'


Т.е. Устанавливаем полученный сертифкат в контейнер cert3. Так как мы выбрали цепочку сертификатов, то при установке утилита попросит ввести номер устанавливаемого сертификата. Смотрим по Subject какой сертификат «наш» и устанавливаем его. Второй сертификат — это корневой сертификат и его надо установить отдельно.


Корневой сертификат устанавливается с правами пользователя root: sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file ./cert3.p7b


Проверить что все установилось корректно и посмотреть список сертификатов можно с помощью команды:


/opt/cprocsp/bin/amd64/certmgr -list


Особое внимание в данных сертификата следует уделить на поле «PrivateKey Link». Если там значение «No», то значит где-то возникли ошибки и возможно не был добавлен корневой сертификат или еще что-то. Работосопобность установленного сертификата можно проверить на следующей странице: http://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html


Там используется КриптоПро ЭЦП Browser plug-in. Но раз вы собрались работать с ЭЦП, то либо уже у вас есть, либо понадобится в скором времени. Ставится он довольно легко и существует под все основные браузеры.


На данной странице выбираем только что установленный сертификат и пробуем подписать тестовые данные. В результате получаем либо сообщение об ошибке, либо ответ сервера: «Тип подписи: простая. Подпись проверена.». В этом случае можно сказать что плагин установлен и работает нормально, а созданный сертифкат обладает всей функциональностью и может использоваться для тестирования ЭЦП, а также всего что с этим связанно.


Важное замечание: если в ходе работы с хранилищами, контейнерами и сертифкатами возникают какие-то непонятные ошибки, то в первую очередь следует проверить лицензию на КриптоПро.


Сделать это можно командой: /opt/cprocsp/sbin/amd64/cpconfig -license -view


Если лицензии нет или срок триала уже истек, то самый простой способ — это купить лицензию. Здесь рассказывается где это можно сделать быстро и без проблем: http://blog.pws.ru/2014/04/14/crypto-pro-license/

Источник

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Don`t copy text!
Прокрутить вверх