Утилита Csptest.exe — Документация Руководство по командной строке Windows 18.08.2015

Утилита Csptest.exe — Документация Руководство по командной строке Windows 18.08.2015 ЭЦП

Автоматизация работы с сертификатами и контейнерами

Графические интерфейсы очень неудобны для работы с большим количеством ключей. Утилиты командной строки позволяют автоматизировать практически все задачи. В разделе :ref:`cert-utilities` приводится ряд утилит, позволяющих автоматизировать работу с сертификатами и контейнерами.

Копирование

Вначале необходимо скопировать сами данные. Делается это в несколько этапов:

1) Для того, чтобы это сделать, нужно прежде всего узнать SID — идентификатор безопасности текущего пользователя (напоминаем, что на каждом компьютере может быть не один пользователь, и что опытные люди из-под учетной записи админа без острой необходимости не работают). Для этого нужно открыть командную строку и ввести в ней следующую комбинацию:

Копирование контейнера с помощью программы криптопро csp

Скопировать контейнер закрытого ключа можно с помощью криптографической утилиты КриптоПро CSP. Для этого необходимо:

  1. Запустить КриптоПро CSP.
  2. После открытия окна программы, перейти на вкладку «Сервис» и кликнуть по кнопке «Скопировать…».
  1. В окне «Копирование контейнера закрытого ключа» для выбора нужного контейнера необходимо нажать на кнопку «Обзор…».
  1. В появившемся окне выбрать копируемый контейнер из списка и кликнуть по кнопке «ОК».
  1. В окне «Копирование контейнера закрытого ключа» кликнуть по кнопке «Далее…».
  1. Далее необходимо будет задать имя создаваемой копии контейнера (по умолчанию программа использует старое имя, добавив к нему слово «копия»). Можно конечно оставить старое, но, если у Вас много цифровых подписей, чтобы не запутаться в них, имена контейнерам нужно присваивать «говорящие». Лучше всего в именах контейнеров использовать названия интернет-ресурсов, для которых эти ключи предназначены, и даты окончания срока действия ключей, благо имена контейнеров могут содержать русские буквы и пробелы. Для завершения процесса копирования следует нажать кнопку «Готово».
  1. В появившемся при нажатии кнопки «Готово» окне следует указать носитель, на который Вы хотите скопировать контейнер (это может быть флешка, дискета, токен или реестр компьютера), а затем кликнуть по кнопке «ОК».
  1. Напоследок программа предложит установить пароль на вновь созданный контейнер. Установка пароля не является обязательной, можно оставить поле пустым и нажать на кнопку «ОК». На этом процесс копирования контейнера завершается.

Копирование с помощью средств криптопро

Штатный способ копирования контейнеров и сертификатов в КриптоПро таков:

  1. Открыть «Панель управления».
  2. Открыть «CryptoPro»
  3. Войти во вкладку «Сервис».
  4. Нажать пункт «Скопировать».
  5. Выбрать контейнер, с которого надо снять копию — как токен, так и компьютерный реестр.
  6. Задать новое имя и новый адрес для контейнера (в реестре или токене).

Алгоритм прост, но есть один момент, который портит всю картину: работает метод лишь в том случае, если еще на этапе создания ключа он получил отметку «Экспортируемый». Если такого флага не было проставлено, система выдаст сообщение: «Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии».

При получении такого сообщения можно смело переходить ко второму способу копирования ключей.

Массовый перенос сертификатов и ключей на новый компьютер

Второй способ копирования состоит в том, что на новом компьютере в реестре создается новая ветка — точная копия аналогичной на исходной машине. Тогда после переноса ключей и сертификатов к ним они оказываются рабочими и изначально активированными. Однако при использовании этого способа нужно вначале убедиться, что на обоих компьютерах стоит одна и та же версия Windows: попытка перенести данные с «семерки» на «десятку» может кончиться тем, что система придет в нерабочее состояние.

Ошибка копирования контейнера

Обычно процесс переноса информации проходит без ошибок, но некоторые закрытые ключи Удостоверяющий центр помечает как «‎Недоступные для копирования». Делается это для того, чтобы в случае необходимости пользователи обращались в УЦ за копией. Выглядит ошибка так:

Если при повторной попытке копирования с использованием утилиты ошибка повторяется, то нужно использовать другой способ переноса информации.

Перенос и установка

Чтобы на новом компьютере ключи и сертификаты встали на место, надо перенести на него два файла:

  • Сохраненную часть реестра — ту ветку с ключами, которую экспортировали ранее.
  • Найденную и скопированную директорию, где хранятся сертификаты. Переносить ее надо сразу же на нужное место, заменяя содержимое аналогичной директории. Если этого не сделать, на этапе редактирования реестра возникнут проблемы, и может потребоваться восстановление реестра из сохраненной копии.

После этого необходимо сделать следующее:

  1. Описанным выше способом нужно узнать идентификатор безопасности пользователя (SID) на новом компьютере.
  2. Открыть сохраненный и перенесенный файл с частью реестра. Сделать это надо в текстовом редакторе («Блокноте» или аналогичной программе — в зависимости от того, что установлено на компьютере).
  3. Вручную заменить старый SID на новый и сохранить результат в том же формате файла.
  4. Дважды щелкнуть по файлу с веткой реестра. Откроется окно запроса на встраивание фрагмента в общий реестр Windows. Здесь нужно дать согласие.

Все, процедура завершена. С этого момента операционная система «считает», что каждый закрытый ключ и сертификат с него были изначально правильно установлены в штатном порядке.

Перенос сертификатов из реестра через internet explorer

Для создания копии дубликата ЭЦП на флешке нужно:

  • в IE открыть «Свойства браузера» / «‎Содержание» / «‎Сертификаты» / «‎Экспорт»;
  • через правую клавишу мышки в оснастке нужного сертификата выбрать «‎Экспорт»;
  • в мастере переноса сертификатов ЭЦП сначала нажимают «‎Далее», а затем напротив пункта«‎Экспортировать закрытый ключ вместе с сертификатом» ставят галочку;
  • если эта область неактивна, значит, ключ защищен от копирования, и данный способ не подходит;
  • если все работает, то следующий шаг — выбор формата загрузки;
  • далее пользователь задает пароль и указывает место хранения закрытого ключа;
  • завершается процесс нажатием «‎Готово».

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

Список контейнеров выводится с помощью параметра -keyset:

csptest.exe -keyset -enum_cont -verifycontext -fqcn

Для просмотра списка контейнеров на съемных носителях используется параметр -machinekeys. В данном случае не будут показаны ключи, установленные в реестр:

csptest.exe -keyset -enum_cont -verifycontext -fqcn -machinekeys

Пример вывода команды:

CSP (Type:75) v3.6.5365 KC1 Release Ver:3.6.7777 OS:Windows CPU:IA32 FastCode:READY:SSE2.
AcquireContext: OK. HCRYPTPROV: 2433328
\.REGISTRY2022ZAO_
\.Aktiv Co. ruToken 086425052@2022-02-11-ЗАО ПФ СКБ Контур
\.Aktiv Co. ruToken 02022ZAO
\.FAT12_H2022ZAO_flash
\.FAT12_H2022ZAO_2
OK.
Total: SYS: 0,609 sec USR: 0,234 sec UTC: 4,688 sec
[ErrorCode: 0x00000000]

Note

Флешки и дискеты обозначаются как FAT12_x, где и x буква, присвоенная съемному носителю.

Носитель будет отображен данной командной только в том случае, если на нем есть контейнеры.

Смена пароля на контейнер (снятие паролей с контейнера)

csptest -passwd -cont имя_контейнера -change новый_пароль -pin старый_пароль

Чтобы удалить пароли с контейнеров, можно в параметр -change передать «».

Способы переноса

Всего в КриптоПро предусмотрено два варианта копирования ключей и сертификатов:

  1. Штатный механизм, предусмотренный в интерфейсе CryptoPro, найти его можно в панели управления программы. Самый легкий способ, но работать надо с каждым контейнером и сертификатом отдельно. Когда их несколько десятков (а это уже не уникальный случай даже для физических лиц, не говоря об организациях), начинается долгая и муторная процедура.
  2. Перенос самих файлов и записей в реестре. Очень быстрый способ: одинаково легко копировать и 3, и 33 ключа. Но при этом надо иметь определенные знания о процедуре.

Далее рассмотрены будут оба способа, но особое внимание будет уделяться именно второму. Дело в том, что иногда он — единственный доступный способ сделать работающую копию. Также уточним, что речь будет идти о переносе лишь тех контейнеров ключа, которые вписаны в реестр Windows. При хранении на токене копировать ключи не нужно, потребуются на новом компьютере лишь сертификаты.

Справка по csptest.exe

Посмотреть все параметры утилиты сsptest.exe:

сsptest.exe

Установка сертификатов

Установка сертификатов производится параметром -cinstall:

csptest.exe -property -cinstall -cont "Имя контейнера"

Оцените статью
ЭЦП64
Добавить комментарий