Записки IT специалиста
- Автор: Уваров А.С.
- 21.09.2020
КриптоПро один из наиболее широко используемых криптопровайдеров на территории Российской Федерации, он широко используется в системах электронного документооборота, сдачи отчетности и взаимодействия с государственными органами, поэтому встретить его можно практически в любой организации. По этой причине у системных администраторов часто встает вопрос его переноса на другой ПК. А так как криптография является для многих сложной и непонятной областью, то эта простая задача может вызвать некоторые затруднения.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Если вы ранее не сталкивались с криптографией вообще, то рекомендуем прочитать нашу статью: Введение в криптографию. Общие вопросы, проблемы и решения. Здесь мы не будем углубляться в теорию, но приведем некоторый необходимый ликбез.
В повседневной деятельности широко распространено понятие «сертификат», им оперируют все, от сотрудников удостоверяющих центров, то бухгалтеров, работающих с ЭЦП. Часто можно услышать что-то подобное: «нам купили в бухгалтерию новый компьютер, нужно перенести сертификаты». Но если подходить с точки зрения криптографии, то слово «сертификат» в данном случае употребляется неправильно. Вся современная криптография строится вокруг инфраструктуры открытых ключей (PKI), которая подразумевает наличие у каждого участника ключевой пары: открытого и закрытого ключа.
Закрытый ключ является секретным, с его помощью мы можем подписывать документы, шифровать информацию и т.д. и т.п. Закрытый ключ Усиленной квалифицированной электронной подписи (УКЭП) равнозначен нотариально заверенной подписи и его попадание в чужие руки может привести к самым тяжелым последствиям.
Открытый ключ, дополненный некоторыми дополнительными данными, выпускается в форме сертификата и является публично доступным, с его помощью можно проверить действительность цифровой подписи, выполненной закрытым ключом или убедиться в подлинности участника обмена электронными документами.
Поэтому, когда мы говорим о переносе «сертификатов», то подразумеваем необходимость перенести ключевую пару: закрытый ключ и сертификат, перенос одних только сертификатов не принесет успеха, криптография на новом узле работать не будет.
Выяснив этот момент, перейдем к хранилищам закрытых ключей. КриптоПро предполагает в таком качестве токены, флеш-накопители и системный реестр. Токены являются наиболее защищенными устройствами, извлечь закрытый ключ из них невозможно, и вы можете не опасаться несанкционированного копирования (для этого закрытый ключ должен быть помечен как неэкспортируемый). Флеш-накопители представляют некий компромисс между безопасностью и мобильностью, а реестр удобен в тех случаях, когда на одном ПК нужно одновременно работать с большим количеством ключей. И именно с ним связаны определенные сложности при переносе на другой узел.
Копирование на профиле Диагностики
1. Зайдите на профиль Диагностики «Копирования» по ссылке.
2. Вставьте носитель, на который необходимо скопировать сертификат.
3. На нужном сертификате нажмите на кнопку «Скопировать».
Если на контейнер был задан пароль — появится сообщение «Введите пароль для устройства с которого будет скопирован сертификат».
Введите пароль и нажмите на кнопку «Далее».
4. Выберите носитель, куда необходимо скопировать сертификат и нажмите «Далее».
5. Задайте имя новому контейнеру и нажмите на кнопку «Далее».
6. Должно появиться сообщение об успешном копировании сертификата.
Перенос сертификата на другой компьютер из реестра
Перенос сертификата из реестра на другой компьютер заключается в экспорте ветки Keys из реестра ( Win + R regedit Enter ):
Где S-1-5-22-4136589715-5648997447-1896583097-0023 — это SID пользователя, у которого были установлены экспортируемые сертификаты. Если вам необходимо перенести только один конкретный сертификат, то ищем его в Keys в виде директории и экспортируем именно его. Сохраняем его в файл *.reg.
Теперь нам нужно узнать SID пользователя Windows, которому мы собираемся перенести экспортированные сертификаты. Узнать это можно выполнив команду из командной строки ( Win + R cmd Enter ):
Теперь в экспортированных сертификатах (в файле *.reg) необходимо SID старого пользователя (в данном примере это S-1-5-22-4136589715-5648997447-1896583097-0023) заменить на только что полученный при помощи выполнении команды выше. Файл открывается любым текстовым редактором. На вашь вкус
Запускаем REG файл, соглашаемся с предупреждением о внесении данных в реестр windows.
Теперь необходимо установить личные сертификаты для привязки сертификатов к контейнерам, установив сертификаты в личный хранилище. Можно также это сделать(помимо КонтурПро CSP) в автоматическом режиме через сервис диагностики Контура
Массовое перемещение закрытых ключей
Идеальный вариант – перенесение ключей способом копирования всех данных конкретной ветки. Для этой операции потребуется узнать SID настоящего владельца, вбив в командную строку следующее: wmic useraccount where name=’zerox’ get sid, где zerox является именем записи учета. Далее нужно скопировать данные ключей в файл, открыв редактор реестра и выбрав папку Keys. После сохранения ветки реестра можно быть уверенным, что в ней сохранены все закрытые ключи. С целью переноса ключей и сертификатов, кроме самой ветки, необходимо сохранить директорию с сертификатами «My». Затем, открыв файл с веткой реестра с помощью текстового редактора, надо поменять SID бывшего пользователя на данные, принадлежащие новому, после чего следует запустить .reg файл, скопировать папку «My» в нужное место профиля, опять же, для удобства использования новым владельцем.
Наличие на персональном компьютере ЭЦП – это гарантия оперативной фиксации подлинности личной документации и отсутствие риска внесения изменений на всех этапах сделки между партнерами.
Копирование с помощью средств КриптоПро
Штатный способ копирования контейнеров и сертификатов в КриптоПро таков:
- Открыть «Панель управления».
- Открыть «CryptoPro»
- Войти во вкладку «Сервис».
- Нажать пункт «Скопировать».
- Выбрать контейнер, с которого надо снять копию — как токен, так и компьютерный реестр.
- Задать новое имя и новый адрес для контейнера (в реестре или токене).
Алгоритм прост, но есть один момент, который портит всю картину: работает метод лишь в том случае, если еще на этапе создания ключа он получил отметку «Экспортируемый». Если такого флага не было проставлено, система выдаст сообщение: «Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии».
При получении такого сообщения можно смело переходить ко второму способу копирования ключей.
Копирование сертификата и ключа в файл
Если необходимо сделать копию для работы на другом компьютере, но нет возможности использовать токен, придется слегка повозиться: КриптоПро сам по себе не дает возможности переносить закрытый ключ в виде файла.
Здесь надо действовать так:
- Открыть Internet Explorer.
- Перейти во вкладку «Содержание».
- Выбрать пункт «Сертификаты».
- Выбрать нужный и нажать «Экспорт». Если появилась возможность выбрать пункт «Экспортировать закрытый ключ с сертификатом», нужно нажать «Далее». Если такой возможности нет, надо сразу переходить ко второму способу копирования ключей и сертификатов.
- В открывшемся меню проставить галочки во всех пунктах. Тогда ключ с самого начала будет иметь флаг «Экспортируемый», и его при необходимости будет легко скопировать уже с нового места.
- Придумать пароль — без этого продолжить работу нельзя.
- После ввода пароля нужно указать файл, где будет сохраняться ключ. Он будет иметь расширение .pfx.
Процедура копирования сертификата выглядит так же, только на выходе буде файл с расширением .cer. Для удобства оба файла следует скопировать в одну папку, после чего ее можно перенести на любой другой компьютер.
Для установки контейнера ключа и сертификата надо дважды щелкнуть по каждому файлу мышью. Откроется программа-мастер по установке, после этого достаточно указать для каждого параметра «По умолчанию» — и можно просто щелкать «Далее», пока процедура установки не завершится.
Перенос сертификатов и криптоконтейнеров КриптоПро
Давненько я ничего не писал. И вот снова небольшой квест и рецепт, который не является чем-то новым. Но мне надоело его искать и как многое другое, это то чем я пользуюсь иногда. Если вам надо перенести криптоконтейнеры, ключи и сертификаты с одного ПК на другой в случае КриптоПро, прошу под далее. Мне часто приходится делать это удаленно, что исключает копирование на USB-Flash.
Начнем с того что выгрузим криптоконтейнеры с компьютера источника на второй компьютер.
1. Откроем редактор реестра (Пуск->Выполнить: regedit).
2. Найдем ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
3. Определим SID пользователя(имеет вид, например, S-1-5-21-988151986-1848342132-923548625-1000), и посмотреть ProfileImagePath, в конце строки найдете имя пользователя, которому принадлежит этот SID.
4. Нужно экспортировать ветку HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\USERS\S-1-5-21-988151986-1848342132-923548625-1000\Keys в reg файл, допустим key_crypto.reg.
Для 64-битных систем это HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\USERS\S-1-5-21-988151986-1848342132-923548625-1000\Keys
5. В key_crypto.reg меняете через поиск и замену S-1-5-21-988151986-1848342132-923548625-1000, в Вашем случае, старый на нового.
6. Запускаете key_crypto.reg файл, после этого все готово, но необходимо будет заново установить личные сертификаты для того что бы привязать сертификаты к контейнерам.
Если не будет видно контейнеров, то неправильно указали S-1-5-21-988151986-1848342132-923548625-1000, т.к. контейнеры видны только под тем пользователем, под SID’ом которого они находятся.
1. Откроем редактор реестра (Пуск->Выполнить: regedit).
2. Находим ветку реестра HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\My
3. Нужно экспортировать ветку KEY_CURRENT_USER\Software\Microsoft\SystemCertificates\My в reg файл, допустим key_crypto.reg.
Откройте диспетчер сертификатов: нажмите кнопку Пуск, в поле Поиск введите certmgr.msc и нажмите клавишу ВВОД. Введите пароль администратора или подтверждение пароля, если появится соответствующий запрос.
Щелкните правой кнопкой сертификат, который нужно экспортировать, наведите указатель мыши на Все задачи, а затем нажмите Экспорт.
В мастере экспорта сертификатов щелкните Далее.
Если сертификат предполагается перенести на другой компьютер, щелкните Да, экспортировать закрытый ключ, в противном случае щелкните Нет, не экспортировать закрытый ключ, а затем нажмите Далее. (Эта возможность появляется, если только закрытый ключ помечен как экспортируемый и имеется доступ к закрытому ключу.)
Выберите нужный формат и нажмите Далее.
- windows
- regedit
- КриптоПро CryptoPro криптоконтейнеры
- КриптоПро
- CryptoPro
- Криптоконтейнеры
- реестр
- сертификаты
- Назад
- Вперед
Если вам помогла статья или информация была полезной. Благодарность, не должна знать границ.