- Подготовка к работе по копированию ключа
- Изучение содержимого статьи
- Что такое рутокен
- Проблема с сертификатом в контейнере закрытого ключа
- Копирование ключа с рутокена
- Что такое закрытый ключ ЭП
- Внимательно читайте комменты
- Утилита проверки Рутокенов версии 3.4.2
- Сертфикс 1.1.27.3154
- AndrewAks Сейчас в теме
- Извлечение ключа
- После введения команды задаем пароль для ключа.
- Извлечение сертификата
- Объединение ключа и сертификата в хранилище .p12
- Что делать, если ошибка об отсутствии сертификатов в контейнере закрытого ключа не исчезла
- Экспорт сертификата из КриптоПро CSP
- В контейнере закрытого ключа отсутствуют сертификаты
- Копируем с помощью утилиты
- Как экспортировать открытый ключ и сертификат
- Экспорт сертификата через свойства обозревателя
- Копируем рутокен на компьютер или флешку
- Используем КриптоПро CSP
- Проверяем ключ на не экспортируемость
- Важно помнить!
- Что произойдет, если ваша электронная подпись попадет в руки злоумышленников?
Подготовка к работе по копированию ключа
Прежде чем приступить к работе по копированию ключа, подготовьте необходимые элементы:

Изучение содержимого статьи
Из нашей статьи вы узнаете:
- Что такое рутокен
- Что делать, если возникает проблема с сертификатом в контейнере закрытого ключа
- Как скопировать ключ с рутокена
Что такое рутокен
Рутокен – это сертифицированный накопитель с дополнительной защитой для конфиденциальных данных. На один рутокен можно сохранить до тридцати подписей, в зависимости от его объема памяти.
Обычная флешка не подходит для хранения подписи в силу недостаточной защиты. Ее лучше использовать только для временного хранения и переноса подписи на другой рутокен.
Проблема с сертификатом в контейнере закрытого ключа
Часто при использовании сертификатов ЭП через КриптоПро CSP возникает ошибка об отсутствии сертификата в контейнере закрытого ключа. Эту неисправность можно попытаться устранить самостоятельно или обратившись к специалисту.
Копирование ключа с рутокена
Поскольку передача рутокена не всегда возможна, а также копирование ключа ФНС запрещено, возникает вопрос о том, как скопировать ключ с рутокена. В этой статье мы расскажем о методах экспорта открытого и закрытого ключей электронной подписи при помощи Windows или КриптоПро CSP.
Что такое закрытый ключ ЭП
Контейнер ключей электронной подписи состоит из открытого, закрытого ключа и сертификата, созданных криптографическими алгоритмами. Для работы с квалифицированной электронной подписью важно использовать оба ключа, каждый выполняет свою функцию.
Важно! Ключи, полученные в аккредитованных удостоверяющих центрах, могут храниться только на токенах. ФНС записывает ключи только на токены и не предусматривает их копирование. Ключи, полученные в налоговой, экспортированию на другие носители не подлежат.
Закрытый ключ представлен в виде уникального набора символов, которые используются криптографическим алгоритмом для создания электронной подписи в электронном документе.
Владелец электронной подписи использует именно закрытую часть для подписания электронных документов. Любой, кто получает доступ к закрытому ключу электронной подписи, может им воспользоваться. Поэтому его хранят на защищённых носителях: смарт-карте, токене, USB-носителе или дискете.
Хранить закрытый ключ можно на компьютере, однако это небезопасно — воспользоваться им сможет любой, кто имеет доступ к компьютеру. Самым защищённым носителем считается смарт-карта, так как на ней используется двухфакторная аутентификация.
Закрытый ключ хранится в контейнере. В формате КриптоПро контейнер представлен в виде папки, которая содержит несколько файлов с расширением .key. Випнет имеет другой формат, в нём контейнер представлен в виде единственного файла без расширения.
## Что такое открытый ключ ЭЦП
Открытая часть ключевой пары ЭЦП представляется в виде электронного сертификата или бумажного документа. Сертификат выдаётся только удостоверяющим центром и содержит информацию, которая используется для проверки подписи владельца и шифрования данных.
ЭЦП — это устаревшее понятие. Расшифровывается как электронная цифровая подпись. В настоящее время используется более ёмкое название ЭП, которое расшифровывается как электронная подпись.
Открытый ключ можно использовать для работы с партнёрами, в отличие от закрытого, который хранится в защищённом месте. Контрагенты могут использовать открытый ключ владельца для шифрования данных, которые ему посылают. Это означает, что после отправки этих данных получить доступ к ним сможет только владелец закрытой части ключа.
Сертификат содержит в себе следующие данные:
.png)
Электронный сертификат виден на обычных носителях в виде файла с расширением .cer, а на защищённых картах Рутокен, eToken и JaCarta его можно посмотреть с помощью криптопровайдера или драйвера носителя.
Открытый ключ позволяет проверить электронную подпись под документом, в отличие от закрытого ключа, который нужен для создания электронной подписи. Доступ к закрытому ключу имеет только владелец, а открытый ключ доступен всем участникам электронного взаимодействия. Сертификат ЭП даёт возможность идентифицировать владельца.
## Экспортировать неэкспортируемый сертификат с рутокена
Небольшая заметка как экспортировать неэкспортируемый ключ с Rutoken
Внимательно читайте комменты
Если при создании ЭЦП не был установлен флаг дающий возможность экспортировать ключ, то при попытке скопировать ключ с Rutoken через КриптоПро у вас появится Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг.
Но скопировать его все равно можно – для этого понадобится специальное ПО:
Утилита проверки Рутокенов версии 3.4.2
Сертфикс 1.1.27.3154
При помощи утилиты проверки Рутокенов версии 3.4.2 вы сможете экспортировать ключ с Рутокен на флешку или реестр.
После чего при помощи помощи Сертфикс 1.1.27.3154 вы сможете снять блокировку зажав клавишу Shift и кликнув по нужному сертификату правой кнопкой мыши выбрав пункт активации экспорта согласно вашему новому месту хранения выбранного в утилите проверки Рутокенов.
Важным моментом является то, что версия Сертфикс выше 1.1.27.3154 может быть программно ограничена на возможность сделать сертификат некоторых удостоверяющих центров экспортируемым.
Обновление программа проверяет при запуске, поэтому чтобы обновление не загрузилось необходимо заблокировать доступ в интернет для нее через брандмауэр Windows.
Как заблокировать приложение читайте в Блокировка приложения в Брандмауэр Windows
AndrewAks Сейчас в теме
Возникла такая проблема: Windows server 2019 На сервере установлен КриптоПро CSP 5.0.12600 серверная лицензия. Установлен контейнер с подписью на флешке. Сертификат установлен в систему. Все это сделано из-под пользователя, под которым работает сервер 1С 8.3.2239 x64, базы УТ 10.3.79.1, БП 3.0.143.32 в которых настроен 1С:ЭДО на два предприятия.
Несколько дней назад один из сертификатов закончился, выдали новый на Rutoken Lite с запретом экспорта, который я благополучно скопировал на флешку утилитой проверки рутокенов 3.4.2. При этом на сервере на последний месяц никаких изменений ни с сертификатами, ни с политиками доступа не происходило. Никакой новый софт не устанавливался.
Сертификат установился нормально, тестирование в КриптоПро проходит успешно, а вот в 1С начались траблы, ошибка в УТ 10.3 при проверке сертификата: Код ошибки 113. Не удалось выполнить операции шифрования/расшифровки на сервере. Ошибка при получении свойства сертификата (0x00000000).
Ошибка в БП 3.0 типовой при проверке сертификата: Ошибка при получении свойства сертификата (0x00000000).
Обычно это означает, что указан неправильный пароль доступа к закрытому ключу, но никакого пароля на ключе нет. Я пробовал стандартные пароли, это ничего не изменило.
На сайте 1c-edo есть описание причин ошибки и варианты исправления, но они не сработали.
- Удаление контейнера и сертификата и их повторная установка не дали результатов
- Рестарт сервера с очисткой кэша сервера/пользователя не дал результатов
- Обновление платформы до версии 8.3.22.2283 также не дало результата, так же как и до версии 8.3.21.1895
- Проверка и полное переформатирование флешки в FAT32 ничего не изменили
- Полная переустановка КриптоПро (дважды с использованием утилиты для полного удаления с последующей перезагрузкой).
Звонил в техническую поддержку 1С ЭДО, консультировался с их специалистом, который рекомендовал полностью переустановить КриптоПро, что не принесло результатов.
Со вторым сертификатом проблем не возникает, всё работает.
Может кто-то сталкивался с подобной ситуацией? Или есть идеи, что ещё можно попробовать предпринять? (кроме перевыпуска сертификата, так как с ним всё в порядке, по-видимому)
Закрытый ключ КриптоПро CSP представляет собой флеш-накопитель, на котором в директории xxxxx.000 находятся файлы primary.key, primary2.key, masks.key, masks2.key, name.key и header.key.
Эти ключи могут быть прочитаны только программой CryptoProJCP, для пользования которой требуется серверная лицензия стоимостью 120 тыс. рублей.
Нашей задачей является получение контейнера .p12 с минимальными затратами.
С контейнером .p12 можно работать из Java, например, с помощью библиотеки BouncyCastle.
Но это уже материал для следующей статьи.
Для экспорта ключа нам пригодится отличная утилита P12FromGostCSP, которая позволяет конвертировать ключ в формат .pfx
Вставляем флешку, запускаем утилиту, выбираем ключ для конвертации. Затем указываем пароль для хранилища, и на выходе получаем хранилище в формате .pfx
Однако, это только начало, так как после конвертации контейнер все еще недоступен для чтения из Java.
Далее нам потребуется использовать OpenSSL для извлечения закрытого ключа и сертификата и помещения их в хранилище .p12
Однако возникает проблема – OpenSSL изначально не поддерживает алгоритм ГОСТ 2012. Для этого нам потребуется версия OpenSSL с добавлением gost engine (ссылка здесь). Необходимо установить это дополнение, следуя инструкциям, скомпилировав его из исходного кода.
Мы можем воспользоваться Docker-контейнером, в котором уже установлен OpenSSL с добавлением для работы с алгоритмом ГОСТ 2012.
Ссылка на статью с описанием работы с этим Docker-образом: Docker-образы с поддержкой ГОСТ-сертификатов в OpenSSL, curl, PHP, Nginx
Для начала, запустим этот Docker-контейнер, пробросив папку tmp. В этой папке мы будем выполнять преобразования.
docker run -v c:/tmp:/usr/tmp --rm -i -t rnix/openssl-gost bash
Извлечение ключа
openssl pkcs12 -in gost.pfx -out gost.key -nocerts
После введения команды задаем пароль для ключа.
Извлечение сертификата
openssl pkcs12 -in gost.pfx -out gost.cer -nokeys
Объединение ключа и сертификата в хранилище .p12
openssl pkcs12 -export -inkey gost.key -in gost.cer -out gost.p12 -name prod
P.S. Если тема интересна, напишу статью как сделать сервис на spring boot, который будет подписывать файлы и сообщения с помощью ключа и сертификата в .p12 контейнере по алгоритму ГОСТ 2012.
Спасибо за внимание 🙂
С 1 января 2022 года ЭЦП на директоров юридических лиц и ИП выдаются в ФНС на носителе Рутокен. Не всегда есть возможность использовать носитель при подписании документов (много бухгалтеров кто подписывает, используется терминальный сервер, виртуальные сервера, множество юр.лиц и тд.). Раньше можно было скопировать ЭЦП с токена в реестр (файл) и подписывать с помощью него, но сейчас при выдачи ключа в ФНС стоит запрет на копирование закрытого ключа.
рутокен с оригиналом ключа; второй рутокен второй контейнер (флешку) куда будет записана копия ключа.
Что такое рутокен

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

