No Image

Экспорт сертификата с закрытым ключом

СОДЕРЖАНИЕ
0 просмотров
22 января 2020

Перенос сертификатов КриптоПРО на другой компьютер, за минуту

Перенос сертификатов КриптоПРО на другой компьютер, за минуту

Добрый день! Уважаемые читатели и гости крупнейшего IP блога России pyatilistnik.org. В прошлый раз я вам рассказал, о том, как установить сертификат в реестр Windows . Сегодня я вам расскажу, каким образом вы можете выполнить перенос сертификата на другой компьютер, это очень частая и жизненная ситуация с которой сталкиваются многие системные администраторы. Захотелось с вами поделиться опытом, о массовом переносе контейнеров с закрытыми ключами, находящимися в области реестра Windows. Использовать мы будем как КриптоПРО, так и встроенные механизмы. Уверен будет интересно.

Когда нужно переносить сертификаты в другое место?

И так давайте рассмотрим по каким причинам у вас может появиться необходимость в копировании ваших ЭЦП в другое место.

  1. На текущем физическом компьютере начинает умирать жесткий диск или SSD накопитель (Как проверить жизненные показатели жесткого диска), очень частая история и жизненная, когда люди теряли все свои данные, из-за банальной жадности в покупке нового оборудования и элементарного незнания принципов резервного копирования.
  2. У вас производится модернизация оборудования, его улучшение и вам нужно перенести все сертификаты с закрытыми ключами на другую систему
  3. Вы создали отдельный сервер, в виде виртуальной машины, где будут находится все ваши сертификаты и с ними смогут работать все необходимые сотрудники, терминал для бухгалтерии. Простой пример СБИС, и когда у вас 10-20 организаций.

Как видите предпосылок и вариантов переноса сертификатов из реестра на другой компьютер, предостаточно.

Какие есть варианты по копированию контейнеров закрытых ключей?

  • Если мы создаем единый терминал (Виртуальную машину), на которой будут коллективно работать пользователи, то можно произвести конвертирование физической тачки в виртуальную машину
  • Если будет просто замена жесткого диска, то можно произвести его клонирование или перенос системы на SSD с помощью специальных утилит
  • Можно воспользоваться утилитой КриптоПРО
  • Воспользоваться экспортом из реестра Windows.

Перенос сертификатов в виде пошаговой инструкции

Первые два пункта я описывать тут не стану, так как я уже это подробно рассказывал, посмотрите по ссылкам. Я расскажу, об остальных методах и начнем мы с классического КриптоПРО.

Копирование закрытого ключа из КриптоПро

Это самый простой способ, и будет актуальным при небольшом количестве контейнеров с закрытыми ключами. Чтобы выполнить перенос сертификатов из реестра, откройте ваш КриптоПРО, вкладка "Сервис", нажимаем кнопку "Сервис", далее через кнопку "Обзор", откройте "Выбор ключевого контейнера" и укажите, какой сертификат вы будите переносить. В моем примере это контейнер "Копия сертификата в реестре (Семин Иван)".

Нажимаем "Далее", вас попросят задать новое имя контейнера с закрытым ключом, введите понятное для себя, для удобства.

У вас откроется окно с выбором носителей, вы можете выбрать либо токен, либо флешку для переноса на другое место. У меня это внешний жесткий диск Z:.

Задаем обязательно пароль, с точки зрения безопасности, так как файлы в таком виде просто скомпрометировать.

Все, на выходе я получил папку со случайным названием и набором ключей в формате key.

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

Перенос сертификатов из реестра без КриптоПРО

Существуют методы экспортировать закрытый ключ и без изспользования утилиты КриптоПРО. Представим себе ситуацию, что у вас на него кончилась лицензия и вы не успели ее купить. Вам нужно сдать отчетность в СБИС. Вы развернули CryptoPRO на другом компьютере, так как он позволяет 3 месяца бесплатного использования, осталось для СБИС выполнить перенос сертификатов, которые у вас в реестре Windows.

У нас два варианта:

  • Использование оснастки mmc-Сертификаты пользователя.
  • Использование Internet Explore

Как открыть оснастку сертификаты я уже подробно рассказывал, посмотрите. Откройте там контейнер "Личное — Сертификаты". Если у вас в контейнере не один сертификат с одинаковым именем, такое может быть, то откройте сертификат в оснастке mmc и в КриптоПРО и сравните серийные номера сертификата.

В Internet Explore, откройте "Свойства браузера — Содержание — Сертификаты"

Теперь нам необходимо его экспортировать, в оснастке "Сертификаты", через правый клик, это можно сделать, в Internet Explorer, сразу видно кнопку, экспорт.

У вас откроется мастер переноса сертификатов, на первом шаге, просто нажимаем далее. После чего вас спросят, что вы хотите экспортировать, выбираем пункт "да, экспортировать закрытый ключ вместе с сертификатом"

Читайте также:  Установочный диск не запускается что делать

Если ваш закрытый ключ запрещено экспортировать, то эта кнопка будет не активна, и можете сразу закрывать данный метод и переходить к следующему.

Следующим этапом в мастере экспорта сертификатов, вам необходимо выбрать формат выгрузки, это будет PFX архив.

Далее вы задаете обязательно пароль и указываете имя и место, где будите сохранять ваш переносимый контейнер с зарытым ключом в формате pfx.

Мастер экспорта сертификатов, выведет вам сводные данные, нажимаем "Готово".

Отрываем локацию, куда вы его выгрузили, и найдите свой pfx архив.

Теперь вам нужно еще выгрузить открытый ключ в формате cer, для этого так же зайдите в мастер экспорта, но на этот раз выберите "Нет, не экспортировать закрытый ключ".

Выберите формат файла "X.509 (.CER) в кодировке DEP", задайте ему имя и место сохранения. На выходе у вас появятся два файла.

Одни открытый ключ в формате cer и закрытый ключ в формате pfx. Этого набора вам будет достаточно, чтобы перенести сертификаты СБИС, Контура и остальных программ на другой компьютер.

Теперь перенесите эти файлы на другое рабочее место и просто запустите, через простой двойной клик. У вас откроется мастер импорта сертификатов, на первом окне выберите нужное вам хранилище, я в своем примере оставлю "Текущий пользователь".

На втором шаге проверяем импортируемый сертификат.

Указываем пароль, который задавали при выгрузке.

Оставляем автоматический выбор хранилища на основе типа сертификатов.

Готово. Со вторым файлом то же самое. После чего у вас будут перенесены нужные вам ключи и сам сертификат, можно работать.


Массовый перенос ключей и сертификатов CryptoPro на другой компьютер

Выше описанные методы хороши, когда у вас один или 5 ключиков в реестре, а как быть если их десятки. Помню лет 5 назад, когда я еще был младшим администратором, то я очень часто устанавливал электронные цифровые подписи главбуху, так как она работала в СБИС++ и сдавала там постоянно отчетность по огромному количеству организаций, по типу рога и копыта. Держать кучу токенов было не вариант, и для таких вещей у нее все хранилось в реестре и копия сертификатов была на флешке в сейфе. Флешку потом потеряли, встал вопрос сделать резервную копию всего и плюс обновить систему, в виду нового компьютера, на операционной системе Windows 8.1. ЭЦП было штук 50, а так как я ценю свое время, то и искал методы, выполнить это быстрее, к счастью я его нашел.

Заключался метод переноса сертификатов из реестра, в выгрузке веток и подмене SID значения, но обо всем по порядку. О том, как посмотреть SID пользователя и что это такое я рассказывал.

Открываете командную строку cmd и вводите команду:

Вот это S-1-5-21-551888299-3078463796-888888888-46162 и есть SID, вашей учетной записи. Теперь когда вы его знаете, то вам нужно выгрузить ваши закрытые ключи из реестра Windows. Для этого откройте вот такую ветку:

В контейнере Keys, вы найдете все ваши закрытые ключи от ЭЦП. С правой стороны вы увидите файлы:
* header.key
* masks.key
* masks2.key
* name.key
* primary.key
* primary2.key

Щелкаем правым кликом по контейнеру Keys и экспортируем его.

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

Не забывайте только подставить своего пользователя, эта папка может быть скрытой, поэтому включите скрытые папки и файлы в вашей ОС. Все содержимое этой папки вам нужно перенести на другой компьютер, только уже в папку другого, нужного пользователя.

Как только вы поместили на новом компьютере папку Key, вы можете перенести реестровую выгрузку. Сохраненный файл в формате reg, вы должны открыть в любом текстовом редакторе.

Как я показывал выше, определите SID нового пользователя, скопируйте его полностью и замените им значение в файле reg, я отметил это стрелками.

Все сохраняйте файл и запускайте его, у вас будет начат перенос сертификатов (закрытых ключей), подтверждаем действие.

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

Экспорт файла открытого ключа можно осуществить следующими способами:

1. Экспорт из хранилища Личные.

Для этого необходимо проделать следующие действия:

  • Выбрать меню Пуск (Настройки) / Панель управления / Свойства обозревателя (либо Свойства браузера)​. Перейти на вкладку Содержание и нажать на кнопку Сертификаты (см. рис. 1). Рис. 1. Окно «Свойства обозревателя»/вкладка «Содержание».
  • Найти в списке нужный сертификат и нажать на кнопку Экспорт (см. рис. 2).
Читайте также:  0X80070005 как исправить windows 10 при обновлении

Если в списке отсутствует нужный сертификат, необходимо перейти к пункту 2.

Рис. 3. Параметры экспорта закрытого ключа.

  • В окне Мастер экспорта сертификатов нажать на кнопку Далее. Затем отметить пункт Нет, не экспортировать закрытый ключ и выбрать Далее (см. рис. 3).
  • В окне Формат экспортируемого файла выбрать Файлы X.509 (.CER) в кодировке DER и нажать на кнопку Далее (см. рис. 4). Рис. 4. Формат экспортируемого файла.
  • В следующем окне необходимо кликнуть по кнопке Обзор, указать имя и каталог для сохранения файла. Затем нажать на кнопку Сохранить (см. рис. 5). Рис. 5. Сохранение файла.
  • В следующем окне нажать на кнопку Далее, затем Готово. Дождаться сообщения об успешном экспорте.

2. Экспорт файла открытого ключа с помощью Крипто Про.

Для этого необходимо проделать следующие действия:

Рис. 6. Окно «Свойства КриптоПро CSP».

  • Выбрать меню Пуск / Панель управления / Крипто Про CSP. Перейти на вкладку Сервис и нажать на кнопку Просмотреть сертификаты в контейнере (см. рис. 6).
  • В открывшемся окне нажать на кнопку Обзор, чтобы выбрать контейнер для просмотра. После выбора контейнера нажать на кнопку Ок (см. рис. 7). Рис. 7. Окно выбора контейнера для просмотра.
  • В следующем окне кликнуть по кнопке Далее.

Если после нажатия на кнопку Далее появляется сообщение В контейнере закрытого ключа отсутствует открытый ключ шифрования, необходимо перейти к пункту 3.

  • В окне Сертификат для просмотра необходимо нажать кнопку Свойства (см. рис. 8). Рис. 8. Окно просмотра сертификата

Рис. 9. Вкладка «Состав».

  • В открывшемся файле сертификата следует перейти на вкладку Состав и нажать кнопку Копировать в файл (см. рис. 9).
  • В открывшемся окне Мастер экспорта сертификатов нажать на кнопку Далее. Затем отметить пункт Нет, не экспортировать закрытый ключ и выбрать Далее (см. рис. 10). Рис. 10. Параметры экспорта закрытого ключа.
  • В окне Формат экспортируемого файла выбрать Файлы X.509 (.CER) в кодировке DER и нажать на кнопку Далее (см. рис. 11). Рис. 11. Формат экспортируемого файла.
  • В следующем окне необходимо кликнуть по кнопке Обзор, указать имя и каталог для сохранения файла. Затем нажать на кнопку Сохранить (см. рис. 12). Рис. 12. Сохранение файла.
  • В следующем окне нажать на кнопку Далее, затем Готово. Дождаться сообщения об успешном экспорте. Закрыть все окна программы Крипто Про.

Криптопровайдер КриптоПро на сегодняшний день является, пожалуй, самым популярным на рынке, по крайней мере в России. Я хочу рассказать, как быстро и удобно перенести большое количество контейнеров закрытых ключей CryptoPro и сертификатов к ним. Существует штатный механизм в самой программе, работает в ручном режиме и не подходит, когда надо перенести большое количество.

Введение

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

Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:

  1. Перенести или скопировать контейнер закрытого ключа через стандартную оснастку CryptoPro в панели управления. Это самый простой и быстрый способ, если у вас не много сертификатов и ключей. Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит.
  2. Скопировать сертификаты и ключи непосредственно через перенос самих исходных файлов и данных, где все это хранится. Объем работы одинаков и для 5 и для 50-ти сертификатов, но требуется больше усилий и знаний.

Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным.

Копирование закрытого ключа через оснастку КриптоПро

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

Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.

Читайте также:  Удалить страницу в вк через телефон ссылка

Ошибка копирования контейнера

Но тут есть важный нюанс. Если во время создания закрытого ключа он не был помечен как экспортируемый, скопировать его не получится. У вас будет ошибка:

Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии.

Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему.

Отдельно расскажу, как скопировать сертификат и закрытый ключ к нему в файл, чтобы перенести на другой компьютер без использования токена. Штатные возможности CryptoPro не позволяют скопировать закрытый ключ в файл.

Запускаем Internet Explorer, открываем его настройки и переходим на вкладку Содержание. Там нажимаем на Сертификаты.

Выбираем нужный сертификат и нажимаем Экспорт.

Если у вас после слов «Экспортировать закрытый ключ вместе с сертификатом» нет возможности выбрать ответ «Да, экспортировать закрытый ключ«, значит он не помечен как экспортируемый и перенести его таким способом не получится. Можно сразу переходить к другому способу, который описан ниже.

Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее. В следующем меню ставьте все галочки, так вам будет удобнее и проще в будущем, если вдруг опять понадобится копировать ключи уже из нового места.

Укажите какой-нибудь пароль и запомните его! Без пароля продолжить нельзя. В завершении укажите имя файла, куда вы хотите сохранить закрытый ключ. Теперь вам нужно скопировать сам сертификат. Только что мы копировали закрытый ключ для него. Не путайте эти понятия, это разные вещи. Опять выбираете этот же сертификат в списке, жмите Экспорт и выберите файл формата .CER.

Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него.

В итоге у вас должны получиться 2 файла с расширениями:

Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам достаточно будет выбрать все параметры по-умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер.

Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.

Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер

В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже.

Для дальнейшей работы нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:

В данном случай zerox — имя учетной записи, для которой узнаем SID.

Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра и переходим в ветку:

где S-1-5-21-4126079715-2548991747-1835893097-1000 — SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее.

Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи.

Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории — C:UserszeroxAppDataRoamingMicrosoftSystemCertificatesMy. Сохраняйте эту директорию.

Для переноса ключей и сертификатов нам надо скопировать на другой компьютер сохраненную ветку реестра и директорию с сертификатами My. Открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.

После этого запускаем .reg файл и вносим данные из файла в реестр. Теперь скопируйте папку My с сертификатами в то же место в профиле нового пользователя. На этом перенос сертификатов и контейнеров закрытых ключей КриптоПро завершен. Можно проверять работу.

Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью,чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector