cmd-guide/certutil.rst at master · mazhartsev/cmd-guide · GitHub

Csptest описание команд windows

Утилита сsptest.exe , входит в состав программы КриптоПро и позволяет выполнять операции через командную строку. Это дает возможность автоматизировать выполняемые действия с помощью скриптов.

Далее будут рассмотрены основные команды утилиты сsptest.exe и скрипты, позволяющие выполнить массовое копирование контейнеров закрытых ключей и установку сертификатов.

Для удобства, перед выполнением команд перейдите в папку C:Program FilesCrypto ProCSP , выполнив в командной строке команду: cd «C:Program FilesCrypto ProCSP»

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

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

Основные команды csptest.exe

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

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

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

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

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

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

Копирование контейнера осуществляется с помощью параметра -keycopy :

  • -src — имя контейнера. Имена контейнеров уникальны, поэтому можно не указывать путь к носителю, КриптоПро сама найдет путь к контейнеру.
  • -dest — имя скопированного контейнера, оно должно отличаться от исходного имени. Так же можно указать путь к контейнеру, например, если указать -dest «\.FAT12_H2022ZAO_3» , то контейнер будет скопирован на флэшку. Если не указать путь к носителю, а просто задать название контейнеру, то крипто про выведет графический диалог выбора носителя для копирования.
  • -pinsrc — пароль от исходного контейнера, если пинкода нет, то данный параметр можно не указывать.
  • -pindest — пароль на скопированный контейнер. Чтобы подавить графический диалог установки пароля при автоматическом копировании контейнеров, можно указать пустой пароль, выполнив -pindest=»»

Например, рассмотрим копирование контейнера с рутокена в реестр:

Аналогичная ситуация с рутокенами, в данном случае программа не различает понятия пароль и пин-код. Т.е. чтобы скопировать контейнер с рутокена на носитель можно команде -pinsrc присвоить стандарнтный пин-код от Рутокена 12345678 . В таком случае не будет выводиться запрос на ввод пин-кода Рутокена.

Читайте также:  Эцп кадастрового инженера Акты, образцы, формы, договоры Консультант Плюс

Копирование на Рутокен

К сожалению, копирование контейнера на Рутокен работает не совсем гладко. Если параметру -dest указать значение \.Aktiv Co. ruToken 0Имя_контейнера , то будет выведено пустое окно КриптоПро для выбора ключевого носителя.

В данном случае лучше передать параметру -dest просто название контейнера, без указания пути к носителю, но тогда при копировании каждого контейнера будет появляться уже не пустое окно КриптоПро для выбора ключевого носителя, в котором надо будет вручную выбирать нужный Рутокен.

С другой стороны, такое поведения достаточно удобно при копировании большого числа контейнеров на разные Рутокены. Можно контролировать заполненность носителя.

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

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

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

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

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

Почему не работает команда csptest -keycopy -src cont ‘\.flashqwerty’ -d cont ‘\.hdimageqwerty’ ?

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

Попробуйте назвать копию как-нибудь иначе, например:

csptest -keycopy -src cont ‘\.FLASHqwerty’ -d cont ‘\.HDIMAGEqwerty1’

Что такое ключевой контейнер? зачем нужен пароль на контейнер?

Ключевые контейнеры – это способ хранения закрытых ключей, реализованный в нашем продукте. Их физическое представление зависит от типа ключевого носителя (на флешке, дискете, жестком диске это директория в которой хранится набор файлов с ключевой информацией; в случае со смарт-картами – файлы в защищенной памяти смарт-карты, в случае с реестром – раздел реестра, содержащий некоторые параметры). Пароль на контейнер имеет разное значение для смарт-карт и для носителей, не являющихся смарт-картами.

Windows блокирует запуск скрипта¶

Система “безопасности” Windows может заблокировать выполнение скриптов. В такой ситуации требуется принудительно разрешить их выполнение.

Если при попытке выполнить сценарий появляется сообщение Не удается загрузить файл , так как выполнение скриптов запрещено для данной системы. Введите “get-help about_signing” для получения дополнительных сведений, достаточно подтвердить свое согласие введя Y .

Также можно воспользоваться средой разработки Windows PowerShell ISE. Подробнее смотрите:

Алгоритм работы¶

  1. Перенесети папку с утилитами на первый компьютер абонента, с которого надо скопировать контейнеры;
  2. Запустите скрипт export_keys.ps1 и дождитесь его успешного выполнения. При этом в папке со скриптами появится экспортированная ветка реестра;
  3. Перенесите папку со скрипом и экспортированным файлом на второй компьютер;
  4. Запустите скрипт import_keys.ps1 и дождитесь его успешного выполнения;
  5. Просмотрите вывод скрипта, на наличе проблем и проверьте вход в сервисы СКБ Контур.
Читайте также:  Как получить и установить ЭЦП для Сбербанк АСТ? — АСТ Сбербанк

При использовании скриптов не требуется устанавливать сертификаты через КриптоПро. Однако, вы можете проверить через КриптоПро успешное выполнение сценариев.

Скрипт export_keys.ps1 сохраняет ветку в файле ps_keys.reg на рабочем столе. Скрипт import_keys.ps1 подхватывает файл ps_keys.reg также с рабочего стола и резудьтат обработки сохраняет в файле ps_keys_out.reg .

Файл ps_keys.reg не будет подхвачен скриптом import_keys.ps1 из других папок.

Запуск скриптов¶

Выполнять скрипты рекомендуется через среду разработки Windows PowerShell ISE. Чтобы не менять настройки безопасности на компьютерах абонентов:

  1. Откройте скрипт в Windows PowerShell ISE;
  2. Выделите код скрипта, нажмите F8 и скрипт будет выполнен.

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

Как в linux/unix установить сертификаты?

Основной утилитой для работы с сертификатами является certmgr (лежит в /opt/cprocsp/bin/ ). К ней есть man: man 8 certmgr

Установка корневого сертификата: certmgr -inst -store root -file

Установка личного сертификата: certmgr -inst -file -cont

Установка стороннего сертификата: certmgr -inst -file

Как посмотреть список закрытых ключей?

Список контейнеров с закрытыми ключами можно посмотреть утилитой csptest. Она находится в директории /opt/cprocsp/bin/

Перечисление контейнеров пользователя: csptest -keyset -enum_cont -verifycontext -fqcn

Перечисление контейнеров компьютера: csptest -keyset -enum_cont -verifycontext -fqcn -machinekeys

В полученном списке имена контейнеров будут представлены в том виде, в котором их воспринимают все бинарные утилиты, входящие в дистрибутив CSP (\. ).

Как проверить, работоспособен ли контейнер с закрытыми ключами?

Открыть(проверить) контейнер можно утилитой csptest. Она находится в директории /opt/cprocsp/bin/ :

Открыть(проверить) контейнер пользователя: csptest -keyset -check -cont ‘\.имя считывателяимя контейнера’

Открыть(проверить) контейнер компьютера: csptest -keyset -check -cont ‘\.имя считывателяимя контейнера’ -machinekeyset

где имя считывателя: HDIMAGE, если используете жесткий диск для хранения ключей FLASH, если используете флешку FAT12_0, если используете дискету

Как сделать новые закрытые ключи?

Обычно ключи создаются вместе с запросом на сертификат. Если Вам требуется создать ключи и запрос на сертификат, воспользуйтесь утилитой cryptcp(документация на неё входит в состав документации на CSP, см. раздел «Работа с запросами на сертификат»).

Если требуется просто сделать новые ключи, можно воспользоваться утилитой csptest. Она находится в директории /opt/cprocsp/bin/ .

Создание контейнера пользователя: csptest -keyset -newkeyset -cont ‘\.имя считывателяимя контейнера’

Создание контейнера компьютера:

Как скопировать ключи с дискеты/флешки на hdimage?

Скопируйте ключи(директорию с именем в формате 8.3) из корня дискеты или флешки в директорию /var/opt/cprocsp/keys/имя_пользователя

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

Читайте также:  Реклама эцп для торгов

Просмотр сведений о сертификате

Для просмотра сведений о сертификате достаточно выполнить:

certutil сертификат.cer

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

certutil Desktopmy-cert.cer > cert-info.txt

В примере рассматривается случай когда сертификат находится на рабочем столе. Весь вывод будет записан в файл cert-info.txt.

Подробнее о работе с командной строкой и перенаправлении вывода смотрите в разделе :ref:`cmd` данного руководства.

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

Посмотреть мои сертификаты::

Работа с криптопровайдером (csp – crypto service provider)

Информация о текущем криптопровайдере:

Certutil /scinfo

Списоке всех криптопровайдеров, установленных в системе:

Certutil -csplist

Информация конкретном CSP:

Certutil -csptest "cspname"

Например:

Certutil -csptest "Microsoft Strong Cryptographic Provider"

Системные требования¶

Скрипты, перечисленные в этом разделе, написаны на Windows PowerShell.

Windows PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев. Windows PowerShell 2.0 был выпущен в составе Windows 7, Windows 8 и Windows Server 2008 R2, а также Windows Server 2022 R2, как неотъемлемый компонент системы.

Утилита cert-install.ps1¶

cert-install.ps1 – утилита для массовой установки сертификатов.

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

Утилиты export_keys.ps1 и import_keys.ps1¶

Две утилиты, используеющиеся совместно.

  • автоматически определяет разрядность системы;
  • автоматически определяет SID пользователя;
  • экспортирует ветку в папку со скриптом.
  • автоматически определяет разрядность системы;
  • автоматически определяет SID пользователя;
  • изменяет ветку реестра в экспортированном файле;
  • импортирует файл с контейнерами;
  • автоматически устанавливает сертификаты, перенесенных контейнеров.

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

Экспорт/импорт в pfx (pkcs#12)

Экспорт:

Проверка отзыва сертификата

Чтобы проверить открытый сертификат на отозванность, необходимо:

  1. Открыть командную строку «Пуск → Выполнить → cmd»;
  2. Ввести команду certutil -verify и указать путь до сертификата, например, certutil -verify 6654074390-632701001-613402108217.cer;

Будет показана информация о сертификате. В случае, если сертификат действующий, то будет выведено сообщение:

Проверка отзыва сертификата выполнена
CertUtil: -verify - команда успешно выполнена.

В случае, если сертификат отозван, то будет выведено сообщение Сертификат ОТОЗВАН (причина=5) и код причины отзыва.

Например, код причины 5 означает, что сертификат отозван по окончанию срока действия.

Таблица кодов причин отзыва сертификатов

Вывод скриптов¶

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

Пример успешного вывода export_keys.ps1 :

Пример успешного вывода import_keys.ps1 :

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

Adblock
detector