зайдите в «КриптоПро»; для проверки ключа выберете вкладку «Сервис» и нажмите «Протестировать»;

выберете сертификат; далее в открывшемся окне смотрим, действительно ли запрещен экспорт ключа. В большинстве случаев напротив строки «Экспорт ключа» стоит статус «Запрещен» (при попытке скопировать такой ключ, система выдаст сообщение об ошибке).

Лайфхак! Если у вас уже закончилась ЭЦП и вы планируете выпускать новую подпись, то приобретите пустой Rutoken Lite, и на него запишите новую подпись, чтобы в дальнейшем можно было без проблем сделать экспорт ключа
Копируем рутокен на компьютер или флешку Итак, вы выяснили, что ключ имеет статус «Не экспортируемый», но скопировать его нужно. Можно действовать следующими методами:
воспользоваться утилитой Tokens.exe; задействовать КриптоПро CSP; Копируем с помощью утилиты Этот метод также позволяет перенести не экспортируемый ключ на флэшку или скопировать на ПК.
Tokens.exe – является утилитой, которая позволяет копировать ключи с рутокена, имеющие статус «не экспортируемый». Для корректного функционирования программы специалисты рекомендуют устанавливать три дополнения, идущие в комплекте с утилитой.
Рутокен (старый несертифицированный), Рутокен S, Рутокен Lite — поддерживаются;
Рутокен ЭЦП 2.0, JaCarta LT, ESMART Token ГОСТ — не поддерживаются.
после того, как скачали Tokens.exe и необходимые дополнения, нужно распаковать архив;

