Хранить ключи в памяти приложений криптопро не активна кнопка
Криптопровайдер КриптоПро на сегодняшний день является, пожалуй, самым популярным на рынке, по крайней мере в России. Я хочу рассказать, как быстро и удобно перенести большое количество контейнеров закрытых ключей CryptoPro и сертификатов к ним. Существует штатный механизм в самой программе, работает в ручном режиме и не подходит, когда надо перенести большое количество.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом "SRE практики и инструменты" в OTUS. Курс не для новичков, для поступления нужно пройти .Введение
Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это - банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим. Для того, чтобы перенести все это хозяйство с одного компьютера на другой, иногда приходится прилично повозиться, особенно тем, кто не в теме. Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
- Перенести или скопировать контейнер закрытого ключа через стандартную оснастку CryptoPro в панели управления. Это самый простой и быстрый способ, если у вас не много сертификатов и ключей. Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит.
- Скопировать сертификаты и ключи непосредственно через перенос самих исходных файлов и данных, где все это хранится. Объем работы одинаков и для 5 и для 50-ти сертификатов, но требуется больше усилий и знаний.
Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты.Копирование закрытого ключа через оснастку КриптоПро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.
Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.
Ошибка копирования контейнера
Но тут есть важный нюанс. Если во время создания закрытого ключа он не был помечен как экспортируемый, скопировать его не получится. У вас будет ошибка:
Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии. Либо вы просто не сможете его выбрать для копирования, если у вас последняя версия CryptoPro. Он будет неактивен:
Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему. Отдельно расскажу, как скопировать сертификат и закрытый ключ к нему в файл, чтобы перенести на другой компьютер без использования токена. Делаем это там же на вкладке Сервис в оснастке CryptoPro. Нажимаем Посмотреть сертификаты в контейнере.
Выбираем необходимый сертификат и нажимаем Посмотреть свойства сертификата.
Далее переходим на вкладку Состав в информации о сертификате и нажимаем Копировать в файл.
Если у вас после слов "Экспортировать закрытый ключ вместе с сертификатом" нет возможности выбрать ответ "Да, экспортировать закрытый ключ", значит он не помечен как экспортируемый и перенести его таким способом не получится. Можно сразу переходить к другому способу, который описан ниже.
Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее. В следующем меню ставьте все галочки, кроме удаления. Так вам будет удобнее и проще в будущем, если вдруг опять понадобится копировать ключи уже из нового места.
Укажите какой-нибудь пароль и запомните его! Без пароля продолжить нельзя. В завершении укажите имя файла, куда вы хотите сохранить закрытый ключ. Теперь вам нужно скопировать сам сертификат. Только что мы копировали закрытый ключ для него. Не путайте эти понятия, это разные вещи. Опять выбираете этот же сертификат в списке из оснастки Crypto Pro, жмёте Копировать в файл, экспортировать БЕЗ закрытого ключа. И выбираете файл формата .CER.
Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него. В итоге у вас должны получиться 2 файла с расширениями:
Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер. Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.
Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже. Для дальнейшей работы нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:
В данном случай user - имя учетной записи, для которой узнаем SID. Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра (regedit.exe) и переходим в ветку:
где S-1-5-21-4126888996-1677807805-1843639151-1000 - SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее. Этот путь актуален для 64-х битных систем - Windows 7, 8, 10. В 32-х битных путь может быть немного другой. Я специально не проверял, но поиском по реестру вы при желании найдете его.
Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи. Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории - C:\Users\user\AppData\Roaming\Microsoft\SystemCertificates\My. Сохраняйте эту директорию. Для переноса ключей и сертификатов нам надо скопировать на другой компьютер сохраненную ветку реестра и директорию с сертификатами My.
После того, как перенесли файлы со старого компьютера на новый, открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.
После этого запускаем .reg файл и вносим данные из файла в реестр. Теперь скопируйте папку My с сертификатами в то же место в профиле нового пользователя. На этом перенос сертификатов и контейнеров закрытых ключей КриптоПро завершен. Можно проверять работу. Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью, чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.
КриптоПро CSP ошибка 0x80090010 Отказано в доступе
Иногда после переноса контейнеров закрытых ключей через экспорт - импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:
Убедитесь так же, что новые права наследовались на дочерние ветки с самими ключами. Обычно это так, но перепроверить на всякий случай непомешает. После этого ошибка с доступом к контейнеру закрытого ключа исчезнет.
Часто задаваемые вопросы по теме статьи (FAQ)
Можно ли перенести сертификат, который находится на токене и защищен от копирования?Очевидно, что предложенное в статье решение для этого не подойдет. Ведь тут идет речь о переносе сертификатов, которые хранятся в реестре, то есть уже были скопированы. Технические средства для копирования защищенных крипто контейнеров тоже существуют, но это не такое простое и очевидное решение.
Безопасно ли хранить сертификаты в реестре?Это не безопасно и в общем случае я не рекомендую это делать. USB токены для хранения сертификатов придуманы не просто так. Они реально защищают сертификаты от несанкционированного копирования. Если у вас нет объективной необходимости копировать сертификаты в реестр, лучше этого не делать. Если вам нужно сделать бэкап сертификата на случай поломки токена, то просто скопируйте его в зашифрованный архив и сохраните на флешке.
Подойдет ли предложенный способ копирования сертификатов CryptoPro для VipNet?Нет, не подойдет. В статье описан способ переноса сертификатов CryptoPro. Другие криптопровайдеры хранят сертификаты по-другому. Универсального способа для всех не существует.
Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.
У некоторых наших клиентов иногда возникает ситуация при смене носителя ЭЦП (дискеты), когда Крипто Про ругается "Вставлено другой носитель" (Вставьте носитель).
Есть решение этой проблемы с форума Крипто Про:
http://www.cryptopro.ru/cryptopro/forum2/
Выберите тему "Крипто Про 3.0", "Выбран другой носитель".
Для удаления привязки, как правило, достаточно в панели Крипто Про CSP, на вкладке Сервис, нажать кнопку "Удалить запомненные пароли". В некоторых случаях, для удаления привязки, этих действий не достаточно. Необходимо проделать следующие действия:
1. Откройте сертификат для которого нужно удалить привязку, и на вкладке "Состав" и посмотрите поле "Отпечаток сертификата"
2. Перейдите в папку
«:\Documents andSettings\имя_текущего_пользователя\ApplicationData\Microsoft\SystemCertificates\My\Certificates»
и найдите там файл, имя которого совпадает со значением поля "Отпечаток сертификата" и удалите его.
3. Также, возможно придется удалить файл, имя которого соответствует значению поля "Идентификатор ключа субъекта" (в сертификате) из папки «:\Documents and Settings\имя_текущего_пользователя\Application Data\Microsoft\SystemCertificates\My\Keys»
По поводу описанного выше метода ничего сказать не могу, т.к. не пользовался.
Я бы лично удалял сертификат так:
1. Запускаем "C:\WINDOWS\system32\certmgr.msc"
2. Заходим Сертификаты текущего пользователя - Личные - Сертификаты
3. Удаляем от туда свой личный сертификат
(4. Устанавливаем личный сертификат заново.)
P.S. Если п.1 не сработал, тогда:
1.1. Пуск-Выполнить и ввести команду "mmc"
1.2 Ctrl+M - Добавить - Сертификаты - Моей учетной записи пользователя - Закрыть - OK
1. Сертификаты ЭЦП выпускаемые ГНИВЦ ФТС не экспортируемые и их перенос на другой носитель штатными методами невозможен. Любое копирование (дублирование, перенос и т.п.) носителя в данном случае неправомерны.
2. Флешка не может быть носителям ЭЦП, т.к. не аттестована для этих целей ФСТЭКом. Вместо неё может использоваться ключ eToken (внешне похож на обычную флешку) из модельного ряда имеющего вышеупомянутый аттестат и поддерживаемого ГНИВЦ ФТС.
Флешка не может быть носителям ЭЦП, т.к. не аттестована для этих целей ФСТЭКом. А дискета разве аттестована? Вообще непонятно, её скопировать - дело двух минут. разницы между дискетой и флешкой не вижу в плане защиты. *задумчиво чешет затылок* Совершить правонарушение можно и намного быстрее, чем за 2 минуты. Главный вопрос надо ли это делать?warner писал(а): разницы между дискетой и флешкой не вижу в плане защиты.
Разница только в наличие сертификата. У флешки его нет.
И все-таки вопрос не решен. У меня ноутбук, естественно без флоппи дисковода. Для ЭЦП, мне теперь надо запросить у айтишников внешний флоппи дисковод или дать им ссылку на данную тему и пусть ваяют из флешки флоппик. Наталья Самара писал(а): И все-таки вопрос не решен. У меня ноутбук, естественно без флоппи дисковода. Для ЭЦП, мне теперь надо запросить у айтишников внешний флоппи дисковод или дать им ссылку на данную тему и пусть ваяют из флешки флоппик.Наталья, есть два варианта решения проблемы:
1. Аннулировать ЭЦП на дискете, и заказать её перевыпуск на носителе типа eToken
2. Оснастить Ваш ноутбук USB дисководом
AndrewT писал(а): У некоторых наших клиентов иногда возникает ситуация при смене носителя ЭЦП (дискеты), когда Крипто Про ругается "Вставлено другой носитель" (Вставьте носитель).
Есть решение этой проблемы с форума Крипто Про:
http://alta.ru/openhead_fm.php?url=http . ro/forum2/
Выберите тему "Крипто Про 3.0", "Выбран другой носитель".
Для удаления привязки, как правило, достаточно в панели Крипто Про CSP, на вкладке Сервис, нажать кнопку "Удалить запомненные пароли". В некоторых случаях, для удаления привязки, этих действий не достаточно. Необходимо проделать следующие действия:
1. Откройте сертификат для которого нужно удалить привязку, и на вкладке "Состав" и посмотрите поле "Отпечаток сертификата"
2. Перейдите в папку
«:\Documents andSettings\имя_текущего_пользователя\ApplicationData\Microsoft\SystemCertificates\My\Certificates»
и найдите там файл, имя которого совпадает со значением поля "Отпечаток сертификата" и удалите его.
3. Также, возможно придется удалить файл, имя которого соответствует значению поля "Идентификатор ключа субъекта" (в сертификате) из папки «:\Documents and Settings\имя_текущего_пользователя\Application Data\Microsoft\SystemCertificates\My\Keys»
Станислав, не могли бы Вы привести более надёжный источник чем международный блог энциклопедистов?
Поясню. ЭЦП используется не только в ЭД. Наш банк, например, рекомендует переносить эцп с дискеты на флэшку(всвязи с большей надёжностью этого носителя). Хотя конечно это всего-лишь банк.
Статья 3
средства электронной цифровой подписи - аппаратные и (или) программные средства, обеспечивающие реализацию хотя бы одной из следующих функций - создание электронной цифровой подписи в электронном документе с использованием закрытого ключа электронной цифровой подписи, подтверждение с использованием открытого ключа электронной цифровой подписи подлинности электронной цифровой подписи в электронном документе, создание закрытых и открытых ключей электронных цифровых подписей;
Хотя конечно в России закон что дышло, и интерпретировать можно очень широко в рамках неопределённости определений закона
Статья 4. Условия признания равнозначности электронной цифровой подписи и собственноручной подписи
1. Электронная цифровая подпись в электронном документе равнозначна собственноручной подписи в документе на бумажном носителе при одновременном соблюдении следующих условий:
сертификат ключа подписи, относящийся к этой электронной цифровой подписи, не утратил силу (действует) на момент проверки или на момент подписания электронного документа при наличии доказательств, определяющих момент подписания;
подтверждена подлинность электронной цифровой подписи в электронном документе;
электронная цифровая подпись используется в соответствии со сведениями, указанными в сертификате ключа подписи.
Которое из условий нарушается при использование для хранения закрытого ключа "несертифицированного" носителя информации?
Что касается "Сертификаты ЭЦП выпускаемые ГНИВЦ ФТС не экспортируемые и их перенос на другой носитель штатными методами невозможен." - извините, но это не соответствует действительности(я уверен что Вам это известно). В случае использования в качестве носителя ключа обычного накопителя не имеется абсолютно никаких технических проблем для переноса файлов ключа на другой носитель(штатными средствами операционной системы).
А вот вопрос юридической правомерности хотелось бы чтобы был раскрыт квалифицированно(с конкретными ссылками на нормативные акты), т.к. бывают ситуации когда даже просто передача носителя декларанту проблематична, не говоря уже о смертности дискет.
Кстати, последняя наша заявка на ЭЦП уже дней двадцать находится в подвешенном состоянии - даже перечень не можем получить чтобы подписать и передать в Альту, говорят очень большой поток заявок(что характерно, только что упало письмо с перечнем ). Теперь мысленно представим что накрылась активно используемая дискета с потписью. Про повреждения более надёжных токенов тут тоже где-то было, так что не панацея. А вот резервная копия закрытого ключа, это да. Скончалась дискета, скопировал на новую и дальше в бой.
Такую ошибку несложно устранить без вызова специалиста или обращения в службу поддержки. Алгоритм действий, направленных на решение этой проблемы, приводится ниже.
Что может послужить причиной такой ошибки
- установка сертификата впервые;
- экспортирование данных на внешний носитель;
- попытка просмотра ключей в контейнерах ключей;
- загрузка информации на компьютер извне.
В целях устранения ошибки обычно бывает достаточно произвести корректную ручную переустановку сертификата.
Решение ошибки: отсутствие электронного сертификата в контейнере закрытого ключа
Для начала запускаем «КриптоПро» нажатием кнопки «Пуск». Затем выбираем «Настройку», в возникающем на мониторе окне заходим в опцию панели управления, далее «сервис – установить личный сертификат».
Далее, через кнопку «обзор» указываем путь, где сохранен открытый ключ – файл с расширением *.cert или *.crt
Жмём «Далее», в мастере установки сертификата мы увидим путь, который указывали до нашего сертификата.
Нам отображается информация, содержащаяся в открытом ключе на пользователя, жмём «далее»
В следующем окне можно воспользоваться двумя путями поиска нужного контейнера закрытого ключа:
- «найти контейнер автоматически
- вручную через «обзор»
В первом случае КриптоПро на основе данных из открытого ключа подберет закрытый, в случае с ручным поиском нужно будет знать название закрытого ключа, чтобы выбрать его для установки
Самый простой вариант выбрать автоматический поиск, затем после «обнаружения» необходимого контейнера, мы увидим заполненную строчку с его именем и после жмём «Далее»
Личный сертификат пользователя всегда устанавливается в хранилище «Личное», можно выбрать как вручную, так и КриптоПро может сделать это за вас по умолчанию, затем подтверждаем установку цепочки сертификатов и жмём «Далее»
В случае успешной установки КриптоПро выдаст окно с информацией об окончании процедуры и жмём «Готово»
Затем появится окно с подтверждением данной операции, жмём «ДА»
В следующем окне увидим информацию о том, что процесс окончен успешно. Сертификат установлен в контейнер закрытого ключа.
Особенности версий КриптоПро
С января 2019 года квалифицированные сертификаты могут выпускаться только по ГОСТ 2012, выпуск по другому ГОСТу прекращен. Мы об этом писали ранее в статье. Важно помнить, что версии криптопро на ГОСТ 2012 работают только с версии 4.0 и выше. Все старые версии КриптоПро, для нормальной работы, потребуется обновить или заменить на актуальную. Сделать это нужно не позднее 31 декабря 2019 года.
КриптоПро ЭЦП Browser plug-in — является встраиваемым модулем в КриптоПро CSP и используется для создания и верификации ЭП на веб-страницах. Соответственно, плагин дополняет КриптоПРо ЭП. Чтобы купить программу КриптоПро CSP и дополнительные модули в SoftMagazin, необходимо определиться с нужным типом лицензии.
Как установить электронную подпись КриптоПро
Для установки электронной подписи необходим контейнер с ключевой информацией (флешка, RuToken и другие). Программа КриптоПро CSP должна быть установлена на компьютере. Запустив ПО, во вкладке Сервис необходимо нажать на кнопку «Посмотреть сертификаты в контейнере». После этого подключить накопитель с контейнером. Выбрав ключевой контейнер, необходимо будет ввести пин-код.
В информационном окне появятся данные о сертификате, если они соответствуют нужным, выберите Свойства. Перейдя во вкладку общие нужно будет нажать на кнопку «Установить сертификат» и выбрать личное хранилище. Стоит убедиться также в наличии корневого сертификата. Эти этапы составляют основные шаги по установке ЭП. Далее потребуется работа с Outlook, Microsoft Word и другими программами.
Установка контейнера КриптоПро
Для установки контейнера должен быть установлен и верифицирован сертификат в Личном Хранилище/Кабинете. После это нужно выполнить действия, описанные выше.
Для самостоятельного создания ключевого контейнера одним из вариантов будет создание тестового варианта на сайте тестового Удостоверяющего Центра. Здесь можно получить сертификат открытого ключа проверки ЭП. Для этого необходимо будет создать открытый и закрытый ключи и данные подтверждающие связь сертификата и его владельца.
Как установить ключ в КриптоПро
При использовании большого количества на одном ПК электронных подписей, может возникнуть надобность установить ключ в реестр КриптоПро (скопировать). Для этого необходимо подключить съемный носитель с реестром КриптоПро. Открыв ПО через меню Пуск нужно будет выбрать вкладку Оборудование и нажать на «Настроить считыватели». Реестр может быть виден сразу, если его нет, потребуется создать через Мастер Установки Считывателей.
Чтобы скопировать ключ ЭЦП, нужно зайти в программе во вкладку Сервис. Выбрав «Скопировать», выбираем подключенный носитель в окне обзора. Затем потребуется ввести пароль контейнера, задать ему имя и нажать «Готово». Следует выбрать наименование Реестр и придумать новый пароль для контейнера. После копирования контейнера не забудьте установить личный сертификат в хранилище.
Как установить контейнер закрытого ключа в КриптоПро
Для установки контейнера закрытого ключа потребуется перейти на вкладку Сервис и выбрать пункт «Скопировать контейнеры». Вставив накопитель с ключевым контейнером, нужно будет его выбрать в окне обзора. Выбрав контейнер и нажав «Ок», нужно будет задать имя контейнера. Затем в окне выбора считывателя потребуется выбрать устройство и создать пароль.
Установить Рутокен в КриптоПро
Благодаря использованию Рутокен можно надежно защитить информацию от несанкционированного доступа. Защищенная файловая система сохранит в безопасности данные благодаря криптографическому шифрованию. Создано специально ПО, которое объединяет возможности двух программ — КриптоПро Рутокен CSP. Объединив идентификатор и СКЗИ получился надежный модуль, на котором можно безопасно хранить данные.
Так как все действия выполняются внутри ключа-идентификатора и протокол обмена данными защищен уникальной технологией, рационально использовать подобный дистрибутив при работе с электронными документами высокой важности. Если использовать отдельно Рутокен, необходимо прежде всего установить драйвера на ПО. Нельзя подключать идентификатор до установки драйверов. После инсталляции потребуется установка модулей поддержки для КриптоПро. Пройдя этапы подготовки, можно подключать ключ Рутокен. Затем следует запустить программу КриптоПро и во вкладке Оборудование настроить считыватели. Для работы идентификатора нужно выбрать пункт «Все считыватели смарт-карт» и нажать «Далее».
Как установить КриптоПро ЭЦП Browser plug-in
Для того чтобы установить КриптоПро ЭЦП Browser plug-in потребуется один из современных браузеров, который должен быть установлен на компьютере. Необходимо найти установочный файл и запустить его. Следуя указания Мастера Установки выполнить все этапы установки. После этого необходимо будет перезайти в веб-браузер. При новом запуске браузера должна появиться информация, что плагин загружен. Если требуется установить плагин для UNIX-платформ, обязательно потребуется установка пакета cprocsp-rdr-gui-gtk.
Читайте также: