Я пытаюсь создать сертификат, который позже буду использовать для подписи других сертификатов в процессе разработки. Я использую командлет Powershell New-SelfSignedCertificate.
Ниже приведена команда:
Я получаю следующую ошибку:
Может ли кто-нибудь помочь мне понять, какие значения я могу комбинировать / отправлять по ошибке?
- 1 ответ
- Копирование закрытого ключа через оснастку КриптоПро
- Ошибка копирования контейнера
- Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
- Почему КриптоПро не видит ключ ЭЦП
- Ошибка КриптоПро «0x80090008»
- Удаление программы
- Установка актуального релиза
- КриптоПро вставлен другой носитель
- Недостаточно прав для выполнения операции в КриптоПро
- Ошибка исполнения функции при подписании ЭЦП
- Ошибка при проверке цепочки сертификатов в КриптоПро
- Электронная подпись описи содержания пакета недействительна
- Проблемы с браузером
- Не работает служба инициализации
- Сертификаты не отвечают критериям КриптоПро
- «1С-ЭДО» не видит КриптоПро CSP
- Наш каталог продукции
- 0 — 3
- Причина
- Решение
- Введение
- КриптоПро CSP ошибка 0x80090010 Отказано в доступе
- Часто задаваемые вопросы по теме статьи (FAQ)
- Онлайн курс Внедрение и работа в DevSecOps
- Помогла статья? Подписывайся на telegram канал автора
1 ответ
Я не эксперт по сертификатам, но это может продвинуть вас вперед. Я бы предложил попробовать с другим провайдером из списка, который вы получите с:
Клиент CSP не разрешает экспорт ключейЧтобы процесс регистрации клиента генерировал и отправлял закрытый ключ в ЦС, ключ должен быть помечен как экспортируемый при создании ключа. Если в шаблоне сертификата не разрешено экспортировать ключ или сторонний CSP (если применимо) не поддерживает экспортируемые ключи, регистрация завершится неудачно, и мастер регистрации выдаст ошибку, что ключ не экспортируется. Сторонние CSP могут сообщать о различных ошибках, таких как «катастрофический сбой», когда это происходит. Если клиент Windows 2000 или Windows Millennium Edition выполняет регистрацию с архивированием ключа, может появиться следующая ошибка, если ключ не помечен для экспорта. 0x80090009 — NTE_BAD_FLAGS Примечание. Если CSP поддерживает одноразовый флаг для архивации ключей, известный как (CRYPT_ARCHIVABLE), флаг экспорта ключей не требуется. Программные CSP по умолчанию Microsoft поддерживают этот флаг. Однако клиенты Windows 2000 и Windows Millennium Edition не поддерживают этот флаг и должны разрешать экспорт ключа для регистрации для работы с архивированием ключей.
29 Янв 2017 в 04:33
Мне постоянно приходится иметь дело
с сертификатами, токенами, закрытыми ключами, криптопровайдерами и
прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные
гос органы, обращения опять же в эти органы, в том числе и физ лиц. В
общем, с этой темой рано или поздно придется познакомиться многим. Для
того, чтобы перенести все это хозяйство с одного компьютера на другой,
иногда приходится прилично повозиться, особенно тем, кто не в теме.
Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
- Перенести
или скопировать контейнер закрытого ключа через стандартную оснастку
CryptoPro в панели управления. Это самый простой и быстрый способ, если у
вас не много сертификатов и ключей. Если же их несколько десятков, а
это не такая уж и редкость, то такой путь вам не подходит. - Скопировать
сертификаты и ключи непосредственно через перенос самих исходных файлов
и данных, где все это хранится. Объем работы одинаков и для 5 и для
50-ти сертификатов, но требуется больше усилий и знаний.
Я
опишу оба этих способа, но подробно остановлюсь именно на втором
способе. В некоторых ситуациях он является единственно возможным.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые
хранятся в реестре. Если вы храните их только на токене, то переносить
контейнеры вам не надо, только сертификаты.
Копирование закрытого ключа через оснастку КриптоПро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.

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

Ошибка
копирования контейнера. У вас нет разрешений на экспорт ключа, потому
что при создании ключа не был установлен соответствующий флаг. Ошибка
0x8009000B (-2146893813) Ключ не может быть использован в указанном
состоянии.
Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему.
Отдельно
расскажу, как скопировать сертификат и закрытый ключ к нему в файл,
чтобы перенести на другой компьютер без использования токена. Штатные
возможности CryptoPro не позволяют скопировать закрытый ключ в файл.
Запускаем Internet Explorer, открываем его настройки и переходим на вкладку Содержание. Там нажимаем на Сертификаты.

