Как запустить криптопро csp из командной строки windows

Обновлено: 29.06.2024

В данном разделе рассматриваются практические примеры работы с реестром:

Лицензия КриптоПро в реестре [1017]¶

Лицензия КриптоПро хранится в реестре, её можно оттуда скопировать, либо ввести.

КриптоПро 3.6:

КриптоПро 3.9:

КриптоПро 4.0:

КриптоПро 3.0:

  1. Открыть двойным нажатием левой кнопки мыши параметр ProductID и прописать в поле Значение серийный номер лицензии (можно с дефисами, можно без). Либо скопировать номер лицензии оттуда.

Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739]¶

Реестр может использоваться в качестве ключевого носителя, другими словами, в него можно скопировать Квалифицированную электронную подпись (КЭП). После копирования закрытые ключи будут находиться:

  • В некоторых случаях сертификат попадает сюда:

Где SID (идентификатор пользователя) (англ. Security Identifier (SID)) — структура данных переменной длины, которая идентифицирует учетную запись пользователя, группы, домена или компьютера.

Узнать SID пользователя можно через командную строку («Пуск → Выполнить → cmd»), введя команду WHOAMI /USER .

Рис. 23 – Узнать SID пользователя через командную строку

Рис. 23 – Узнать SID пользователя через командную строку

Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».

Восстановление закрытых ключей с неисправного компьютера¶

Обязательно ознакомьтесь с главой Работа с Редактором реестра и разделами:

Есть возможность восстановить закрытые ключи сертификата, если они были записаны в реестре компьютера и этот компьютер сломался.

Это можно сделать только в том случае, если жесткий диск в рабочем состоянии и есть возможность его подключить к рабочему системному блоку. Или есть копия папки C:\Windows\System32\config\ .

Если условия выполняются, необходимо проделать следующее:

  1. Подключить жесткий диск от неработающего компьютера к рабочему системному блоку;
    утилиту PsExec.exe и скопировать ее в корень диска C .

Открыть редактор реестра с помощью утилиты PsExec.exe (см. раздел Работа через утилиту PsExec ). В командной строке («Пуск → Выполнить → cmd») ввести команду;

Загрузить куст HKEY_LOCAL_MACHINE\Software (см. раздел Загрузка и выгрузка куста ):

  • Перейти в раздел HKEY_LOCAL_MACHINE ;
  • Выбрать «Файл → Загрузить куст»;
  • В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера C:\Windows\System32\config\SOFTWARE ;
  • Задать произвольное имя загруженному кусту, например, AZAZAZ .

В некоторых случаях сертификат попадает сюда:

  1. После того, как найден нужный раздел с ключами:
  • Нажать на подраздел keys правой кнопкой мыши и выбрать пункт «Экспортировать» (см. раздел Создание резервной копии реестра (Экспорт) ).
  • Выбрать место для сохранения и задать имя файла. Экспортированный файл будет иметь расширение .reg .
  • Если требуется, перенести экспортированный файл с расширением .reg на другой компьютер.
  1. Открыть экспортированный файл с расширением .reg в текстовом редакторе (Notepad++, Блокнот) и изменить в файле идентификатор пользователя (SID) на идентификатор текущего пользователя, для этого:

Рис. 24 – Изменение пути к веткам реестра

Рис. 24 – Изменение пути к веткам реестра

  • В командной строке («Пуск → Выполнить → cmd») ввести команду WHOAMI /USER (см. рисунок Рис. 23 – Узнать SID пользователя через командную строку ).

Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».

  1. Сохранить изменения в файле и открыть его двойным щелчком мыши (см. раздел Восстановление реестра из резервной копии (Импорт) ). Разрешить внести изменения в реестр.
После этого выполнить установку открытого ключа через Крпто Про CSP (Инструкция по установке личного сертификата).

Перед тем, как вносить изменения в реестр, обязательно создавайте его резервную копию. Подробнее в разделе Создание резервной копии реестра (Экспорт) .

  1. В конце рекомендуется выгрузить ранее загруженный куст «Файл → Выгрузить куст».

Можно запускать реестр и не используя утилиту PsExec.exe , но тогда придется добавлять загруженным веткам права и разрешения вручную так, как описано в разделе Права доступа (Разрешения) . Это не критично, если речь идет, например, о копировании всего одного контейнера закрытого ключа. Если файлов много, то гораздо быстрее и удобнее использовать PsExec.exe .

Рекомендую всегда держать на готове утилиту PsExec.exe , ее скачивание и копирование занимает не так много времени.

Извлечение информации из резервной копии реестра¶

