Получение сертификата пользователя

Независимо от используемой криптобиблиотеки, формирование ключей электронной подписи можно выполнить как с применением ПО «КриптоПро УЦ» (централизованно), так и с использованием сертифицированного СКЗИ «КриптоПро CSP», создав свой Удостоверяющий центр при помощи Microsoft Certification Authority.

При централизованном получении ключевой пары и локального сертификата в случае, если в С-Терра Клиент используется криптографическая библиотека компании «С-Терра СиЭсПи, полученный контейнер необходимо конвертировать в соответствующий формат утилитой cpkey_conv_exp, которая входит в состав административного пакета – S-Terra Client AdminTool xp.

Команда cpkey_conv_exp предназначена для конвертирования контейнеров, созданных с помощью СКЗИ компании «Крипто-Про», в контейнеры формата криптографической библиотеки компании «С-Терра СиЭсПи». Утилита cpkey_conv_exp конвертирует только те ключи, которые поддерживаются установленной на момент запуска утилиты версией криптопровайдера. Ключ в контейнере должен быть экспортируемым. Для запуска утилиты требуются права Администратора.

Для работы утилиты требуется СКЗИ «КриптоПро CSP». СКЗИ «КриптоПро CSP» должно быть установлено с дополнительными опциями: вид установки – «Выборочная». Во вкладке выбора устанавливаемых компонентов установите все компоненты. Т.е. к предлагаемому стандартному набору компонентов («Основные файлы», «Основные файлы (x64)», «Расширенная совместимость с продуктами Microsoft», «Совместимость с КриптоПро CSP 3.6») добавьте компоненты: «Служба хранения ключей», «Revocation Provider», «Криптопровайдер уровня ядра ОС», «Совместимость с КриптоПро CSP 3.0», выбрав для них значение «Данный компонент и все подкомпоненты будут установлены на локальный жесткий диск».

Синтаксис команды:

cpkey_conv_exp –cpCont cryptopro-container-name -stCont s-terra-container-name [-key exch|sign|all|exch-to-sign|auto] –[cpPIN CPpassword] –[stPIN STpassword] [-user]

-cpCont cryptopro-container-name – имя исходного контейнера формата СКЗИ «КриптоПро»

-stCont s-terra-container-name – имя контейнера, создаваемого в формате криптографической библиотеки компании «С-Терра СиЭсПи» (формат имени описан в команде cont_mgr create)

-key exch|sign|all|exch-to-sign|auto – тип ключевой пары, которую необходимо поместить в контейнер формата криптографической библиотеки компании «С-Терра СиЭсПи»:

exch  – конвертируется ключ типа exchange, если он присутствует в исходном контейнере,

sign – конвертируется ключ типа signature, если он присутствует в исходном контейнере,

all – конвертируются все имеющиеся в контейнере ключи в ключи соответствующего типа,

exch-to-sign – ключ типа exchange будет копироваться в ключ типа signature (ключ типа signature в исходном контейнере игнорируется).

auto – если в контейнере присутствует только ключ типа exchange, то он будет конвертироваться в ключ типа signature, если в контейнере присутствует только ключ типа signature, то он будет конвертироваться в ключ типа signature, если в контейнере присутствует оба ключа типа exchange и signature то они будут конвертироваться в ключи соответствующего типа.
Если параметр не указан, то извлекаются все имеющиеся ключи. При отсутствии ключей в контейнере выдается ошибка.

-cpPIN CPpassword – пароль для доступа к контейнеру формата СКЗИ «КриптоПро».
Допускается использование пустого пароля, при этом ключ cpPIN и аргумент CPpassword  можно не указывать.

-stPIN STpassword – пароль, который будет использоваться для доступа к создаваемому контейнеру формата криптобиблиотеки компании «С-Терра СиЭсПи». Допускается использование пустого пароля, при этом ключ stPIN и аргумент STpassword можно не указывать.

-user – тип контейнера: ключ user указывает, что нужно конвертировать контейнер текущего пользователя, от имени которого запускается утилита, в аналогичный контейнер формата криптографической библиотеки компании «С-Терра СиЭсПи». По умолчанию используется контейнер компьютера (machinekeyset).

Пример:

C:\Program Files\S-Terra Client AdminTool xp>cpkey_conv_exp.exe -cpCont \\.\REGISTRY\sign12_256 -key auto -stCont file_p15://sign12_256 -cpPIN 12345 -stPIN 32156

 

Возможные сообщения об ошибках

Текст сообщения

Описание проблемы

Container converted successfully

Успешное завершение утилиты

Internal error

Внутренняя ошибка, вероятно при выполнении крипто-операций

Invalid program arguments

Неверные аргументы утилиты

CryptoPro library path is not found in registry

Невозможно получить путь до библиотеки КриптоПро

CryptoPro library loading error

Ошибка при загрузке библиотеки КриптоПро

Create S-Terra container error

Невозможно создать контейнер С-Терра

CryptoPro container not exists

Невозможно открыть контейнер КриптоПро

ERROR: CPAcquireContext bad reopen for 4.0

Details:Keyset as registered is invalid.

Internal error

Неверный путь к контейнеру КриптоПро

Wrong CryptoPro container PIN

Неверный PIN контейнера КриптоПро

Key of specified type is not presented in container

Указанный в аргументах ключ не присутствует в контейнере КриптоПро

Key in container not exportable

Ключ в контейнере КриптоПро не является экспортируемым

Public keys in CryptoPro and S-Terra containers not equals

Публичные ключи контейнеров не сопадают - ошибка конвертирования

Далее в документе будет рассмотрен вариант получения сертификата пользователя с использованием своего Удостоверяющего центра, созданного на базе ОС Windows Server и СКЗИ «КриптоПро CSP 4.0». Непосредственно процесс создания Удостоверяющего центра в данном документе не описывается. Инструкция "Установка и настройка Удостоверяющего Центра MSCA" приведена в руководстве администратора Продукта С-Терра КП.