Выбираем нужный сертификат и нажимаем Экспорт.

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

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

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

Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него.
В итоге у вас должны получиться 2 файла с расширениями:
- .pfx
- .cer
Вам
достаточно перенести эти 2 файла на другой компьютер и кликнуть по
каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам
достаточно будет выбрать все параметры по-умолчанию и понажимать Далее.
Сертификат и контейнер закрытого ключа к нему будут перенесены на другой
компьютер.
Я описал первый способ
переноса в ручном режиме. Им можно воспользоваться, если у вас немного
сертификатов и ключей. Если их много и руками по одному переносить
долго, то переходим ко второму способу.
Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
В
интернете достаточно легко находится способ переноса контейнеров
закрытых ключей КриптоПро через копирование нужной ветки реестра, где
это все хранится. Я воспользуюсь именно этим способом. А вот с массовым
переносом самих сертификатов у меня возникли затруднения и я не сразу
нашел рабочий способ. Расскажу о нем тоже.
Для
дальнейшей работы нам надо узнать SID текущего пользователя, у которого
мы будем копировать или переносить сертификаты с ключами. Для этого в
командной строке выполните команду:

В данном случай zerox — имя учетной записи, для которой узнаем SID.
Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра и переходим в ветку:
где S-1-5-21-4126079715-2548991747-1835893097-1000
— SID пользователя, у которого копируем сертификаты. Выбираем папку
Keys и экспортируем ее.

Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи.
Для
переноса ключей и сертификатов нам надо скопировать на другой компьютер
сохраненную ветку реестра и директорию с сертификатами My.
Открываем файл с веткой реестра в текстовом редакторе и меняем там SID
пользователя со старого компьютера на SID пользователя нового
компьютера. Можно прям в блокноте это сделать поиском с заменой.

После
этого запускаем .reg файл и вносим данные из файла в реестр. Теперь
скопируйте папку My с сертификатами в то же место в профиле нового
пользователя. На этом перенос сертификатов и контейнеров закрытых ключей
КриптоПро завершен. Можно проверять работу.
Я
не раз пользовался этим методом, на текущий момент он 100% рабочий.
Написал статью,чтобы помочь остальным, так как сам не видел в интернете
подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя
таковой получилась.
Привет ребята, клиент хочет сохранить на флэйшку сертификат через КриптоПро, но появляется ошибка: «Ошибка копирования контейнера. У вас нет разрешения на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг»
Для корректной работы с электронной подписью (ЭП, ранее — ЭЦП) достаточно соблюсти четыре условия. Во-первых, приобрести средства ЭП в удостоверяющем центре (УЦ). Во-вторых, установить лицензионное средство криптозащиты (СКЗИ, криптопровайдер). В-третьих, загрузить на рабочее место личный, промежуточный и корневой сертификаты. И, в-четвертых, настроить браузер для подписания электронных файлов на веб-порталах. Если хотя бы одно из условий не соблюдено, в процессе использования ЭП возникают различные ошибки: КриптоПро не видит ключ, недействительный сертификат, отсутствие ключа в хранилище и другие. Самые распространенные сбои и способы их устранения рассмотрим в статье.
Поможем получить электронную подпись. Установим и настроим за 1 час.
Оставьте заявку и получите консультацию.
Почему КриптоПро не видит ключ ЭЦП
КриптоПро CSP — самый популярный криптографический софт на российском рынке. Большинство торговых площадок и автоматизированных госсистем работают только с этим криптопровайдером. Программное обеспечение распространяется на безвозмездной основе разработчиком и через дистрибьюторскую сеть, а за лицензию придется платить. При покупке квалифицированной ЭП (КЭП) клиенты получают набор средств:
- закрытый и открытый ключи;
- сертификат ключа проверки электронной подписи (СКПЭП, СЭП) — привязан к открытому ключу;
- физический носитель, на который записываются все перечисленные средства.
Каждый раз, когда владельцу СЭП нужно подписать цифровой файл, он подключает USB-носитель к ПК и вводит пароль (двухфакторная идентификация). Возможен и другой путь — записать все компоненты в реестр ПК и пользоваться ими без физического криптоключа. Второй способ не рекомендован, так как считается небезопасным.
В работе с ЭП возникают такие ситуации, когда пользователь пытается заверить документ в интернете или в специальном приложении, открывает список ключей и не видит СЭП. Проблема может быть спровоцирована следующими факторами:
Ошибка КриптоПро «0x80090008»
Если версия CryptoPro не соответствует новым условиям сдачи отчетности, пользователь увидит на экране уведомление с кодом ошибки «0x80090008». Это значит, что на ПК установлен устаревший релиз программы, и его необходимо обновить. Для начала проверьте сертификат:
- Откройте «КриптоПро CSP сервис» и выберите команду «Протестировать».
- Нажмите кнопку «По сертификату» и укажите нужный файл.
При наличии ошибки в СЭП система на нее укажет.
Удаление программы
Если никаких проблем не обнаружено, ошибку неправильного алгоритма поможет устранить переустановка СКЗИ:
- Найти криптопровайдер через «Пуск».
- Выбрать команду «Удалить».
- Перезагрузить ПК.
Чтобы новая программа работала корректно, перед установкой требуется удалить все следы старой версии с помощью фирменной утилиты cspclean от CryptoPro:
- Запустить файл cspclean.exe на рабочем столе.
- Подтвердить удаление продукта клавишей «ДА».
- Перезагрузить компьютер.
Контейнеры, сохраненные в реестре, удалятся автоматически.
Установка актуального релиза
Дистрибутивы для скачивания СКЗИ размещены в разделе «Продукты» и доступны для скачивания всем авторизованным пользователям. Создание ЛК занимает не более 5 минут:
- Нажмите кнопку «Регистрация».
- Введите личные данные и подтвердите согласие на доступ к персональной информации.
В каталоге продуктов выберите версию криптопровайдера с учетом ОС, загрузите установщик на ПК, запустите его и следуйте подсказкам. При установке ПО требуется указать серийный номер лицензии (если срок действия еще не истек). Эту информацию можно уточнить в приложении к договору.
По отзывам пользователей, переустановка ПК почти всегда помогает в устранении ошибки «0x80090008». Если проблема не решена, рекомендуется написать в техподдержку разработчика или обратиться к официальному дистрибьютору, у которого вы купили лицензию.
КриптоПро вставлен другой носитель
Ошибка «Вставьте ключевой носитель» или «Вставлен другой носитель» возникает при попытке подписания электронного документа. Сначала следует убедиться, что USB-токен с сертификатом подключен к ПК (в качестве носителя используются защищенные криптоключи или обычные флешки). Токен должен соответствовать сертификату. Если носитель подсоединен к ПК, но сообщение об ошибке все равно появляется, следует переустановить сертификат через CryptoPro:
- Выбрать из списка ключевой контейнер, нажать ОК и «Далее».
- Нажать «Установить». Если появится предупреждение о том, что сертификат уже присутствует в хранилище, дать согласие на его замену.
- Дождаться загрузки сертификата в хранилище «Личное» и нажать ОК.
После переустановки рекомендуется перезагрузить ПК. Для первичной инсталляции СКПЭП применим аналогичный алгоритм действий.
Мы готовы помочь!
Задайте свой вопрос специалисту в конце статьи. Отвечаем быстро и по существу. К комментариям
Недостаточно прав для выполнения операции в КриптоПро
Ошибка сопровождается уведомлением «У компонента недостаточно прав для доступа к сертификатам». Чаще всего возникает в двух ситуациях:
Если система уведомила пользователя, что у него недостаточно прав для выполнения операции в КриптоПро, проблема может иметь следующие причины:
Browser plug-in — обязательный компонент для применения ЭП на веб-страницах. Он расширяет возможности криптопровайдера, позволяет формировать и проверять электронную подпись на интернет-ресурсах. Без этой программы, КриптоПро не сможет связаться с веб-страницей и реализовать на ней функции КЭП. Пользователи ничего не платят за этот модуль, он размещен в свободном доступе на сайте и совместим с любыми операционными системами. Как установить:
- Сохранить дистрибутив cadesplugin.exe.
- Запустить инсталляцию, кликнув по значку установщика.
- Разрешить программе внесение изменений клавишей «Да».
Появится уведомление об успешном результате. Нажмите ОК и перезагрузите браузер, чтобы коррективы вступили в силу.
Для работы с сертификатом ЭП рекомендуется использовать браузер Microsoft Internet Explorer (MIE) — для него не требуются дополнительные настройки. На завершающем этапе необходимо добавить сайт в список доверенных:
- Через меню «Пуск» (CTRL+ESC) найти продукт КриптоПро CSP.
- Зайти в настройки плагина ЭЦП Browser.
- В разделе «Список доверенных узлов» ввести адреса всех ресурсов, принимающих ваш сертификат.
Если после перезагрузки ПК проблема не решена, рекомендуется удалить плагин и выполнить повторную инсталляцию.
Подберем подходящий вид электронной подписи для вашего бизнеса за 5 минут!
Ошибка исполнения функции при подписании ЭЦП
Ошибка свидетельствует об отсутствии лицензии на продукт КриптоПро CSP. Зачастую она возникает при попытке подписать документ на торговых площадках или в информационных системах (ЕГАИС, ЖКХ, Росреестр, Госуслуги и др.).
Лицензия на криптопровайдер может быть привязана к АРМ или встроена в сертификат ЭП. В первом случае необходимо убедиться, что лицензия введена на рабочем ПК и актуальна. Срок действия можно уточнить на вкладке «Общее» в меню запущенного криптопровайдера. Если он истек, необходимо обратиться к разработчику или официальному дистрибьютору для продления или покупки новой лицензии. Во втором случае ошибка исполнения функции при подписании ЭЦП возникает при отсутствии установленного на ПК сертификата.
Ошибка при проверке цепочки сертификатов в КриптоПро
Юридически значимую документацию можно заверить электронной подписью только в том случае, если СКЗИ подтвердит надежность (доверенность) сертификата. Для этого программа проверяет цепочку сертификации (ЦС), состоящую из таких элементов:
- корневой сертификат от Минкомсвязи (начальное звено цепи), выданный УЦ;
- промежуточный сертификат УЦ (ПС);
- СКПЭП.
Правильно построенная ЦС подтверждает, что СКПЭП (конечное звено) имеет доверенный путь (от Минкомсвязи к УЦ, от УЦ к пользователю). Ошибка при проверке цепочки сертификатов в КриптоПро свидетельствует о том, что минимум один элемент в этой системе искажен. ЭП при этом считается недействительной и не принимается для подписания файлов.
- Открыть документ от Минкомсвязи на компьютере.
- В разделе «Общее» выбрать команду установки.
- Установить галочку напротив пункта «Поместить в хранилище».
- Из списка выбрать папку «Доверенные корневые центры».
- Нажать «Далее» — появится уведомление об успешном импорте.
По завершении процедуры рекомендуется перезагрузить ПК. Если сбой не устранен, переходим к промежуточному компоненту. При утере ПС его можно загрузить с официального сайта УЦ. Процесс установки такой же, как и для КС, но в качестве хранилища должно быть указано «Промежуточные центры».
После перезагрузки ПК снова зайдите в папку «Личное» и откройте СКПЭП. Если во вкладке «Путь сертификации» будет статус «Сертификат действителен» — ошибка устранена.
Электронная подпись описи содержания пакета недействительна
Одной КЭП можно сразу заверить несколько файлов. В одном письме адресат может отправлять комплект документации и отдельно к нему опись, где перечислены все файлы. Перечень документов тоже нужно визировать ЭП.
Если при попытке заверить ведомость пользователь увидит сообщение о недействительности сертификата, значит подписать основной комплект тоже не удастся. Эта ошибка распространяется на все типы файлов, а не на какой-то конкретный документ.
Причина сбоя — нарушение доверенной цепочки, о которой было сказано ранее. В первую очередь следует проверить наличие и корректность КС и ПС. Если они установлены, удалите эти файлы и загрузите снова.
Проблемы с браузером
Для заверки электронных файлов в интернете разработчик СКЗИ рекомендует использовать встроенный веб-обозреватель MIE. Но даже с ним бывают сбои. Если это произошло, зайдите в браузер под ролью администратора:
- Кликните по значку браузера на рабочем столе.
- В контекстном меню выберите соответствующую роль.
Чтобы всякий раз не предпринимать лишние действия, в настройках можно задать автоматический доступ под нужными правами. Неактуальную версию браузера необходимо обновить до последнего релиза. Также следует отключить антивирусные программы, так как многие из них блокируют работу СКЗИ, воспринимая как вредоносное ПО.
Не работает служба инициализации
Если работа сервиса инициализации Crypto Pro приостановлена, СКПЭП тоже не будет работать. Запустите командную строку клавишами Win+R:
- Введите команду services.msc.
- В разделе «Службы» выберите «Службу инициализации» и проверьте в свойствах ее активность.
Если сервис отключен, запустите его и нажмите ОК. После перезапуска ПК электронная подпись должна снова работать корректно.
Сертификаты не отвечают критериям КриптоПро
Ошибка всплывает при попытке авторизоваться в информационной госсистеме (например, «Электронный Бюджет» и др.). Пользователь видит сообщение следующего содержания:


