КриптоПро: просмотреть сохраненный пароль (пинкод) на контейнер закрытого ключа ЭЦП
Зачастую пользователи не могут вспомнить пароль (пинкод) от контейнера ЭЦП, что неудивительно меняется он раз в год при плановой смене ключа ЭЦП после чего ставится галочка "запомнить пароль" и пароль больше никогда не вводится.Сохраненный пароль можно посмотреть с помощью консольной утилиты csptest, входящей в состав КриптоПро CSP.
Утилита находится в папке с установленным КриптоПро (по умолчанию C:\Program Files\Crypto Pro\CSP\).
Переходим в директорию с программой
Смотрим имена доступных контейнеров закрытого ключа ЭЦП:
команда выводит список доступных контейнеров вида: \\.\<имя считывателя>\<имя контейнера>
После этого выводим сохраненный пароль для нужного контейнера:
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 и 4.0 можно отсюда.
Комментарии
it's amazing article.
Feel free to surf to my web page; vipdewa: https://minhamaequedisse.com
i subscribe for a blog website? The account helped me a acceptable deal.
I had been tiny bit acquainted of this your broadcast offered bright clear
idea
Also visit my blog :: गधा: http://kaz-engineering.kz/
Батник ошибок не выдает но текстовый файл не сохраняется. Что может быть не так?
Я не сохранял в компьютере пароль, записал на бумажке. Но попытки его набрать безуспешны. Возможно, при создании использовал не тот регистр/язык и т.д. Прежде чем делать следующую попытку (одна последняя осталась) хочу скопировать данные, чтобы при неудаче можно было восстановить эту самую последнюю возможность. Научите, пожалуйста, как это сделать.
Для тех кто после запуска ищет где отобразится пароль - на рабочем столе создается txt файл, открываете, там пароль и будет написан.
Enjoy!
The sketch is tasteful, your authored subject matter stylish.
nonetheless, you command get got an edginess over
that you wish be delivering the following.
unwell unquestionably come more formerly again since exactly the same nearly a lot often inside case you
shield this hike.
my page ... bonus sweet bonanza: https://sweetbonanza.click
c:\Program Files\Crypto Pro\CSP>csptest -passwd -showsaved -container "\\.\REGISTRY\a bv 1234567891"
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Windows CPU:IA32 FastCode:READY:AVX.
AcquireContext(\\.\REGISTRY\abv 1234567891) succeeded. HCRYPTPROV: 17209664
There is no saved password.
An AT_KEYEXCHANGE key is available. HCRYPTKEY: 17358584
An AT_SIGNATURE key is NOT available.
Total: SYS: 0,063 sec USR: 0,031 sec UTC: 0,116 sec
[ErrorCode: 0x00000000]
Пишет что пароль не сохранен, но пароль все равно требует. Пустой пароль не подходит.
В крипто-про можно задать пустой пароль на контейнер. Если у вас государственный сайт требует пароль которого нет, можно попробовать установить пароль через вкладку Сервис в крипто-про, и зайти под новым паролем.
Объясню, на компьютере в реестре хранится несколько эцп, с помощью приведенного здесь кода (дай Бог здоровья всем кто приложил к нему мозг) были извлечены пароли для всех эцп, НО если для каждой эцп запись имеет вид:
AcquireContext(...) succeeded. HCRYPTPROV: ...
Saved container password: ...
то для одной из них, запись имеет только первую часть, а именно:
AcquireContext(...) succeeded. HCRYPTPROV: ...
и все, как такое возможно?
попытки подбора пароля результатов не дали
RSS лента комментариев этой записи