Независимо от используемой криптобиблиотеки, формирование ключей электронной подписи можно выполнить как с применением ПО «КриптоПро УЦ» (централизованно), так и с использованием сертифицированного СКЗИ «КриптоПро 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».