Переносим неэкспортируемые контейнеры Крипто-ПРО
Иногда случается так что необходимо перенести клиент-банк или другое разнообразное бухгалтерское и не очень ПО с одного компьютера на другой. В том случае когда в качестве криптопровайдера выступает СКЗИ Крипто-ПРО обычно проблем не возникает — СКЗИ имеет штатные средства копирования ключей. Но не всегда все гладко — в том случае, когда ключевой контейнер находится в реестре Windows, и при генерации ключа не была выставлена галочка «Пометить ключ как экспортируемый» то при попытке скопировать куда-либо этот ключ Крипто-ПРО будет ругаться и не скопирует ключ.
Из этой ситуации есть очень простой выход — выгружаем ветку реестра HKLM\SOFTWARE\CryptoPro\Settings\Users\ \Keys\(в x64 операционках контейнеры лежат в HKLM\SOFTWARE\Wow6432Node\CryptoPro\Settings\Users\ \Keys\), а на том ПК куда необходимо импортировать смотрим разрядность ОС\SID пользователя, блокнотом правим .reg файл(меняем SID и, если необходимо, путь к конечной ветке), и импортируем его в реестр.
Также этим методом очень удобно бекапить и клонировать ключи тогда, когда их много(например в аутсорс-бухгалтериях).
P.S. Не забывайте после переноса установить сертификаты из криптоконтейнеров в «Личные».
В крипто-про на контейнеры можно ставить пин-код.
А так же при вводе этого пин-кода можно поставить галочку «сохранить» — и в дальнейшем его вводить не придётся.
Иногда после этого пин-код благополучно забывают (что и произошло у нас в компании).
При копировании вышеописанным методом, контейнер остаётся защищён пин-кодом — а вот «сохранение» этого пин-кода не переносится на новый компьютер.
Что можно сделать в таком случае?
Если исходный компьютер ещё жив — заходим в панель управления -> КриптоПро CSP -> Сервис -> Скопировать
Выбираем нужный контейнер (кнопка «обзор» или «по сертификату», как проще найти) -> Далее -> вводим название нового контейнера -> далее -> устанавливаем на него новый пароль. Или не устанавливаем.
И вот после этого уже копируем ветку реестра на новый комп.
Кстати, что бы не мучаться с подменой SID — можно копировать сертификаты в контейнер компьютера а не пользователя, тогда они будут храниться тут:
Перенос сертификатов КриптоПРО на другой компьютер, за минуту
Добрый день! Уважаемые читатели и гости крупнейшего IP блога России pyatilistnik.org. В прошлый раз я вам рассказал, о том, как установить сертификат в реестр Windows . Сегодня я вам расскажу, каким образом вы можете выполнить перенос сертификата на другой компьютер, это очень частая и жизненная ситуация с которой сталкиваются многие системные администраторы. Захотелось с вами поделиться опытом, о массовом переносе контейнеров с закрытыми ключами, находящимися в области реестра Windows. Использовать мы будем как КриптоПРО, так и встроенные механизмы. Уверен будет интересно.
Когда нужно переносить сертификаты в другое место?
И так давайте рассмотрим по каким причинам у вас может появиться необходимость в копировании ваших ЭЦП в другое место.
- На текущем физическом компьютере начинает умирать жесткий диск или SSD накопитель ( Как проверить жизненные показатели жесткого диска), очень частая история и жизненная, когда люди теряли все свои данные, из-за банальной жадности в покупке нового оборудования и элементарного незнания принципов резервного копирования.
- У вас производится модернизация оборудования, его улучшение и вам нужно перенести все сертификаты с закрытыми ключами на другую систему
- Вы создали отдельный сервер, в виде виртуальной машины, где будут находится все ваши сертификаты и с ними смогут работать все необходимые сотрудники, терминал для бухгалтерии. Простой пример СБИС, и когда у вас 10-20 организаций.
Как видите предпосылок и вариантов переноса сертификатов из реестра на другой компьютер, предостаточно.
Какие есть варианты по копированию контейнеров закрытых ключей?
- Если мы создаем единый терминал (Виртуальную машину), на которой будут коллективно работать пользователи, то можно произвести конвертирование физической тачки в виртуальную машину
- Если будет просто замена жесткого диска, то можно произвести его клонирование или перенос системы на SSD с помощью специальных утилит
- Можно воспользоваться утилитой КриптоПРО
- Воспользоваться экспортом из реестра Windows.
Перенос сертификатов в виде пошаговой инструкции
Первые два пункта я описывать тут не стану, так как я уже это подробно рассказывал, посмотрите по ссылкам. Я расскажу, об остальных методах и начнем мы с классического КриптоПРО.
Данный метод подойдет для тех ситуаций, когда у вас один или 2 сертификата (ЭЦП). Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит, и там придется выбирать 4-й метод.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты
Копирование закрытого ключа из КриптоПро
Это самый простой способ, и будет актуальным при небольшом количестве контейнеров с закрытыми ключами. Чтобы выполнить перенос сертификатов из реестра, откройте ваш КриптоПРО, вкладка «Сервис», нажимаем кнопку «Сервис», далее через кнопку «Обзор», откройте «Выбор ключевого контейнера» и укажите, какой сертификат вы будите переносить. В моем примере это контейнер «Копия сертификата в реестре (Семин Иван)».
Нажимаем «Далее», вас попросят задать новое имя контейнера с закрытым ключом, введите понятное для себя, для удобства.
У вас откроется окно с выбором носителей, вы можете выбрать либо токен, либо флешку для переноса на другое место. У меня это внешний жесткий диск Z:\.
Задаем обязательно пароль, с точки зрения безопасности, так как файлы в таком виде просто скомпрометировать.
Все, на выходе я получил папку со случайным названием и набором ключей в формате key.
Если вы пытаетесь копировать сертификат с токена, то в ряде случаев у вас может появиться ошибка: Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии.
Связана такая ситуация, что в целях псевдобезопасности, удостоверяющие центры выпускают закрытые ключи без возможности экспорта, и таким образом увеличивают свою прибыль, так как в случае утери или поломки токена, вам придется его перевыпускать, а так как экспорт запрещен, то бэкапа вы сделать не сможете.
Если вы получили ошибку копирования контейнера. У вас нет разрешений на экспорт ключа, то метод с КРиптоПРО вам не поможет
Перенос сертификатов из реестра без КриптоПРО
Существуют методы экспортировать закрытый ключ и без изспользования утилиты КриптоПРО. Представим себе ситуацию, что у вас на него кончилась лицензия и вы не успели ее купить. Вам нужно сдать отчетность в СБИС. Вы развернули CryptoPRO на другом компьютере, так как он позволяет 3 месяца бесплатного использования, осталось для СБИС выполнить перенос сертификатов, которые у вас в реестре Windows.
У нас два варианта:
- Использование оснастки mmc-Сертификаты пользователя.
- Использование Internet Explore
Как открыть оснастку сертификаты я уже подробно рассказывал, посмотрите. Откройте там контейнер «Личное — Сертификаты». Если у вас в контейнере не один сертификат с одинаковым именем, такое может быть, то откройте сертификат в оснастке mmc и в КриптоПРО и сравните серийные номера сертификата.
В Internet Explore, откройте «Свойства браузера — Содержание — Сертификаты»
Теперь нам необходимо его экспортировать, в оснастке «Сертификаты», через правый клик, это можно сделать, в Internet Explorer, сразу видно кнопку, экспорт.
У вас откроется мастер переноса сертификатов, на первом шаге, просто нажимаем далее. После чего вас спросят, что вы хотите экспортировать, выбираем пункт «да, экспортировать закрытый ключ вместе с сертификатом»
Если ваш закрытый ключ запрещено экспортировать, то эта кнопка будет не активна, и можете сразу закрывать данный метод и переходить к следующему.
Далее вы задаете обязательно пароль и указываете имя и место, где будите сохранять ваш переносимый контейнер с зарытым ключом в формате pfx.
Мастер экспорта сертификатов, выведет вам сводные данные, нажимаем «Готово».
Отрываем локацию, куда вы его выгрузили, и найдите свой pfx архив.
Теперь вам нужно еще выгрузить открытый ключ в формате cer, для этого так же зайдите в мастер экспорта, но на этот раз выберите «Нет, не экспортировать закрытый ключ».
Выберите формат файла «X.509 (.CER) в кодировке DEP», задайте ему имя и место сохранения. На выходе у вас появятся два файла.
Одни открытый ключ в формате cer и закрытый ключ в формате pfx. Этого набора вам будет достаточно, чтобы перенести сертификаты СБИС, Контура и остальных программ на другой компьютер.
Теперь перенесите эти файлы на другое рабочее место и просто запустите, через простой двойной клик. У вас откроется мастер импорта сертификатов, на первом окне выберите нужное вам хранилище, я в своем примере оставлю «Текущий пользователь».
На втором шаге проверяем импортируемый сертификат.
Указываем пароль, который задавали при выгрузке.
Оставляем автоматический выбор хранилища на основе типа сертификатов.
Готово. Со вторым файлом то же самое. После чего у вас будут перенесены нужные вам ключи и сам сертификат, можно работать.
Массовый перенос ключей и сертификатов CryptoPro на другой компьютер
Открываете командную строку cmd и вводите команду:
whoami /USER
Вот это S-1-5-21-551888299-3078463796-888888888-46162 и есть SID, вашей учетной записи. Теперь когда вы его знаете, то вам нужно выгрузить ваши закрытые ключи из реестра Windows. Для этого откройте вот такую ветку:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\Номер вашего SID, который мы узнали\Keys
В контейнере Keys, вы найдете все ваши закрытые ключи от ЭЦП. С правой стороны вы увидите файлы:
* header.key
* masks.key
* masks2.key
* name.key
* primary.key
* primary2.key
Щелкаем правым кликом по контейнеру Keys и экспортируем его.
Сохраняем нашу ветку реестра с контейнерами закрытых ключей. Далее нам нужно скопировать открытые ключи, которые лежат по пути:
C:\Users\имя вашего пользователя\AppData\Roaming\Microsoft\SystemCertificates\My
Не забывайте только подставить своего пользователя, эта папка может быть скрытой, поэтому включите скрытые папки и файлы в вашей ОС. Все содержимое этой папки вам нужно перенести на другой компьютер, только уже в папку другого, нужного пользователя.
Как только вы поместили на новом компьютере папку Key, вы можете перенести реестровую выгрузку. Сохраненный файл в формате reg, вы должны открыть в любом текстовом редакторе.
Как я показывал выше, определите SID нового пользователя, скопируйте его полностью и замените им значение в файле reg, я отметил это стрелками.
SID начинается с S-1 и так далее
Все сохраняйте файл и запускайте его, у вас будет начат перенос сертификатов (закрытых ключей), подтверждаем действие.
Как видите импорт успешно завершен. Все теперь ваши закрытые и открытые ключи на месте и вы можете работать с вашими ЭЦП, и можно считать, что перенос сертификатов с одного компьютера на другой в массовом масштабе, осуществлен успешно. Если остались вопросы, то жду их в комментариях.
Популярные Похожие записи:
- Указана недопустимая метка диска, решаем за минуту
- Ошибка certificate chain processed corrently 0x800b0112
- Как перезагрузить Digi AnywhereUSB
- Как обновить сертификат на WAP и ADFS серверах
- Как мигрировать отдельный диск виртуальной машины ESXI
- Как узнать, нуждается ли удаленный сервер в перезагрузке
Сен 14, 2018 23:56 Автор — Сёмин Иван
22 Responses to Перенос сертификатов КриптоПРО на другой компьютер, за минуту
[QUOTE]Связана такая ситуация, что в целях псевдобезопасности, удостоверяющие центры выпускают закрытые ключи без возможности экспорта…[/QUOTE]
И никакая это не превдобезопасность, смотрите на проблему шире. Какого вам будет если упрут вашу УКЭП и от имени организации или конкретного владельца ключа начнут подписывать юридически значимые документы?
Вы же сами писали
[QUOTE]Флешку потом потеряли,…[/QUOTE]
Иван Семин :
Так я и написал, это не безопасно, но было бы честнее, если бы удостоверяющие центры, все же перевыпускали сертификаты при утере или поломке носителя, если у них срок не прошел, бесплатно,
А подскажите пожалуйста, когда я делаю то что описано в этой статье, почему-то пингвин со знаком Windows XP не появляется!
Что я делаю не так?!
Как скопировать неэкспортируемый закрытый ключ с Rutoken
С 1 января 2022 года ЭЦП на директоров юридических лиц и ИП выдаются в ФНС на носителе Рутокен. Не всегда есть возможность использовать носитель при подписании документов (много бухгалтеров кто подписывает, используется терминальный сервер, виртуальные сервера, множество юр.лиц и тд.). Раньше можно было скопировать ЭЦП с токена в реестр (файл) и подписывать с помощью него, но сейчас при выдачи ключа в ФНС стоит запрет на копирование закрытого ключа.
Прежде чем приступить к работе по копированию ключа, подготовьте необходимые элементы:
рутокен с оригиналом ключа;
второй рутокен
второй контейнер (флешку) куда будет записана копия ключа.
Что такое рутокен
Рутокен — это аппаратные и программные решения в области аутентификации, защиты информации и электронной подписи. Устройства Рутокен являются основными ключевыми носителями в массовых российских проектах, базирующихся на технологиях ЭП и инфраструктуре открытых ключей (PKI).
Обычное съемное USB устройство (флешка) для постоянного хранения не годиться, поскольку не обладает достаточной защитой, в том числе от копирования информации. Поэтому флешку нужно рассматривать только как временное хранилище для переноса подписи на второй рутокен.
Проверяем ключ на не экспортируемость
Прежде чем начать работу, проверьте, может все же ключ можно экспортировать без лишних усилий с вашей стороны.
вставьте рутокен в ПК;
Откройте панель управления Rutoken и проверьте появился ли ключ в системе;
зайдите в «КриптоПро»;
для проверки ключа выберете вкладку «Сервис» и нажмите «Протестировать»;
выберете сертификат;
далее в открывшемся окне смотрим, действительно ли запрещен экспорт ключа. В большинстве случаев напротив строки «Экспорт ключа» стоит статус «Запрещен» (при попытке скопировать такой ключ, система выдаст сообщение об ошибке).
Лайфхак! Если у вас уже закончилась ЭЦП и вы планируете выпускать новую подпись, то приобретите пустой Rutoken Lite, и на него запишите новую подпись, чтобы в дальнейшем можно было без проблем сделать экспорт ключа
Копируем рутокен на компьютер или флешку
Итак, вы выяснили, что ключ имеет статус «Не экспортируемый», но скопировать его нужно. Можно действовать следующими методами:
воспользоваться утилитой Tokens.exe;
задействовать КриптоПро CSP;
Копируем с помощью утилиты Tokens.exe
Этот метод также позволяет перенести не экспортируемый ключ на флэшку или скопировать на ПК.
Tokens.exe – является утилитой, которая позволяет копировать ключи с рутокена, имеющие статус «не экспортируемый». Для корректного функционирования программы специалисты рекомендуют устанавливать три дополнения, идущие в комплекте с утилитой.
Обратите внимание:
Рутокен (старый несертифицированный), Рутокен S, Рутокен Lite — поддерживаются;
Рутокен ЭЦП 2.0, JaCarta LT, ESMART Token ГОСТ — не поддерживаются.
Начнем:
после того, как скачали Tokens.exe и необходимые дополнения, нужно распаковать архив;
подготовьте новый рутокен и чистую флешку, подключите их к ПК;
запустите утилиту проверки Рутокенов;
в открывшемся окне, выберете нужный сертификат и нажмите на кнопку «Экспорт»;
в качестве объекта для экспорта укажите путь к флэшке либо локальный диск компьютера, отличный от системного; Выбираем флешку. Обязательно сохраняем в корень!
Вводим новое имя контейнера:
После сохранения на флешке будет создан каталог с ключами из Рутокен:
теперь можно убрать рутокен из ПК и оставить только флешку.
Совет: На данном этапе вы уже можете использовать вашу ЭЦП на компьютере без рутокена. Для этого вам останется только установить ключ, через КриптоПро CSP.
Запускаем из архива утилиту: CertFix.001069.exe. Эта программа умеет снимать защиту с ключей на файловом носителе. Выбираем нужный контейнер, который на флешке и нажимаем по нему правой кнопкой мышки с зажатой кнопкой Shift (Shift + Прав.клик):
В появившимся меню выбираем пункт: Сделать экспортируемым (файловая система). После этого защита на копирование будет снята с контейнера на флешке. В колонке Экспорт, сменится надпись с красной «DENIED» на зеленную «ALOWED»:
В появившимся меню выбираем пункт: Сделать экспортируемым (файловая система). После этого защита на копирование будет снята с контейнера на флешке. В колонке Экспорт, сменится надпись с красной «DENIED» на зеленную «ALOWED»:
Готово! Теперь можно пользоваться копией ключа, размещенной в реестре.
Используем КриптоПро CSP
Перенести ЭЦП на ПК или флешку поможет сервис КриптоПро CSP.
откройте панель управления и найдите КриптоПро CSP;
запустите ее кнопкой «Пуск»;
перейдите в раздел «Сервис»;
нажмите кнопку «Просмотреть сертификаты в контейнере»;
во вкладке «Обзор» нужно выбрать носитель;
нажмите «Ок», чтобы подтвердить выбор;
подтверждаем продолжение работы кнопкой «Далее» (возможно, потребуется ввести PIN-код, он обычно простой — 12345678, либо номер КПП вашей организации);
выбираем «Свойства» >«Состав» >«Копировать в файл…»;
жмем «Далее»;
выбрать «не экспортировать закрытый ключ»;
формат DER X.509;
выбрать хранилище для копии > «Ок» (не меняйте имя папки);
потребуется дважды ввести PIN-код > «Ок».
Важно помнить!
Электронная подпись – это аналог собственноручной подписи для подписания электронных документов.
Что произойдет, если ваша электронная подпись попадет в руки злоумышленников?
- На ваше имя могут оформить микрокредиты;
- Ваш автомобиль могут продать без вашего ведома;
- Вас могут сделать номинальным руководителем фирмы-однодневки;
- Если вы владелец организации, ее могут переоформить на другое лицо, вывести деньги компании на другой счет, незаконно возместить НДС;
- Вместо вас могут подписать любые документы;
- Вас могут привлечь к ответственности за нарушение законодательства Российской Федерации в области электронной подписи.
Меры предосторожности
- Не передавайте ключевой носитель третьим лицам
- Обеспечьте надежное хранение носителя с электронной подписью (ключевой носитель)
- При потере или краже ключевого носителя незамедлительно обратитесь с заявлением на отзыв сертификата в удостоверяющий центр, который его выдал.
- Замените «заводской» пароль (PIN-код). Обеспечьте надежное хранение пароля, исключите доступ к паролю любых лиц.
- Внимательно читайте документы при оформлении различных сервисов в организациях, оказывающих услуги для бизнеса и банках.
- Не соглашайтесь на предложения выдать электронную подпись без личной явки при первичном ее получении.
- Регулярно проверяйте информацию о выпуске на ваше имя сертификатов электронных подписей на Едином портале государственных и муниципальных услуг (Госуслуги).
Экспорт ключа запрещен как скопировать
Для примера рассмотрим наиболее часто встречающуюся задачу переноса контейнера закрытого ключа из операционной системы Windows под Linux или OS X.
Если в операционной системе Windows сертификат и закрытый ключ могут находится в локальном хранилище Crypto API, то для работы под операционными системами Linux или OS X его нужно импортировать в специальное системное хранилище.
Важно, чтобы у закрытого ключа должен быть установлен флаг «Экспортируемый»
Перенос выполняется в два шага – экспорт контейнера и сертификата, импорт контейнера и установка сертификата в личное хранилище:
В операционной системе Windows скопировать контейнер закрытого ключа можно следующим образом:
- Откройте приложение КриптоПро CSP и перейдите на вкладку Сервис.
- На вкладке выберите команду Скопировать контейнер закрытого ключа.
- Введите пароль для ключевого контейнера и задайте имя ключевого контейнера (например, test).
- Сохраните контейнер на диск или флешку.
- После этого откройте диалог Сертификаты (должна запуститься консоль MMC), перейдите в раздел Личное, Реестр, Сертификаты и экспортируйте сертификат без закрытого ключа с помощью мастера. Сохраните его в файл (например, test.cer).
- Скопируйте контейнер закрытого ключа (директорию /test/ в формате 8.3) и файл сертификата (test.cer) из корня дискеты или флешки в директорию /var/opt/cprocsp/keys/имя_пользователя.
- При этом необходимо проследить чтобы: владельцем файлов был пользователь, в директории с именем которого расположен контейнер (от его имени будет осуществляться работа с ключами); на директорию с ключами были выставлены права, разрешающие владельцу всё, остальным ничего; на файлы были выставлены права, разрешающие владельцу по крайней мере чтение и запись, остальным ничего.
В результате выполнения предыдущей команды должно быть выведено сообщение
PrivateKey Link: Yes. Container: HDIMAGE\\test.000\.
В приведенных выше командах подразумевается один из следующих идентификаторов платформы: ia32 — для 32-разрядных систем Linux; amd64 — для 64- разрядных систем Linux; не указывается — для OS X.
- Как установить и настроить криптопровайдер КриптоПро CSP
- Как установить КриптоАРМ ГОСТ на платформу Microsoft Windows
- Как установить КриптоАРМ ГОСТ на платформу Linux
- Как установить КриптоАРМ ГОСТ на платформу OS X