Не все бывают в наличии, поэтому удаляйте те, что есть. Процедура не вредит системе и сохраненным файлам, но помогает не в каждом случае (обычно ошибку удается устранить при установке корневого сертификата).
«1С-ЭДО» не видит КриптоПро CSP
«1С-ЭДО» — программа для обмена электронными документами, интегрированная в учетную базу «1С». Сервис позволяет удаленно взаимодействовать с контрагентами и отправлять отчетность в надзорные органы (ФНС, ПФР, ФСС, Росстат и др.). Чтобы документы приобрели юридическую силу, их необходимо заверить квалифицированной ЭП. Если сервис «1С-ЭДО» «не видит» ключ в КриптоПро CSP, рекомендованы следующие действия:
- проверить, установлена ли на компьютере актуальная версия криптопровайдера;
- при наличии СКЗИ уточнить, соответствует ли оно той программе, которая была указана в настройках обмена с «1С».
Как проверить настройки криптопровайдера:
- Запустить сервис «1С-ЭДО».
- Нажать кнопку «Настройки».
- В подразделе «Документооборот с контролирующими органами» нажать кнопку «Здесь».
Если в поле «Криптопровайдер» указана не та программа, которая установлена на ПК (например, VipNet), поменяйте ее в настройках и сохраните клавишей ОК. Для правильной работы сервиса ЭДО рекомендуется использовать на одном АРМ только один из сертифицированных провайдеров.
Оформим электронную подпись для вашего бизнеса. Установим и настроим в день подачи заявки!
Оставьте заявку и получите консультацию в течение 5 минут.
Оцените, насколько полезна была информация в статье?
Наш каталог продукции
У нас Вы найдете широкий ассортимент товаров в сегментах кассового, торгового, весового, банковского и офисного оборудования.
Посмотреть весь каталог
0 — 3
В процессе выпуска ключевого носителя модели eToken возникает ошибка (на этапе «Создание аутентификатора»), а также возникает при выпуске на данный ключевой носитель сертификата при следующих настройках:
- На рабочей станции, где выпускается ключевой носитель, установлен программный пакет SafeNet Authentication Client () версии 10.5 или более поздней.
- (В случае выпуска сертификата) использование криптопровайдера «eToken Base Cryptogogaphic Provider» в профиле выпуска сертификата (вкладка «Ключевой контейнер», поле «Криптопровайдер для генерации ключевой пары»).
Причина
В настройках криптопровайдера «eToken Base Cryptogogaphic Provider» (в составе ) установлено ограничение (запрет) на использование ключа RSA длиной менее 2048 бит. Для решения проблемы необходимо снять данное ограничение.
Решение
На рабочей станции, где выпускается ключевой носитель, следует внести следующие изменения в настройки реестра:
- Создать (если отсутствует) раздел HKEY_LOCAL_MACHINESOFTWARESafeNetAuthenticationSACCrypto
- Создать (если отсутствует) в данном разделе строковый параметр Disable-Crypto
- Присвоить параметру Disable-Crypto значение None
Ошибки при работе с устройствами eToken при использовании SafeNet Authentication Client 10.5.175.0:



После установки SafeNet Authentication Client 10.5 по умолчанию включены опции:
- Проверка качества PIN-кода администратора.
- Ограничение на генерацию слабых ключей.
- Запрет на генерацию экспортируемых ключей.
Все ограничения возможно снять двумя способами, через GPO или редактирование реестра. В случае с редактированием реестра указаны примеры, в которых изменения затронут только компоненты Indeed CM и не будут распространены на другое ПО.
1. Проверка качества PIN-кода администратора.
PIN-код администратора должен состоять как минимум из трех групп символов и иметь длину не менее 8 символов.Группы символов: Буквы в нижнем регистре, буквы в верхнем регистре цифры и специальные символы.
Использовать настройки по умолчанию:Необходимо установить подходящий по сложности PIN-код администратора, отредактировать тип устройства или ввести токен в Indeed CM с указанием нужного PIN-кода.
2. Ограничение на генерацию слабых ключей.
В SAC 10.5 являются запрещенными или нерекомендуемыми к использованию следующие алгоритмы и функции:MD5, RC2, RC4, DES, 2DES, GenericSecret<112, RSA-RAW, RSA<2048, ECC<224, ECB, Sign-SHA1.
- Параметр: Deprecated Cryptographic Algorithms and Features
- Конфигурация компьютераАдминистративные шаблоныSafeNet Authentication Client SettingSecurity SettingsDeprecated Cryptographic Algorithms and Features
- Установить значение политики: None
Использовать настройки по умолчанию: Для RSA сертификатов необходимо установить длину ключа не менее 2048 бит.
3. Запрет на генерацию экспортируемых ключей.
По умолчанию в SAC 10.5 запрещено генерировать на устройстве экспортируемые ключи.
- Параметр: Key Management
- Конфигурация компьютераАдминистративные шаблоныSafeNet Authentication Client SettingSecurity SettingsKey Management
- Установить значение политики: Compatible
Использовать настройки по умолчанию: Не использовать экспортируемые ключи.
Все файлы групповых политик ADMX и файл реестра прикреплены к данной статье.
Криптопровайдер КриптоПро на сегодняшний день является, пожалуй, самым популярным на рынке, по крайней мере в России. Я хочу рассказать, как быстро и удобно перенести большое количество контейнеров закрытых ключей CryptoPro и сертификатов к ним. Существует штатный механизм в самой программе, работает в ручном режиме и не подходит, когда надо перенести большое количество.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти вступительный тест.
Заказать настройку ЭЦП от 500 р.
Введение
Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим. Для того, чтобы перенести все это хозяйство с одного компьютера на другой, иногда приходится прилично повозиться, особенно тем, кто не в теме. Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
- Перенести или скопировать контейнер закрытого ключа через стандартную оснастку CryptoPro в панели управления. Это самый простой и быстрый способ, если у вас не много сертификатов и ключей. Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит.
- Скопировать сертификаты и ключи непосредственно через перенос самих исходных файлов и данных, где все это хранится. Объем работы одинаков и для 5 и для 50-ти сертификатов, но требуется больше усилий и знаний.
Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты.

Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.

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

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

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

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

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

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

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

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

Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него. В итоге у вас должны получиться 2 файла с расширениями:
Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер. Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.
В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже. Для дальнейшей работы нам надо узнать 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)
Можно ли перенести сертификат, который находится на токене и защищен от копирования?
Очевидно, что предложенное в статье решение для этого не подойдет. Ведь тут идет речь о переносе сертификатов, которые хранятся в реестре, то есть уже были скопированы. Технические средства для копирования защищенных крипто контейнеров тоже существуют, но это не такое простое и очевидное решение.
Безопасно ли хранить сертификаты в реестре?
Это не безопасно и в общем случае я не рекомендую это делать. USB токены для хранения сертификатов придуманы не просто так. Они реально защищают сертификаты от несанкционированного копирования. Если у вас нет объективной необходимости копировать сертификаты в реестр, лучше этого не делать. Если вам нужно сделать бэкап сертификата на случай поломки токена, то просто скопируйте его в зашифрованный архив и сохраните на флешке.
Подойдет ли предложенный способ копирования сертификатов CryptoPro для VipNet?
Нет, не подойдет. В статье описан способ переноса сертификатов CryptoPro. Другие криптопровайдеры хранят сертификаты по-другому. Универсального способа для всех не существует.
Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.
Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.
Онлайн курс Внедрение и работа в DevSecOps
Научитесь обеспечивать безопасность в непрерывном процессе разработки и продакшена. Выбирайте и интегрируйте инструменты ИБ под свои процессы. Изучайте всё это на онлайн курсе Внедрение и работа в DevSecOps в OTUS. Обучение длится 4 месяца.
В рамках курса будут рассмотрены особенности защиты следующих видов приложений:
- Традиционные монолитные 2/3-Tier приложения.
- Kubernetes приложения — в собственном ДЦ, Public Cloud (EKS, AKS, GKE).
- Мобильные iOS и Android приложения.
- Приложения c REST API back-end.
Будет рассмотрена интеграция и использование наиболее популярных open source и коммерческих инструментов ИБ. В курсе делается упор на практику Scrum / Kanban, но подходы и инструменты могут также использоваться в традиционной Waterfall модели ведения проектов.
Смотрите подробнее программу по ссылке.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.



