Как очистить jakarta от старых сертификатов
Перейти к содержимому

Как очистить jakarta от старых сертификатов

  • автор:

LeXSofT

Главная страница. Подборки статей и гайдов, которые интересны мне.

Ссылки на разделы

16 апреля 2023

Переносим непереносимое и экспортируем не экспортируемое 2. Или «Как скопировать не экспортируемый ключ ЭП из ESMART Token и JaCarta?»

Сейчас же, я хочу описать свой опыт на тему «выдёргивания» ключа из esmart.

В этих наших интернетах, есть несколько статей по выдёргиванию ключей из JaCarta LT. В них, мельком упоминалось, что примерно так же, можно извлечь ключи и из esmart, но никаких подробностей не было.

Тут мне понадобилось извлечь ключик из esmart и я столкнулся с некоторыми моментами, а учитывая, что я не то, чтобы «кулхацкер» — некоторые моменты были мне не понятны.

Поэтому, после того, как всё получилось — я решил написать свою, более подробную инструкцию.

Нам понадобится:

1) Windows 7 (x86/x64), либо более поздние ОС, но с отключенным Secure Boot. Иначе, SmartcardSniffer работать не будет.

3) Strawberry Perl 5.32.1.1 32bit — Нужен для работы скрипта, разделяющего дамп по действиям.

4) Драйвера esmart.
Легче всего, вставить esmart в USB, зайти на i.kontur.ru и настроить рабочее место, например, под работу с Диадок. Тогда установятся все нужные компоненты. Кстати! Самое главное — не устанавливать компоненты, да и вообще не работать по RDP! Компоненты не запустятся. Если нужно работать удалённо — запустите AnyDesk, либо VNC (ну, или чем вы там любите подключаться?). Если не хотите лишнего ставить — попробуйте стянуть драйвера на сайте esmart

4.1) Драйвера JaCarta.
Ставятся точно так же, как и драйвера esmart через i.kontur.ru.

5) КриптоПро (Если зайдёте на i.kontur.ru — то криптопро скачается сама. Если ставите руками — то вот свежая версия)

7) Некоторые советуют Total Commander, но мне удобнее пользоваться Q-Dir.
В нём нужно настроить: Меню Настройки\Размер файлов, там поставить галочки: «Внутренний алгоритм Q-Dir» и «Размер в байтах».

Готовую, настроенную версию можно стянуть тут.

8) Smartcard Sniffer качаем SmartcardSniffer и оттуда достаём «SmartcardSniffer.dll» в моём случае, т.к. у меня Win7x86 — дёргаю файлик из папки SmartcardSniffer-0.1\SmartcardSniffer\bin\x86.
Его кидаем на диск C:\, в папку «SmartcardSniffer» (Желательно, сделать именно так, как в инструкции, т.к. команды, в дальнейшем, будут опираться именно на этот путь).
Так же, нужно поправить реестр:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
«AppInit_DLLs»=»C:\\SmartcardSniffer\\SmartcardSniffer.dll»
«LoadAppInit_DLLs»=dword:00000001
«RequireSignedAppInit_DLLs»=dword:00000000

9) Файл writeBinaryAPDU.pl (готовый файл лежит здесь)
Помещаем его в “C:\SmartcardSniffer\”

10) CertFix версии 1.1.27.3154. Нужен для конвертации ключа в экспортируемый. Про более старые — ничего не скажу, а вот новые уже не могут конвертировать. И самое поганое — при первом же запуске — программа сама обновится до новой версии. Поэтому, ей нужно обломать доступ в интернеты.

11) Firewall App Blocker. Нужен для блокировки доступа в интернет CertFix.

Устанавливаем все компоненты и ОБЯЗАТЕЛЬНО перезагружаем компьютер.

I. Собственно, сам процесс извлечения ключа из ESMART:

1) Получаем дамп диалога КриптоПро с токеном:
1.1) Вставляем ключ в ПК,
1.2) Запускаем КриптоПро,
1.3) Открываем вкладку «Сервис»,
1.4) Нажимаем «Протестировать»
1.5) Выбираем ключ и вводим пароль (кто не знал — стандартный пароль от ruToken и ESMART Token — 12345678, от JaCarta 1234567890 (в старых версиях (до 15.01.2019) стоял 1eToken), админские пароли можно глянуть тут и тут),
1.6) В открывшемся окне, смотрим пункт «Экспорт ключа» и убеждаемся, что он действительно не экспортируемый. Жмём «Готово» и закрываем программу.

1.7) В папке “C:\SmartcardSniffer\” появится дамп-файл «rundll32.exe.txt»

2) Разбиваем дамп на отдельные файлы:
2.1) Запускаем консоль (Win+R, пишем CMD и жмём «Enter»)
2.2) В консоли меняем папку командой: cd C:\SmartcardSniffer

2.4) Появится папка с кучей файлов

