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