DevOps

Перенос сертификата КриптоПро

Как перенести сертификат с VPS-1 на VPS-2:

Проверено на Ubuntu 18.04 КриптоПро 4.0 R3.

Закрытые ключи к сертификатам находятся в /var/opt/cprocsp/keys.

Для экспорта сертификатов необходимо:

1. Перенести ключи с VPS-1 /var/opt/cprocsp/keys на VPS-2 в тот же каталог.

Внимание, если имя пользователя от которого запускается КриптоПро "user1" тогда все ключи на VPS-2 тоже должны быть в каталоге "/var/opt/cprocsp/keys/user1".

1.1 Посмотреть какие контейнеры есть:

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn

Эта команда должна отобразить список контейнеров на VPS-2 также как на VPS-1

2. Посмотреть какие сертификаты есть на VPS-1
/opt/cprocsp/bin/amd64/certmgr -list

или посмотреть информацию о конкретном сертификате по его SHA:

/opt/cprocsp/bin/amd64/certmgr -list -thumbprint {SHA1_Hash_сертификата_без_начального_0x}

2.1 Здесь мы смотрим и запоминаем параметр "Container", он может выглядеть вот так: <<HDIMAGE\\abcdef21.000\A941>>

3. Экспортировать сертификат из локального хранилища VPS-1 в файл:
/opt/cprocsp/bin/amd64/certmgr -export -dn 'CN=Иван Петрович Петров' -dest /tmp/test.cer
4. Скопировать экспортированный сертификат с vps-1 на vps-2 в любую директорию например /tmp/test.cer
5. Установить связав с закрытым ключом:

шаблон:

certmgr -inst -file /tmp/mycert.cer -cont '\\.\HDIMAGE\container.name'

пример:

/opt/cprocsp/bin/amd64/certmgr -inst -file /tmp/mycert.cer -cont '\\.\HDIMAGE\abcdef21-96de-4b59-8797-dc4156785c44'

Вниманиеcontainer.name здесь должен быть взят из п. 1.1 и начало должно совпадать с п. 2.1 .

6. Протестировать работу.

Пример команды что подписывает файл "/tmp/text.xml" сертификатом у которого SHA = 1234560229d7306b4ce6c4f7178e4bf56d85ec:

/opt/cprocsp/bin/amd64/cryptcp -sign -thumbprint 1234560229d7306b4ce6c4f7178e4bf56d85ec -hashAlg 1.2.643.7.1.1.2.2 -der -nochain -norev /tmp/text.xml /tmp/test.xml.sign

Другие полезные команды:

Просто установить из закрытого ключа (без контейнера):

/opt/cprocsp/bin/amd64/certmgr -inst -file /tmp/mycert.cer

Подробнее "Экспорт сертификатов на другую машину" тут: https://www.altlinux.org/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%9F%D1%80%D0%BE

Leave a reply