подготовьте новый рутокен и чистую флешку, подключите их к ПК; запустите утилиту проверки Рутокенов;

в открывшемся окне, выберете нужный сертификат и нажмите на кнопку «Экспорт»;

в качестве объекта для экспорта укажите путь к флэшке либо локальный диск компьютера, отличный от системного; Выбираем флешку. Обязательно сохраняем в корень!

Вводим новое имя контейнера:
После сохранения на флешке будет создан каталог с ключами из Рутокен:

теперь можно убрать рутокен из ПК и оставить только флешку.
Совет: На данном этапе вы уже можете использовать вашу ЭЦП на компьютере без рутокена. Для этого вам останется только установить ключ, через КриптоПро CSP.
Запускаем из архива утилиту: CertFix.001069.exe. Эта программа умеет снимать защиту с ключей на файловом носителе. Выбираем нужный контейнер, который на флешке и нажимаем по нему правой кнопкой мышки с зажатой кнопкой Shift (Shift + Прав.клик):

Снятие защиты с ключей на файловом носителе
В появившимся меню выбираем пункт: Сделать экспортируемым (файловая система). После этого защита на копирование будет снята с контейнера на флешке. В колонке Экспорт, сменится надпись с красной «DENIED» на зеленную «ALOWED»:


Копирование ключа в реестр
Готово! Теперь можно пользоваться копией ключа, размещенной в реестре.
Используем КриптоПро CSP
КриптоПро 4.0 R4 4.0.9963 — КриптоПро 5.0.11455 — КриптоПро 5.0 12000
Перенести ЭЦП на ПК или флешку поможет сервис КриптоПро CSP.
откройте панель управления и найдите КриптоПро CSP; запустите ее кнопкой «Пуск»; перейдите в раздел «Сервис»;

нажмите кнопку «Просмотреть сертификаты в контейнере»; во вкладке «Обзор» нужно выбрать носитель;

нажмите «Ок», чтобы подтвердить выбор; подтверждаем продолжение работы кнопкой «Далее» (возможно, потребуется ввести PIN-код, он обычно простой — 12345678, либо номер КПП вашей организации);


жмем «Далее»; выбрать «не экспортировать закрытый ключ»;

формат DER X.509;

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







В контейнере закрытого ключа отсутствуют сертификаты
Рассмотрим, почему появляется ошибка. Всплывающее окно с сообщением «В контейнере закрытого ключа отсутствуют сертификаты» появляется на экранах пользователей в случаях, когда система не смогла обнаружить соответствующий ключ на носителе.
Пример ошибки «В контейнере закрытого ключа отсутствуют сертификаты»
Ключевым носителем может быть жёсткий диск компьютера, реестр ПК или токен. От скачка напряжения, резкого выключения ПК, например, при аварийном выключении света, или от внешних ударов файлы могут повредиться. В результате чего система теряет доступ к ключам и делает работу с электронной подписью невозможной.
Также ошибка об отсутствии сертификатов в контейнере может быть связана со сбоем программного обеспечения. В этом случае файлы остаются целыми, но система их не видит и сообщает пользователю, что они недоступны.
Копируем с помощью утилиты
Далее нужно убрать статус «Экспорт запрещен». Для этого понадобится еще одна программа CertFix.000032.exe. Качаем ее и устанавливаем на ПК.
Действуем следующим образом:
Как экспортировать открытый ключ и сертификат
В программном обеспечении компьютера нет отдельного функционала экспорта открытого ключа. Но значение открытого ключа содержатся в сертификате. Поэтому пользователю достаточно экспортировать только сертификат. Делается это через свойства обозревателя либо из криптопровайдера КриптоПро CSP. При этом носитель с ключом должен быть подключён к компьютеру.
Экспортировать открытый ключ электронной подписи можно только вместе с закрытым ключом.
Экспорт сертификата через свойства обозревателя



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


Используем КриптоПро CSP
Окно об ошибке отсутствия сертификатов в контейнере закрытого ключа всплывает при следующих процессах:
В целях устранения ошибки отсутствия сертификатов в контейнере закрытого ключа достаточно переустановить сертификат вручную.
Важно! На токене или компьютере можно хранить только те ключи, которые были получены в коммерческих аккредитованных удостоверяющих центрах или созданы самостоятельно. Файлы ЭП, записанные в удостоверяющем центре ФНС, неэкспортируемы. Перенести их на другие носители не получится.
Проверяем ключ на не экспортируемость
Такая ошибка встречается на сайте ФНС. Причиной может быть пропуск этапа подписания документа. Чтобы её устранить потребуется выполнить следующие действия:
О том, как добавить контейнер при установке сертификата в СКЗИ, мы рассказывали в нашей статье.
Чтобы установить электронную подпись на MacOS, нужно установить СКЗИ, драйверы для токена, сертификаты подписи и настроить браузер. Более подробно с каждым этапом можно ознакомиться в нашей статье
Статус «Нет привязки к закрытому ключу» может появляться, если: истёк срок действия лицензии КриптоПро. Обычно пользователь скачивает бесплатную версию и забывает о дате её окончания. Также стоит обратить внимание на заявленные требования информационной системы, в которой нужно подписать документ или авторизоваться. Например, для личного кабинета налогоплательщика сайта ФНС можно использовать браузер Internet Explorer не ниже 11 версии, а подписывать документы разрешено только квалифицированной электронной подписью.
Переустановка сертификата подписи может решить и другие ошибки, такие как:
Важно помнить!
Электронная подпись – это аналог собственноручной подписи для подписания электронных документов.
Что произойдет, если ваша электронная подпись попадет в руки злоумышленников?
Чтобы устранить ошибку об отсутствии сертификатов в контейнере закрытого ключа, необходимо выполнить следующие действия:








После установки сертификата нужно ещё раз воспользоваться подписью, чтобы убедиться в отсутствии ошибки.