Резервные копии реестра обычно создаются автоматически каждые десять дней. Сохраняются они в папке:

  • C:\Windows\System32\config\RegBack – для Windows 7 и Server 2008;
  • C:\Windows\repair – для XP и Server 2003.

Данные папки содержит те же файлы, что и C:\Windows\System32\config\ .

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

Порядок действия аналогичен, описанному порядку в инструкции Восстановление закрытых ключей с неисправного компьютера . Отличается только файл загружаемого куста C:\Windows\System32\config\RegBack\Software .

Доступ к считываетлям (Calais)¶

Иногда возникает проблема с доступом к считывателям смарт-карт. Она может быть связана с тем, что у текущего пользователя недостаточно прав на следующие ветки:

Подробнее о настройке прав доступа читайте в разделе Права доступа (Разрешения) .

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

Доверенные узлы¶

Если узел не добавляется в надежные узлы, можно добавить его вручную через реестр, для этого необходимо:

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

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

Для удобства, перед выполнением команд перейдите в папку C:\Program Files\Crypto Pro\CSP , выполнив в командной строке команду: cd "C:\Program Files\Crypto Pro\CSP"

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

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

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

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

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

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

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

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

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

Копирование контейнера¶

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

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

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

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

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

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

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

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

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

Что позволило российским компаниям вновь вернуться к использованию этих утилит. К сожалению, криптоПРО славится своим глючным интерфейсом и зачастую просто зависает, и замедляет скорость работы специалиста, а иногда и всего отдела.

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

Панель управления

Самый простой способ перезапуска производится через панель управления.

Открываем панель управления и в поисковой строке вписываем слово «службы».

В выпадающем списке находим «Просмотр локальных служб».


Здесь находим криптопро csp cpcsp (название может незначительно меняться) и выбираем отключить, затем ожидаем несколько секунд и выбираем включить.

Командная строка

Диспетчер задач позволяет выходить из приложений, а также останавливать и запускать службы Windows. Это простой графический способ остановить службу, если это когда-либо понадобится.

Но вы также можете остановить и запустить службу Windows из командной строки. Процесс достаточно прост, хотя само собой разумеется, что требуются права администратора для остановки или запуска необходимого процесса.

Кликните на иконку лупы в левом нижнем углу экрана и напечатайте «командная строка». Не забудьте запустить её от имени администратора из контекстного меню. Кроме того, открыть командную строку возможно с правами администратора из поля «Выполнить», введя cmd и нажав Ctrl + Shift + Enter.


Сканирование для запущенных сервисов

Так как процессы чаще всего называются не самыми запоминающимся именами, скорее всего, вы не знаете, как называется искомая служба. Диспетчер задач перечисляет их, так что это проще, но Microsoft позволяет сканировать процессы и через командую строку. Введите следующую команду, чтобы получить список всех служб, которые в данный момент работают.


Остановите любую из служб с помощью следующих команд. Если в имени есть пробелы, вы должны заключить его в двойные кавычки.

NET STOP service nameпример.

Начать обслуживание

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

NET START service name.


Если вы хотите остановить и запустить службу Windows из командной строки за один раз, объедините две вышеупомянутые команды следующим образом:

net stop service name && net start service name.

Сервисный статус

Командная строка имеет встроенный инструмент, выполняющий множество других полезных операции. Например, если нужно знать, работает ли служба или нет, используйте этот инструмент для запроса статуса. Он называется «sc», потребуются лишь права администратора, чтобы использовать все его команды. Просмотреть полный список команд, которые он поддерживает, можно на официальной странице документации, поддерживаемой Microsoft. Чтобы просто проверить состояние процесса, используйте следующую команду.

sc command service name.

Один из вариантов:

sc query “Apple Mobile Device Service”


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

PowerShell

Производственный скрипт

Чтобы добиться перезагрузки, все, что вам действительно нужно — это вписать ровно одну строку:

$servicePrior = Get-Service $srvName

Set-Service $srvName -startuptype manual

Restart-Service $srvName

$serviceAfter = Get-Service $srvName

Примечание: существуют различия в зависимости от используемой операционной системы. Так что у пользователей, обладающих прошлыми операционными системами от Microsoft (Vista,7,8.1) могут возникнуть определенные проблемы. Прежде всего это руководство создано для пользователей Windows 10.

На этом самые популярные и простые способы как перезапустить службу криптопро csp cpcsp закончены. Не бойтесь пользоваться командной строкой, на самом деле она очень проста в использовании. Да, это не графический дизайн, к которому привыкло большинство современным пользователей. Однако, как и любое программирование командная строка поддается банальной логике, остается только её понять.

Читайте также: