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

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

 

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

Команда 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 st>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" приведена в руководстве администратора Продукта  «С-Терра КП. Версия 4.3».