3) Собираем контейнер:
3.1) Первым идёт primary.key
3.1.1) Ищем файл, содержащий в названии 30_22

3.2) Далее, идёт файл masks.key:
3.2.1) Ищем файл с именем, содержащем 30_36

3.3) Ну и самый геморный файл — header.key:

3.3.1) Ищем самые большие файлы (для этого нам и понадобится Q-Dir с настройкой отображения байтов).

3.3.2) Берём файл, идущий перед ними (весит обычно, 16 байт и в названии содержит 83_02 (по крайней мере, у меня во всех случаях так было)) и тот, что идёт после них (он чуть меньше самых больших файлов (бывает так, что в конце, может быть два одинаковых по размеру файла. Берём любой(см скриншот ниже))).

Распишу подробнее: нам нужен первый файл, обычно, в ESMART Token он называется *_out(16)30_82_0A_BE, в JaCarta, называется *_out(16)30_82_0A_32.
После 30_82, названия могут быть разными, однако, «out(16)30_82» присутствует всегда (по крайней мере, на моей тачке, у ESMART Token и JaCarta — точно.

3.3.3) Копируем эти файлы в отдельную папку (в данном случае, я скопировал в C:\SmartcardSniffer\3)

3.3.4) В консоли меняем рабочую папку на C:\SmartcardSniffer\3 (ну, или на ту, в которую вы скопировали файлы) командой cd C:\SmartcardSniffer\3

3.3.6) В папке C:\SmartcardSniffer\3 появился файл header.key

3.4) Остаётся получить файл name.key. Конечно, можно его как-то вытащить из того сборища файлов, но легче взять готовый. Например, вот здесь. Отображаться в КриптоПро он будет как «Test_123», но потом, ключ легко будет переименовать после того, как вы сделаете его экспортируемым.
Если хотите — то вот вам файл с именами: esmart_1, esmart_2, esmart_3? jakarta_1, jakarta_2, jakarta_3, Export_1, Export_2, Export_3

3.4.1) Копируем файл в папку с primary.key, masks.key и header.key.

3.5) Переименовываем папку в «1234» (можно использовать любые 12 символов, (цифры и ТОЛЬКО латинские буквы) и закидываем папку на любую флешку или жёсткий диск, имеющий любую букву, кроме диска C:\ (я использую виртуальный диск (VHD). Примонтировал такую виртуальную «флешку» и балуешься).

2) Запускаем CertFix от имени администратора и находим наш ключ. Смотрим на столбец «Экспорт закрытого ключа» и видим параметр «DENIED».

3) Зажимаем клавишу «Shift» на клавиатуре, нажимаем правой кнопкой мыши по ключу и выбираем пункт «Сделать экспортируемым (файловая система)».

5.1) Запускаем КриптоПро, там жмём вкладку Сервис;
5.2) Жмём кнопку «Скопировать. »
5.3) Затем, кнопку «Обзор. »
5.4) Выбираем контейнер и жмём кнопку «Ок»
5.5) Можем задать другое имя контейнеру (я оставил по умолчанию), жмём «Готово»
5.6) Выбираем носитель (у меня Rutoken Lite), жмём «Ок»
5.7) Готово!
5.8) Тестируем сертификат.

Вот в виде видео:

Ну, и собственно всё. Позже, выложу ссылки на сборник программ в одном архиве и образ виртуалки VMWare с настроенной виндой под ESMART и JaCarta.

Форматирование токенов

  • Новые PIN-коды. Они будут установлены на токен после форматирования. При производстве носителя JaCarta LT не устанавливается PIN-код администратора. Можно ввести любое значение;
  • Имя устройства;

Если вы установили на JaCarta LT PIN-код администратора и код был заблокирован или забыт, отформатировать такой токен в «Едином Клиенте JaCarta» нет возможности.

    и установите JC-PROClient;
  1. Подключите токен к компьютеру;
  2. Запустите JC-PROClient;
  3. Нажмите «Инициализация»;

  • Новые PIN-коды, их значения будут установлены как новые коды после форматирования;
  • Имя устройства;

После успешного форматирования удалите JC-PROClient, чтобы дальше корректно управлять токеном через «Единый Клиент JaCarta».

Esmart

При форматировании вся информация с токена будет безвозвратно удалена.

  1. Подключите токен в USB порт компьютера;
  2. Перейдите в меню «Пуск» — «Панель управления» — «eSmartPKIClient» (можно загрузить из Личного кабинета);
  3. Выберете вкладку «Токен»;
  4. Нажмите «Инициализировать токен»;

  • название токена;
  • число попыток ввода PIN-кода пользователя и администратора.

eToken

При форматировании вся информация с токена будет безвозвратно удалена.

  1. Подключите токен в USB порт компьютера;
  2. Откройте программу «eTokenPKIClient»;
  3. Перейдите в раздел «Подробный вид», нажав изображение шестеренки

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *