Ошибка копирования контейнера КриптоПро. Экспортируем неэкспортируемое.

Soft

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

Технологии новые, но проблемы старые. Если раньше бухгалтер подписывал за руководителя кучу бумажных документов, то сейчас это происходит с помощью ЭЦП. Последний чаще всего даже не догадывается какие документы он регулярно «подписывает», особенно это касается всяких бюджетных и иных окологосударственных организаций.

В подавляющем большинстве случаев для создания электронных подписей используется программа КриптоПро CSP, с помощью которой заявитель сам генерирует закрытый ключ и подает запрос на создание открытого ключа в удостоверяющий центр. Удостоверяющий центр проверяет заявителя и выпускает сертификат с открытым ключом. После чего остается только «связать» сертификат с закрытым ключом. Всё. Можно подписывать.

Открытый ключ выглядит вот так:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

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

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

Но стоимость такого «свистка» начинается от 1500 рублей, поэтому у большинства «бюджетников», а это всякие детские сады, школы, библиотеки и т.д., где административно-хозяйственное направление богато на персонал, покупают обычные флешки:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

И стоит в разы дешевле и по прямому назначению можно использовать. Покупай умнее, живи веселее!

Спустя год, месяц, неделю обнаруживается:

Ой, а флешку-то я в другой сумочке дома оставила.

— директор Алевтина Игоревна

Кажется сыну в школу отдала.

— бухгалтер Зинаида Степановна

Как не работает? Пустая? Вирусы съели, я ничего не трогала, оно само.

— заместитель директора по гламурным вопросам Оленька

А тут, как назло, последний день, когда надо подписать документы или деньги отправить, поэтому следующим местом хранения ключей обычно становится реестр Windows:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

А что? Деньги тратить и никакие флешки вставлять не надо, а то вон у Зинаиды Степановны процессор старый и флешки не держит, а под стол каждый раз ей лезть неудобно. Все подписи можно держать сразу на компьютере, даже на нескольких компьютерах сразу, потом только сиди и выбирай нужную.

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

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

Что же делать? Сегодня последний день, последний час, последние минуты, нужно успеть поставить кучу программ, всё настроить, а тут только «Одноклассники» и работают!

Решение есть:

Контейнер с ключами в реестре практически никак не защищен и, если у пользователя есть доступ к реестру, то есть и доступ к ключам. Ниже я покажу рабочий пример с двумя компьютерами. Один старый компьютер с Windows XP (32-битной), а второй новый с Windows 10 (64-битной). Итак, задача. Подпись создана на новом компьютере. Сертификат с открытым ключом скопировать получилось, а закрытый ключ нет. Как перенести закрытый ключ на компьютер с Windows XP штатными средствами и без всяких «левых» программ?

Итак. На компьютере с Windows 10 запускаем Редактор реестра:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

У нас 64-битная система, поэтому нам нужна ветка:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\Users\

Если бы Windows была 32-битная, то нужна была бы другая ветка:

HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\

Переходим. Внутри будет список так называемых SID или идентификаторов безопасности учетных записей. Страшно от терминов, аж жуть. Открываем ту ветку, которая начинается на S-1-5-21… Как правило, она такая одна. Внутри находим ветку Keys и раскрываем. В ней и будет находиться список контейнеров, которые были созданы или скопированы в реестр на этом компьютере.

В нашем примере полный путь выглядит так:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\Users\S-1-5-21-133333333-133333333-133333333-1001\Keys\

S-1-5-21-133333333-133333333-133333333-1001 – это и есть SID, на другом компьютере он будет иным, но начало у всех одинаковое.

Выделяем правой кнопкой мыши нужный контейнер, который мы хотим перенести. В открывшемся меню выбираем пункт «Экспортировать»:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

Придумываем файлу любое имя и жмём «Сохранить»:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

В итоге у нас получится файл реестра с расширением .reg. Переносим его вместе с сертификатом на компьютер с Windows XP:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

Все последующие действия будут происходить только на компьютере с Windows XP, второй компьютер нам больше не потребуется.

Сначала нам нужно узнать SID пользователя нашего компьютера.

Запускаем Редактор реестра, и так как Windows XP 32-битная, то переходим в ветку:

HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\

Снова ищем ветку, которая начинается на S-1-5-21… Внутри тоже будут контейнеры с ключами, если их конечно делали раньше, но сейчас нам нужно только точное название SID. Чтобы не ошибиться можно выбрать правой кнопкой любой контейнер и нажать «Экспортировать»:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

В следующем окне в самом низу будет полный путь к выбранному контейнеру:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

Можно выделить весь путь или только цифры SID и скопировать.

В примере полный путь выглядит так:

HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-7777777777-7777777777-7777777777-500\Keys\Илья Муромец

Теперь возвращаемся к полученному ранее файлу реестра. В нём нужно будет отредактировать одну строку.

Для этого выделяем его правой кнопкой мыши и в открывшемся меню выбираем пункт «Изменить»:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

Откроется Блокнот:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

В самом начале файла находим строку, похожую на эту:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\Users\S-1-5-21-133333333-133333333-133333333-1001\Keys\Идолище Поганое]

В ней нам нужно заменить SID и убрать Wow6432Node\

Должно получиться так:

[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-7777777777-7777777777-7777777777-500\Keys\Идолище Поганое]

Сохраняем изменения. Запускаем этот файл. Соглашаемся на внесение изменений в реестре и всё. Контейнер закрытого ключа установлен. Можно устанавливать сертификат:

Ошибка копирования контейнера КриптоПро.  Экспортируем неэкспортируемое.

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