всё плотнее входит в нашу жизнь.
Сегодня данный вопрос касается уже далеко не только офисных сотрудников предприятий и индивидуальных предпринимателей, работа с электронными документами всё чаще облегчает решение повседневных проблем рядовым гражданам и в быту. Разумеется, что с расширением применяемости электронных документов шире становится и распространение электронной цифровой подписи, сокращённо — .
Именно о повышении удобства в работе с ЭЦП и пойдёт речь дальше, а именно, мы рассмотрим, как добавить ключ ЭЦП в реестр КриптоПро на компьютере.
Электронная цифровая подпись используется во многих программных продуктах: (и другие программы для ведения хозяйственного или бухгалтерского учёта), , (и прочие решения для работы с бухгалтерской и налоговой отчётностью) и других. Также ЭЦП нашла применение в обслуживании физических лиц при решении вопросов с государственными органами.
ЭЦП — это, своего рода, гарант в мире электронного документооборота, аналогичный обычной подписи и печатями на бумажных носителях
Как и при подписании бумажных документов, процесс подписания электронных носителей информации связан с «редактированием» первичного источника.
Электронная цифровая подпись документов осуществляется путём преобразования электронного документа с помощью закрытого ключа владельца, этот процесс и называется подписанием документа
На сегодняшний день сертификаты закрытого ключа чаще всего распространяются либо на обычных USB-флешках, либо на специальных защищённых носителях с тем же USB интерфейсом (, и так далее).
При этом, каждый раз, когда возникает необходимость в подписи документов (или идентификации пользователя), нам нужно вставить носитель с ключом в компьютер, после чего проводить манипуляции с сертификатом. Соответственно, после завершения работы нам достаточно просто извлечь носитель из компьютера, чтобы нашей подписью больше никто не мог воспользоваться. Этот способ достаточно безопасен, но не всегда удобен.
Если вы используете ЭЦП у себя дома, то каждый раз быстро надоедает. Кроме того, носитель будет занимать один USB-порт, которых и так не всегда хватает для подключения всей необходимой периферии.
Если же вы используете ЭЦП на работе, то бывает, что ключ удостоверяющим центром выдан один, а подписывать документы должны разные люди. Таскать контейнер туда-сюда тоже не удобно, да ещё бывают и случаи, когда в одно время с сертификатом работают сразу несколько специалистов.
Кроме того, и дома, и, особенно, на работе, случается, что на одном компьютере необходимо производить действия с использованием сразу нескольких ключей цифровой подписи.
Именно в тех случаях, когда использование физического носителя сертификата неудобно, можно прописать ключ ЭЦП в реестр КриптоПро (подробнее о реестре Windows в общем понимании можно почитать в соответствующей статье: Изменение параметров системного реестра Windows) и использовать сертификат, не подключая носитель к USB-порту компьютера.
- Добавление считывателя Реестр в КриптоПро CSP
- Копирование ключа в Реестр КриптоПро CSP
- Установка сертификата закрытого ключа КриптоПро CSP
- Копирование закрытого ключа через оснастку КриптоПро
- Ошибка копирования контейнера
- Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
- КриптоПро CSP ошибка 0x80090010 Отказано в доступе
- Часто задаваемые вопросы по теме статьи (FAQ)
- Помогла статья? Подписывайся на telegram канал автора
- Экспорт ключей и сертификатов
- Импорт ключей и сертификатов
- Как быть если доступ к старой системе невозможен?
Добавление считывателя Реестр в КриптоПро CSP
В первую очередь, чтобы наш смог работать с прописанными локально ключами, требуется добавить сам вариант подобного считывателя.
Для того, чтобы установить в CSP утилиту новый тип носителя, запускаем программу от имени администратора правой кнопкой мыши или из меню самой утилиты на вкладке Общие
Далее, следуя командам Мастера установки считывателя поэтапно перемещаемся по окнам:
Копирование ключа в Реестр КриптоПро CSP
Чтобы прописать ключевой контейнер в локальное хранилище, подсоединяем физический носитель с ключом к компьютеру.
В новом окне задаём произвольное понятное имя создаваемому контейнеру ключа и нажимаем кнопку . Затем для записи ключа выбираем созданный нами ранее тип считывателя Реестр, подтвердив выбор кнопкой .
После подтверждения нам необходимо установить Пароль на созданный ключевой контейнер, по умолчанию, чаще всего, используют пароль 12345678, но для более безопасной работы пароль можно задать сложнее. После ввода пароля жмём на кнопку .
Всё, ключевой контейнер добавлен в Реестр КриптоПро.
Установка сертификата закрытого ключа КриптоПро CSP
В завершении настройки подписи документов без подключения носителя ключа к компьютеру нам остаётся только установить сертификат закрытого ключа из контейнера созданного носителя.
Чтобы установить сертификат в необходимо проделать следующее:
Теперь у нас установлен Сертификат закрытого ключа из локального носителя Реестр.
Настройка завершена, но вам следует помнить, что для многих программных продуктов также потребуется перепрописать новый ключ в настройках системы.
После проделанных действий мы можем подписывать документы без подключения ключа, будь то Рутокен, eToken или какой-то другой физический носитель.
Криптопровайдер КриптоПро на сегодняшний день является, пожалуй, самым популярным на рынке, по крайней мере в России. Я хочу рассказать, как быстро и удобно перенести большое количество контейнеров закрытых ключей CryptoPro и сертификатов к ним. Существует штатный механизм в самой программе, работает в ручном режиме и не подходит, когда надо перенести большое количество.
Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.
Заказать настройку ЭЦП от 500 р.
Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим. Для того, чтобы перенести все это хозяйство с одного компьютера на другой, иногда приходится прилично повозиться, особенно тем, кто не в теме. Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты.
Копирование закрытого ключа через оснастку КриптоПро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.
Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.
Ошибка копирования контейнера
Но тут есть важный нюанс. Если во время создания закрытого ключа он не был помечен как экспортируемый, скопировать его не получится. У вас будет ошибка:
Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии. Либо вы просто не сможете его выбрать для копирования, если у вас последняя версия CryptoPro. Он будет неактивен:
Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему. Отдельно расскажу, как скопировать сертификат и закрытый ключ к нему в файл, чтобы перенести на другой компьютер без использования токена. Делаем это там же на вкладке Сервис в оснастке CryptoPro. Нажимаем Посмотреть сертификаты в контейнере.
Выбираем необходимый сертификат и нажимаем Посмотреть свойства сертификата.
Далее переходим на вкладку Состав в информации о сертификате и нажимаем Копировать в файл.
Если у вас после слов «Экспортировать закрытый ключ вместе с сертификатом» нет возможности выбрать ответ «Да, экспортировать закрытый ключ», значит он не помечен как экспортируемый и перенести его таким способом не получится. Можно сразу переходить к другому способу, который описан ниже.
Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее. В следующем меню ставьте все галочки, кроме удаления. Так вам будет удобнее и проще в будущем, если вдруг опять понадобится копировать ключи уже из нового места.
Укажите какой-нибудь пароль и запомните его! Без пароля продолжить нельзя. В завершении укажите имя файла, куда вы хотите сохранить закрытый ключ. Теперь вам нужно скопировать сам сертификат. Только что мы копировали закрытый ключ для него. Не путайте эти понятия, это разные вещи. Опять выбираете этот же сертификат в списке из оснастки Crypto Pro, жмёте Копировать в файл, экспортировать БЕЗ закрытого ключа. И выбираете файл формата . CER.
Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него. В итоге у вас должны получиться 2 файла с расширениями:
Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер. Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.
Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже. Для дальнейшей работы нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:
где S-1-5-21-4126888996-1677807805-1843639151-1000 — SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее. Этот путь актуален для 64-х битных систем — Windows 7, 8, 10. В 32-х битных путь может быть немного другой. Я специально не проверял, но поиском по реестру вы при желании найдете его.
После того, как перенесли файлы со старого компьютера на новый, открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.
После этого запускаем .reg файл и вносим данные из файла в реестр. Теперь скопируйте папку My с сертификатами в то же место в профиле нового пользователя. На этом перенос сертификатов и контейнеров закрытых ключей КриптоПро завершен. Можно проверять работу. Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью, чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.
КриптоПро CSP ошибка 0x80090010 Отказано в доступе
Иногда после переноса контейнеров закрытых ключей через экспорт — импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:
Ошибка обращения к контейнеру закрытого ключа. Ошибка 0x80090010: Отказано в доступе. Связано это с тем, что у текущего пользователя, под которым вы хотите получить доступ к контейнеру, нет полных прав на ветку реестра с хранящимися ключами. Исправить это просто. Переходите в редактор реестра и выставляйте полные права к ветке Keys для текущего пользователя.
Убедитесь так же, что новые права наследовались на дочерние ветки с самими ключами. Обычно это так, но перепроверить на всякий случай непомешает. После этого ошибка с доступом к контейнеру закрытого ключа исчезнет.
Часто задаваемые вопросы по теме статьи (FAQ)
Можно ли перенести сертификат, который находится на токене и защищен от копирования?
Очевидно, что предложенное в статье решение для этого не подойдет. Ведь тут идет речь о переносе сертификатов, которые хранятся в реестре, то есть уже были скопированы. Технические средства для копирования защищенных крипто контейнеров тоже существуют, но это не такое простое и очевидное решение.
Безопасно ли хранить сертификаты в реестре?
Это не безопасно и в общем случае я не рекомендую это делать. U SB токены для хранения сертификатов придуманы не просто так. Они реально защищают сертификаты от несанкционированного копирования. Если у вас нет объективной необходимости копировать сертификаты в реестр, лучше этого не делать. Если вам нужно сделать бэкап сертификата на случай поломки токена, то просто скопируйте его в зашифрованный архив и сохраните на флешке.
Подойдет ли предложенный способ копирования сертификатов CryptoPro для VipNet?
Нет, не подойдет. В статье описан способ переноса сертификатов CryptoPro. Другие криптопровайдеры хранят сертификаты по-другому. Универсального способа для всех не существует.
Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.
Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Активное развитие электронного документооборота в различных организациях, требует от пользователей постоянного наличия электронной цифровой подписи (ЭЦП) в виде USB-ключа для подписания документов, сдачи отчетности, участия в гос. закупке, продажи маркированных товаров и т.д. И бывает так, что таковых ключей может собраться большое количество под самые разные задачи и гораздо удобней в таком случае, использовать эти ключи без привязки к их физическому носителю, записав их в реестр системы на доверенный компьютер. И сегодня мы рассмотрим с вами, как установить ЭЦП в реестр через КриптоПРО CSP.
Итак, вставляем USB-ключ с ЭЦП в свободный разъем на ПК, откроем программу КриптоПро CSP и нажимаем Запустить с правами администратора.
Далее мы открываем вкладку Сервис, нажимаем Скопировать.
И нажимаем Обзор.
Находим здесь «контейнер», который записан на USB-носителе и нажимаем ОК.
Вводим действующий пин-код от выбранного USB-ключа.
Вводим удобное название для нового «контейнера» и нажимаем Готово.
В окне с выбором места для записи «контейнера», выбираем Реестр и жмем ОК.
Придумаем запоминающийся пароль для «контейнера» и нажимаем ОК.
Итак, ключевой «контейнер» успешно скопирован в реестр системы.
Нам осталось установить сертификат в личное хранилище пользователя, чтобы у нас была возможность использовать электронную подпись, которая записана в реестр, не вставляя ключевой носитель. Для этого, переходим на вкладку Сервис и нажимаем Посмотреть сертификаты в контейнере.
Находим «контейнер» с признаком Реестр в колонке Считыватель и нажмем ОК.
Проверяем информацию, которая записана на сертификате, жмем Установить.
И видим, что сертификат был установлен в хранилище «Личное». Нажимаем ОК и можем теперь пользоваться ЭЦП без физического USB-носителя.
КриптоПро один из наиболее широко используемых криптопровайдеров на территории Российской Федерации, он широко используется в системах электронного документооборота, сдачи отчетности и взаимодействия с государственными органами, поэтому встретить его можно практически в любой организации. По этой причине у системных администраторов часто встает вопрос его переноса на другой ПК. А так как криптография является для многих сложной и непонятной областью, то эта простая задача может вызвать некоторые затруднения.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
В повседневной деятельности широко распространено понятие «сертификат», им оперируют все, от сотрудников удостоверяющих центров, то бухгалтеров, работающих с ЭЦП. Часто можно услышать что-то подобное: «нам купили в бухгалтерию новый компьютер, нужно перенести сертификаты». Но если подходить с точки зрения криптографии, то слово «сертификат» в данном случае употребляется неправильно. Вся современная криптография строится вокруг инфраструктуры открытых ключей (PKI), которая подразумевает наличие у каждого участника ключевой пары: открытого и закрытого ключа.
Закрытый ключ является секретным, с его помощью мы можем подписывать документы, шифровать информацию и т.д. и т.п. Закрытый ключ Усиленной квалифицированной электронной подписи (УКЭП) равнозначен нотариально заверенной подписи и его попадание в чужие руки может привести к самым тяжелым последствиям.
Открытый ключ, дополненный некоторыми дополнительными данными, выпускается в форме сертификата и является публично доступным, с его помощью можно проверить действительность цифровой подписи, выполненной закрытым ключом или убедиться в подлинности участника обмена электронными документами.
Поэтому, когда мы говорим о переносе «сертификатов», то подразумеваем необходимость перенести ключевую пару: закрытый ключ и сертификат, перенос одних только сертификатов не принесет успеха, криптография на новом узле работать не будет.
Выяснив этот момент, перейдем к хранилищам закрытых ключей. КриптоПро предполагает в таком качестве токены, флеш-накопители и системный реестр. Токены являются наиболее защищенными устройствами, извлечь закрытый ключ из них невозможно, и вы можете не опасаться несанкционированного копирования (для этого закрытый ключ должен быть помечен как неэкспортируемый). Флеш-накопители представляют некий компромисс между безопасностью и мобильностью, а реестр удобен в тех случаях, когда на одном ПК нужно одновременно работать с большим количеством ключей. И именно с ним связаны определенные сложности при переносе на другой узел.
Экспорт ключей и сертификатов
Для того, чтобы правильно экспортировать закрытые ключи, нам нужно выяснить идентификатор безопасности (SID) текущего пользователя (который работает с ЭЦП), это можно сделать командной:
Затем откроем редактор реестра и перейдем в ветку для 32-битных систем:
для 64-битных систем:
Найдем и раскроем раздел с SID текущего пользователя и экспортируем оттуда ветку Keys.
Обратите внимание, что данная ветка содержит закрытые ключи, поэтому следует принять все меры безопасности и не передавать файл экспорта по открытым каналам связи и вообще исключить к нему несанкционированный доступ посторонних лиц.
После чего скопируем все сертификаты, расположенные по пути
Это открытые ключи, никакой секретности они не представляют, поэтому просто копируем их любым доступным способом.
Импорт ключей и сертификатов
Прежде всего установим на новый узел КриптоПро, обратите внимание, что переносить ключи и сертификаты следует между одинаковыми версиями. В противном случае либо обновите версию КриптоПро на старой системе, либо установите старую версию на новой и обновите ее уже после переноса ключевых пар.
Затем снова узнаем SID пользователя, который будет работать с ЭЦП, если это текущий пользователь, то снова выполните:
В противном случае:
где Name — имя пользователя.
После чего откройте на редактирование файл реестра с экспортированными закрытыми ключами и замените в нем все вхождения старого SID на SID нового пользователя.
Сохраните файл и импортируйте его в реестр. Закрытые ключи перенесены, файл переноса в целях безопасности следует удалить.
Следующим шагом скопируйте сохраненные сертификаты в
После чего можно устанавливать и настраивать приложения работающие с криптографией, все будет работать.
Как быть если доступ к старой системе невозможен?
Теория — это хорошо, но практика может подкинуть самые неожиданные ситуации. Как быть, если доступ к старой системе невозможен? Скажем вышла из строя материнская плата или серьезно повреждена операционная система?
Все что нам нужно в таком случае — это доступ к файловой системе старой системы. Вы можете как напрямую подключить жесткий диск к новой системе, так и загрузиться при помощи консоли восстановления или любого более продвинутого инструмента, скажем MSDaRT.
С копированием сертификатов проблемы возникнуть не должно, их хранилище простая папка на диске, а вот с хранилищем закрытых ключей в реестре немного сложнее. Но не будем забывать, что системный реестр тоже хранится в файлах на диске. Вам следует любым доступным образом скопировать файл SOFTWARE из C:WindowsSystem32config
Затем на целевой системе откройте редактор реестра, перейдите в раздел HKEY_LOCAL_MACHINE и через Файл — Загрузить куст подключите скопированный из старой системы раздел реестра. Дайте ему осмысленное имя, скажем OLD_SOFTWARE.
После чего пройдите в раздел с закрытыми ключами (с учетом новой точки монтирования) и выполните экспорт ветки Keys.
Дальнейшие действия ничем не отличаются от описанных нами в разделе Импорт ключей и сертификатов.