КриптоПро: просмотреть сохраненный пароль (пинкод) на контейнер закрытого ключа ЭЦП

Зачастую пользователи не могут вспомнить пароль (пинкод) от контейнера ЭЦП, что неудивительно меняется он раз в год при плановой смене ключа ЭЦП после чего ставится галочка "запомнить пароль" и пароль больше никогда не вводится.Сохраненный пароль можно посмотреть с помощью консольной утилиты csptest, входящей в состав КриптоПро CSP.

Утилита находится в папке с установленным КриптоПро (по умолчанию C:\Program Files\Crypto Pro\CSP\).

Переходим в директорию с программой

cd "C:\Program Files\Crypto Pro\CSP\"

Смотрим имена доступных контейнеров закрытого ключа ЭЦП:

csptest -keyset -enum_cont -fqcn -verifycontext

команда выводит список доступных контейнеров вида: \\.\<имя считывателя>\<имя контейнера>

После этого выводим сохраненный пароль для нужного контейнера:

csptest -passwd -showsaved -container "<имя контейнера>"

PS: Данный способ подходит для КриптоПро 3.6 и выше. В КриптоПро 3.0 у утилиты csptest отсутствует опция -showsaved.

PPS: Если этот метод не помогает и у вас аппаратные контейнеры (токены), можно попробовать ввести пароль по умолчанию. Для rutoken это 12345678, для eToken 1234567890, для JaCarta PKI/ГОСТ 11111111 (1234567890 если включена опция обратная совместимость).

PPPS: Весь процесс можно автоматизировать обычным батником,который  массово достает пароли из всех доступных ключей. Большое спасибо Александру Санникову за доработку скрипта. Скачать bat-файл можно отсюда. Текст батника:


@echo off
SetLocal EnableExtensions EnableDelayedExpansion
copy "C:\Program Files\Crypto Pro\CSP\csptest.exe" >nul
chcp 1251
if exist %computername%.txt del /f /q %computername%.txt
if exist temp.txt del /f /q temp.txt
set NameK=""
for /f "usebackq tokens=3,4* delims=\" %%a in (`csptest -keyset -enum_cont -fqcn -verifycontext` ) do (
set NameK=%%a
;csptest -passwd -showsaved -container "!NameK!" >> temp.txt
)
del /f /q csptest.exe
set/a $ai=-1
set/a $bi=2
for /f "usebackq delims=" %%a in ("temp.txt") do @(set "$a=%%a"
if "!$a:~,14!"=="AcquireContext" echo:!$a! >> %computername%.txt
if "!$a:~,8!"=="An error" echo:Увы, ключевой носитель отсутствует или пароль не был сохранен. >> %computername%.txt & echo: >> %computername%.txt
if "!$a:~,5!"=="Saved" set/a $ai=1
if !$ai! geq 0 set/a $ai-=1 & set/a $bi-=1 & echo:!$a! >> %computername%.txt
if !$bi!==0 echo: >> %computername%.txt & set/a $bi=2
)
del /f /q temp.txt
EndLocal
echo on


Скачать отдельно утилиту csptest для версий 3.6 и 3.9 можно отсюда.

 
1 1 1 1 1 1 1 1 1 1 Рейтинг 3.70 [5 Голоса (ов)]

Комментарии   

 
0 #48 Sysadmin 22.03.2017 12:22
Цитирую Ирина:
Подскажите, п-та, есть ли какая-то возможность восстановить пин-код : есть ключ от электронных площадок, пин-код меняли ? Год пользовались, через год на эту же флешку лицензию криптоПро перезаписали в РОСЭЛТОРГе, а почему-то войти теперь не можем...Вроде ничего не меняли.
Предлагают комбинации подобрать- но все мимо :(

Если у Вас етокен, то можно попробовать авторизоваться администратором (пароль скорее всего стандартный 1234567890) и сбросить пароль пользователя. Подробнее тут: www.aladdin-rd.ru/support/forum/?PAGE_NAME=read&FID=47&TID=919
Цитировать
 
 
0 #47 Ирина 21.03.2017 16:58
Подскажите, п-та, есть ли какая-то возможность восстановить пин-код : есть ключ от электронных площадок, пин-код меняли ? Год пользовались, через год на эту же флешку лицензию криптоПро перезаписали в РОСЭЛТОРГе, а почему-то войти теперь не можем...Вроде ничего не меняли.
Предлагают комбинации подобрать- но все мимо :(
Цитировать
 
 
0 #46 Sysadmin 22.08.2016 11:50
Цитирую Сергей Артюхин:
del /f /q csptest.exe
Замечательно, если запустить батник из папки, где установлен Криптопро :D

Не думал что кто-то будет запускать батник от туда) Добавил в пост ссылку на csptest.exe на всякий случай.
Цитировать
 
 
0 #45 Сергей Артюхин 11.07.2016 17:16
del /f /q csptest.exe
Замечательно, если запустить батник из папки, где установлен Криптопро :D
Цитировать
 
 
0 #44 Евгений 24.03.2016 19:39
Цитирую Александр Санников:

Я батники не писал с конца 90-х, пришлось на ходу вспоминать, разбираться и учиться. Так что ой. Что вышло -

с конца 90-х... я не пишу на ассемблере... а так хочется порой! обожаю оптимизации кода по размеру :) батников это тоже касается :)))
Цитировать
 
 
0 #43 Александр Санников 24.03.2016 09:02
Цитирую Евгений:
в каком притоне вас учили батники писать?
избыточная не совместимая бредятина... вот так лучше! 8)

Притон называется "нужно вчера, а специалиста нет".
Я батники не писал с конца 90-х, пришлось на ходу вспоминать, разбираться и учиться. Так что ой. Что вышло - то вышло, главное работало в тот момент и может даже еще кому-то помогло.
Я же не волшебник, я просто учусь. ;-)
Цитировать
 
 
0 #42 Александр Санников 24.03.2016 08:59
Цитирую Andrew622:
Здравствуйте
Случилась такая ситуация что пришлось переустанавливать операционную систему,

Я правильно понимаю, что вы УЖЕ переустановили систему? Если так - то пароль уже не вытащить...
Цитировать
 
 
-1 #41 Andrew622 23.03.2016 14:58
Здравствуйте
Случилась такая ситуация что пришлось переустанавлива ть операционную систему, а предыдущий работник сохранил пароль который никому не сказал.
ввожу команды и когда дохожу до данной и после ее ввода
csptest -passwd -showsaved -container ""
начинает спрашивать местонахождение сертификата
спрашивая откуда мол загрузиться но не видит на флешке все данные.
Как быть дальше
Заранее спасибо
Цитировать
 
 
+1 #40 Евгений 03.03.2016 16:08
в каком притоне вас учили батники писать?
избыточная не совместимая бредятина... вот так лучше! 8)

@echo off
chcp 1251
set path=%path%;C:\ Program Files\Crypto Pro\CSP\;
for /f "usebackq tokens=3,4* delims=\" %%a in (`csptest -keyset -enum_cont -fqcn -verifycontext` ) do (
for /f "usebackq skip=3 tokens=1,2" %%i in (`csptest -passwd -showsaved -container "%%a"`) do if "%%j"=="" echo %%a: %%i
)
Цитировать
 
 
0 #39 Sysadmin 13.01.2016 00:20
Цитирую Валерий:
Всем добрый день! Такая проблема: забыли пароль, все делаем по инструкции приведенной выше, поэтапно - cmd - cd "C:\Program Files\Crypto Pro\CSP\" и тут начинается самое не интересное, ввожу команду -csptest -keyset -enum_cont -fqcn -verifycontext появляется следующее - C:\Program Files\Crypto Pro\CSP>csptest -keyset -enum
"csptest" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. ПОДСКАЖИТЕ ЧТО ДЕЛАТЬ ДАЛЬШЕ? нужна помощь очень срочно, интерес не коммерческий, помогаю жене, огромное спасибо. п.с. - / бат пробовал текстовой файл не появляется.

Посмотрите есть ли в папке C:\Program Files\Crypto Pro\CSP файл "csptest.exe". Версия КриптоПро какая?
Цитировать
 

Добавить комментарий