Криптопро экспорт закрытого ключа в файл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Ddos protection

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

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

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

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

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

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

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

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

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

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

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

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

Как экспортировать закрытый и открытый ключ электронной подписи при помощи Windows или криптопровайдера КриптоПро CSP

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

Важно! Ключи, полученные в аккредитованных удостоверяющих центрах, можно хранить на токене или в компьютере. Удостоверяющий центр ФНС записывает контейнеры ключей только на токены и ставит ограничения на их копирование. Ключи, полученные в налоговой, экспортировать на другие носители запрещено.

Что такое открытый ключ ЭЦП

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

ЭЦП — это устаревшее понятие. Расшифровывается как электронная цифровая подпись. В настоящее время используется более ёмкое название ЭП, которое расшифровывается как электронная подпись.

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

Сертификат содержит в себе следующие данные:

Электронный сертификат виден на обычных носителях в виде файла с расширением .cer, а на защищённых картах Рутокен, eToken и JaCarta его можно посмотреть с помощью криптопровайдера или драйвера носителя.

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

Как экспортировать открытый ключ и сертификат

В программном обеспечении компьютера нет отдельного функционала экспорта открытого ключа. Но значение открытого ключа содержатся в сертификате. Поэтому пользователю достаточно экспортировать только сертификат. Делается это через свойства обозревателя либо из криптопровайдера КриптоПро CSP. При этом носитель с ключом должен быть подключён к компьютеру.

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

Экспорт сертификата через свойства обозревателя

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

Владелец электронной подписи использует именно закрытую часть для подписания электронных документов. Любой, кто получает доступ к закрытому ключу электронной подписи, может им воспользоваться. Поэтому его хранят на защищённых носителях: смарт-карте, токене, USB-носителе или дискете.

Читайте также:  Эффективный хостинг Java Spring: повысьте производительность ваших сайтов

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

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

Как экспортировать закрытый ключ

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

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

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

Если для работы используется дискета или flash-накопитель, копирование можно выполнить средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и файл сертификата — открытый ключ, если он есть) необходимо поместить в корень дискеты (flash-накопителя). Название папки при копировании рекомендуется не изменять.  Папка с закрытым ключом должна содержать 6 файлов с расширением .key.

Пример закрытого ключа — папки с шестью файлами, и открытого ключа — файла с расширением .cer.

Копирование контейнера также можно выполнить с помощью КриптоПро CSP.  Для этого необходимо выполнить следующие шаги:Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копирование открытого ключа выполнять не обязательно.

Копирование с помощью КриптоПро CSP

1. Выбрать Пуск / Панель Управления / КриптоПро CSP.

2. Перейти на вкладку Сервис и кликнуть по кнопке Скопировать контейнер.

3. В окне «Копирование контейнера закрытого ключа» нажмите на кнопку «Обзор».

4. Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее».

5. Если вы копируете с защищённого ключевого носителя, то появится окно ввода, в котором следует указать pin-код.

6. Если вы не меняли pin-код на носителе, стандартный pin-код необходимо вводить соответственно его типу:

Rutoken — стандартный pin-код 12345678eToken /JaCarta  – 1234567890

7. В следующем окне необходимо ввести имя Вашей копии. Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните «Готово».

8. В окне «Выбор ключевого носителя» выберите носитель, на который будет помещен новый контейнер.

9. На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».

В случае утери пароля/pin-кода использование контейнера станет невозможным.

10. Если вы копируете контейнер на смарт-карту ruToken/eToken /JaCarta, окно запроса будет выглядеть так:

11. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код

Rutoken — 12345678eToken /JaCarta  – 1234567890

12. После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено.

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

14. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»

15. Перейдите на вкладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере»:

16. В следующем окне нажмите кнопку Обзор, чтобы выбрать контейнер для просмотра (в нашем примере контейнер находится в Реестре):

17. После выбора контейнера нажмите кнопку Ок, затем Далее

18. Если после нажатия на кнопку Далее Вы видите такое сообщение:

19. « В контейнере закрытого ключа отсутствует открытый ключ шифрования», следует установить сертификат по рекомендациям, описанным в разделе «Установка через меню «Установить личный сертификат».

20. В окне Сертификат для просмотра нажмите кнопку Установить:

21. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:

22. Дождитесь сообщения об успешной установке:

23. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.

Установка через меню «Установить личный сертификат».

1. Для установки сертификата этим способом Вам понадобится файл сертификата (файл с расширением.cer).

Читайте также:  Раскройте возможности порта RouterOS для расширенных возможностей подключения

2. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»

3. Перейдите на вкладку «Сервис» и нажмите кнопку «Установить личный сертификат»:

4. В следующем окне нажмите кнопку Обзор, чтобы выбрать файл сертификата. Укажите путь к файлу сертификата и нажмите кнопку Открыть (в нашем примере файл сертификата находится на Рабочем столе):

5. В следующем окне нажмите кнопку Далее; в окне Сертификат для установки нажмите Далее.

6. Поставьте галку в окне Найти контейнер автоматически (в нашем примере контейнер находится в Реестре компьютера) и нажмите Далее:

7. В следующем окне отметьте пункт Установить сертификат (цепочку сертификатов) в контейнер и нажмите Далее:

8. В окне Завершение мастера установки личного сертификата нажмите Готово.

9. Если КриптоПро CSP запрашивает pin-код от контейнера, введите нужный код или попробуйте стандартные pin-коды носителей:

10. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:

11. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.

Отдел технической поддержки

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

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

Экспорт закрытых и открытых ключей в формате Pfx или Cer

Формат PFX позволяет скомпилировать в один файл сразу открытый ключ и сам контейнер ключа. Дабы не было лишней возни при переносе, можно воспользоваться именно данным форматом. Для этого жмякаем пуск — все программы — крипто-про — сертификаты.

Откроется MMC консоль с отображением древа сертификатов. Сертификаты, которыми люди обычно подписывают бухгалтерские и документооборотные штучки хранятся в ветке личное — реестр — сертификаты.

Выбираем интересующий нас сертификат. Правый тык — все задачи — экспорт.

На первом же этапе экспорта нас спросят, хотим ли мы экспортировать сразу оба ключа (закрытый+открытый), если выберем первый вариант — сформируется файл типа Pfx. Если данная надпись выделена серым, значит закрытый ключ к выбранному сертификату на компьютере не установлен.

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

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

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

Перенос и установка электронной подписи на новую АРМ

Переходим на новый АРМ или систему пользователя, берем наши два файла (pfx и cer). Правый тык на PFX — установить, при установке вас спросят пароль, который вы задавали на вкладке безопасности при экспорте. Криптопро так же спросит, куда поместить закрытый ключ — на флешку, токен или в реестр. Если заранее оговорено что пользователь будет хранить закрытый ключ на флешке — выбирайте её, если ему пофиг то можно загнать так же в реестр.

На этом этапе по идее уже всё, сертификат автоматически установится и сам построит цепочку промежуточных и доверенных сертификатов. Если Windows будет задавать вопросы об установке таких сертификатов — соглашаемся.

Иногда, после такой установки сертификатов, Крипто-про неверно подвязывает открытый ключ к закрытому. Если после установки pfx электронная подпись не работает — то в том же крипто-про CSP на вкладке «сервис» выбираем «Установить личный сертификат», и указываем наш заранее сформированный файлик формата Cer.

Отмечаем чек-бокс «найти контейнер автоматически» и убеждаемся в наличии галки на последнем шаге установки (Установить сертификат (цепочку сертификатов) в контейнер)

На вопрос от криптопровайдера, перезаписать ли пути отвечаем положительно.

Оцените статью
Хостинги