Перейти к содержимому

Где криптопро хранит сертификаты директория

  • автор:

Записки IT специалиста

Перенос сертификатов и закрытых ключей CryptoPro хранящихся в реестре

  • Автор: Уваров А.С.
  • 21.09.2020

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

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

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

В повседневной деятельности широко распространено понятие «сертификат», им оперируют все, от сотрудников удостоверяющих центров, то бухгалтеров, работающих с ЭЦП. Часто можно услышать что-то подобное: «нам купили в бухгалтерию новый компьютер, нужно перенести сертификаты». Но если подходить с точки зрения криптографии, то слово «сертификат» в данном случае употребляется неправильно. Вся современная криптография строится вокруг инфраструктуры открытых ключей (PKI), которая подразумевает наличие у каждого участника ключевой пары: открытого и закрытого ключа.

Закрытый ключ является секретным, с его помощью мы можем подписывать документы, шифровать информацию и т.д. и т.п. Закрытый ключ Усиленной квалифицированной электронной подписи (УКЭП) равнозначен нотариально заверенной подписи и его попадание в чужие руки может привести к самым тяжелым последствиям.

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

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

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

Экспорт ключей и сертификатов

Для того, чтобы правильно экспортировать закрытые ключи, нам нужно выяснить идентификатор безопасности ( SID) текущего пользователя (который работает с ЭЦП), это можно сделать командной:

wmic useraccount where name='%username%' get sid

Transfer-keys-certificates-CryptoPro-001.png

Затем откроем редактор реестра и перейдем в ветку для 32-битных систем:

HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users

для 64-битных систем:

\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users

Найдем и раскроем раздел с SID текущего пользователя и экспортируем оттуда ветку Keys.

Transfer-keys-certificates-CryptoPro-002.png

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

После чего скопируем все сертификаты, расположенные по пути

%USERPROFILE%\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates

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

Импорт ключей и сертификатов

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

Затем снова узнаем SID пользователя, который будет работать с ЭЦП, если это текущий пользователь, то снова выполните:

wmic useraccount where name='%username%' get sid

В противном случае:

wmic useraccount where name='Name' get sid

где Name — имя пользователя.

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

Transfer-keys-certificates-CryptoPro-003.png

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

Следующим шагом скопируйте сохраненные сертификаты в

%USERPROFILE%\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates

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

Как быть если доступ к старой системе невозможен?

Теория — это хорошо, но практика может подкинуть самые неожиданные ситуации. Как быть, если доступ к старой системе невозможен? Скажем вышла из строя материнская плата или серьезно повреждена операционная система?

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

С копированием сертификатов проблемы возникнуть не должно, их хранилище простая папка на диске, а вот с хранилищем закрытых ключей в реестре немного сложнее. Но не будем забывать, что системный реестр тоже хранится в файлах на диске. Вам следует любым доступным образом скопировать файл SOFTWARE из C:\Windows\System32\config

Transfer-keys-certificates-CryptoPro-004.png

Затем на целевой системе откройте редактор реестра, перейдите в раздел HKEY_LOCAL_MACHINE и через Файл — Загрузить куст подключите скопированный из старой системы раздел реестра. Дайте ему осмысленное имя, скажем OLD_SOFTWARE.

Transfer-keys-certificates-CryptoPro-005.png

После чего пройдите в раздел с закрытыми ключами (с учетом новой точки монтирования) и выполните экспорт ветки Keys.

Transfer-keys-certificates-CryptoPro-006.png

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

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

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Где криптопро хранит сертификаты директория

Лидер российского рынка по распространению средств криптографической защиты информации, электронной подписи и развитию инфраструктуры открытых ключей на основе российских криптографических алгоритмов

  • О компании
    • Контакты
    • Схема проезда
    • Новости
    • Лицензии
    • Аккредитация
    • Реквизиты
    • Вакансии
    • КриптоПро CSP
      • Использование
      • КриптоПро CSP Lite
      • КриптоПро TLS c ГОСТ
      • КриптоПро Java CSP
      • КриптоПро Winlogon
      • Считыватели
      • История версий
      • Сравнение версий
      • Совместимость реализаций X.509 и CMS
      • Загрузка файлов
      • КриптоПро JTLS
      • КриптоПро Java CSP
      • Загрузка файлов
      • Описание
      • Платёжный HSM
      • Использование
      • Информационные материалы
      • Мобильные приложения
      • Тестовый СЭП
      • КриптоПро DSS Lite
      • КриптоПро CloudCSP
      • Загрузка файлов
      • VPN-сервер NGate
      • TLS-сервер NGate
      • Сервер портального доступа
      • IPsec VPN-шлюз NGate
      • Общая информация
      • Информационные материалы
      • Аппаратные платформы
      • Загрузка файлов
      • КриптоПро УЦ 2.0
      • КриптоПро Службы УЦ
      • Задачи
      • Развёртывание
      • Консалтинг
      • Обучение
      • Техническая поддержка
      • КриптоПро Шлюз УЦ-СМЭВ
      • Использование
      • Совместимость реализаций IPsec
      • Загрузка файлов
      • Браузер Chromium-Gost
      • КриптоПро ЭЦП Browser plug-in
      • Приложение cryptcp
      • КриптоПро Office Signature
      • КриптоПро PDF
      • КриптоПро AirKey
      • Защищенная мобильность
      • КриптоПро Stunnel
      • stunnel-msspi
      • КриптоПро SPR 4.0
      • Secure Pack Rus (SPR 3.0)
      • КриптоПро Шлюз УЦ-СМЭВ
      • КриптоПро ЭЦП
      • КриптоАРМ ГОСТ
      • КриптоПро CRM
      • КриптоПро SSF
      • КриптоПро HLF
      • Электронные замки
      • Считыватели смарт-карт
      • USB-токены
      • Услуги УЦ
      • Сервис электронной подписи
      • Консалтинг
      • CRM решения для УЦ
      • Защита информации
      • Блокчейн (распределённый реестр)
      • Обучение
      • Список партнёров по регионам
      • Дистрибьюторы
      • Стать партнёром
      • Вход для партнёров
      • Решения партнёров
      • Портал технической поддержки
      • Центр загрузки
      • Тестовый УЦ
      • База знаний (FAQ)
      • Документация
      • Поиск
      • Проверка лицензии
        • Проверка возможности обновления
        • Юридические лица
          • Форма заказов
          • Оплата
          • Доставка
          • Форма заказов
          • Оплата
          • Доставка
          • Форма заказов
          • Доставка
          • Оплата
          • Условия возврата
          • Форма заказов
          • Доставка
          • Оплата
          • Условия возврата
          • Order form
          • Payment methods
          • Delivery
          • Как оформить заказ
          • Как скачать
          • Как установить
          • Как ввести лицензию

          Вход

          Купить

          Услуги УЦ

          Услуги СЭП

          Подписка

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

          Публикация: 19 Октябрь 2010 — 15:57, редакция: 18.01.2011 12:31

          Как правило, после выпуска сертификата открытого ключа, он помещается в ключевой контейнер, и его можно извлечь из контейнера средствами КриптоПро CSP. Для этого необходимо выполнить следующие действия:
          1. Перейти в Панель управления (ПУСК – Панель управления) найдите и запустить КриптоПро CSP.
          2. На вкладке сервис выбрать «Просмотреть сертификат в контейнере».
          3. Выбрать нужный контейнер и нажать «Далее». Если в контейнере присутствует сертификат, то отобразится информация о нём.
          4. Нажать «Свойства». Откроется сам сертификат.
          5. Перейти на вкладку «Состав». Нажать кнопку «Копировать в файл».
          6. Выбрать варианты: «Нет, не экспортировать закрытый ключ» и «Файл в DER-кодировке X509» (.CER)
          7. Указать путь для сохранения файла сертификата.

          ***При выполнении пункта 3 может появиться информационное сообщение: «В контейнере закрытого ключа не найдены сертификаты». В этом случае, сертификат, скорее всего, был передан пользователю в виде файла.***

          ***Если при использовании версии КриптоПро CSP 2.0 появляется сообщение: «В контейнере не найдены секретные ключи», то, скорее всего этот контейнер был сгенерирован в КриптоПро CSP 3.0 или выше.***

          Где в реестре хранятся сертификаты КриптоПро

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

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

          Хранилище сертификатов в реестре Windows является централизованным хранилищем для сертификатов, доступных для всех пользователей и приложений на компьютере. Оно разделено на несколько разделов, каждый из которых предназначен для определенного типа сертификатов. Сертификаты КриптоПро обычно хранятся в разделе Личное алгоритма Microsoft Enhanced Cryptographic Provider или разделе MY (Machine store) алгоритма Microsoft Base Cryptographic Provider.

          Где располагаются и как хранятся сертификаты КриптоПро в реестре Windows

          В операционной системе Windows, сертификаты КриптоПро могут быть сохранены в реестре. Их местонахождение в реестре зависит от типа сертификата и его назначения.

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

          HKEY_CURRENT_USER\Software\Crypto-Pro\Certificates — в этой папке хранятся сертификаты, установленные для текущего пользователя.

          Они могут быть сохранены в виде связанных файлов с расширением .crt или .pfx.

          Корневые сертификаты КриптоПро, которые служат для проверки цепочки доверия, хранятся в следующей папке:

          HKEY_LOCAL_MACHINE\SOFTWARE\Crypto-Pro\Certificates — в этой папке хранятся корневые сертификаты и промежуточные сертификаты.

          Таким образом, для поиска и управления сертификатами КриптоПро в реестре Windows, необходимо обратить внимание на указанные папки в реестре.

          Расположение сертификатов КриптоПро в реестре Windows

          Сертификаты КриптоПро в операционных системах Windows хранятся в реестре компьютера. Конкретное расположение зависит от варианта использования сертификатов, таких как личные сертификаты пользователей или корпоративные сертификаты организаций.

          Личные сертификаты пользователей КриптоПро обычно хранятся в разделе реестра HKEY_CURRENT_USER\Software\Crypto Pro\Certificate\Keys. В этом разделе содержатся ключевые контейнеры (private key containers), которые содержат приватные ключи сертификатов.

          Корпоративные сертификаты организаций КриптоПро могут храниться в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Certificate\Keys. В этом разделе также находятся ключевые контейнеры с приватными ключами.

          Расположение сертификатов в реестре может варьироваться в зависимости от версии операционной системы и варианта установки КриптоПро. Если у вас возникли проблемы с доступом или поиском нужных сертификатов, рекомендуется обратиться к документации КриптоПро или обратиться в поддержку производителя.

          Перенос контейнеров закрытых ключей и сертификатов CryptoPro

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

          Онлайн-курс по Kubernetes – для разработчиков, администраторов, технических лидеров, которые хотят изучить современную платформу для микросервисов Kubernetes. Самый полный русскоязычный курс по очень востребованным и хорошо оплачиваемым навыкам. Курс не для новичков – нужно пройти вступительный тест.

          Содержание

          Введение

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

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

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

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

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

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

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

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

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

          Неэкспортируемый контейнер

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

          Посмотреть список сертификатов в системе

          Выбираем необходимый сертификат и нажимаем Посмотреть свойства сертификата.

          Выбор сертификата

          Далее переходим на вкладку Состав в информации о сертификате и нажимаем Копировать в файл.

          Сохранение сертификата КриптоПро в файл

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

          Невозможно экспортировать закрытый ключ

          Формат экспортируемого ключа

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

          Перенос сертификата

          Как узнать SID пользователя

          В данном случай user — имя учетной записи, для которой узнаем SID. Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра (regedit.exe) и переходим в ветку:

          \HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\S-1-5-21-4126888996-1677807805-1843639151-1000\Keys

          где S-1-5-21-4126888996-1677807805-1843639151-1000 — SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее. Этот путь актуален для 64-х битных систем — Windows 7, 8, 10. В 32-х битных путь может быть немного другой. Я специально не проверял, но поиском по реестру вы при желании найдете его.

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

          Замена SID пользователя

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

          КриптоПро CSP ошибка 0x80090010 Отказано в доступе

          Иногда после переноса контейнеров закрытых ключей через экспорт — импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:

          КриптоПро CSP ошибка 0x80090010 Отказано в доступе

          Ошибка обращения к контейнеру закрытого ключа. Ошибка 0x80090010: Отказано в доступе. Связано это с тем, что у текущего пользователя, под которым вы хотите получить доступ к контейнеру, нет полных прав на ветку реестра с хранящимися ключами. Исправить это просто. Переходите в редактор реестра и выставляйте полные права к ветке Keys для текущего пользователя.

          Права доступа в реестре на ключи

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

          Часто задаваемые вопросы по теме статьи (FAQ)

          Можно ли перенести сертификат, который находится на токене и защищен от копирования?

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

          Безопасно ли хранить сертификаты в реестре?

          Это не безопасно и в общем случае я не рекомендую это делать. USB токены для хранения сертификатов придуманы не просто так. Они реально защищают сертификаты от несанкционированного копирования. Если у вас нет объективной необходимости копировать сертификаты в реестр, лучше этого не делать. Если вам нужно сделать бэкап сертификата на случай поломки токена, то просто скопируйте его в зашифрованный архив и сохраните на флешке.

          Подойдет ли предложенный способ копирования сертификатов CryptoPro для VipNet?

          Нет, не подойдет. В статье описан способ переноса сертификатов CryptoPro. Другие криптопровайдеры хранят сертификаты по-другому. Универсального способа для всех не существует.

          Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.

          Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.

          Онлайн курс по Kubernetes

          Онлайн-курс по Kubernetes – для разработчиков, администраторов, технических лидеров, которые хотят изучить современную платформу для микросервисов Kubernetes. Самый полный русскоязычный курс по очень востребованным и хорошо оплачиваемым навыкам. Курс не для новичков – нужно пройти вступительный тест.

          • устали тратить время на автоматизацию?
          • хотите единообразные окружения?
          • хотите развиваться и использовать современные инструменты?
          • небезразлична надежность инфраструктуры?
          • приходится масштабировать инфраструктуру под растущие потребности бизнеса?
          • хотите освободить продуктовые команды от части задач администрирования и автоматизации и сфокусировать их на развитии продукта?

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

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