Меню

P12utility произошла ошибка при экспорте


Offline

aleksey1912

 


#1
Оставлено
:

5 мая 2016 г. 18:19:08(UTC)

aleksey1912

Статус: Участник

Группы: Участники

Зарегистрирован: 16.10.2014(UTC)
Сообщений: 19
Российская Федерация
Откуда: Нижний Новгоро

Сказал(а) «Спасибо»: 9 раз

В КриптоПро CSP существует возможность экспортировать сертификат и ключ в файл p12/pfx.
Хотелось бы просмотреть этот файл с помощью утилиты openssl.
Но она его не понимает, точно так же как КриптоПро CSP не понимает файлы p12, в которые упакован закрытый ключ и сертификат посредством openssl.

То есть у меня не получится ГОСТовые ключи сгенерированные в openssl сконвертировать в p12 и установить к себе в Windows, чтобы работать с ними через КриптПро CSP?
Подскажите пожалуйста как поступать?
Или вариант только один выполнять запрос на сертификат на клиентской машине с Windows и подписывать его в openssl?
Спасибо.


Вверх


Offline

Максим Коллегин

 


#2
Оставлено
:

5 мая 2016 г. 18:21:23(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

Формат нашего pfx отличается от p12, но использовать ключи openssl получится. Недавно мы выложили утилиту с подобным функционалом:
https://www.cryptopro.ru/downloads
Утилита для импорта транспортных контейнеров PKCS#12 в контейнеры КриптоПро CSP:

Утилита предназначена для импорта транспортных контейнеров ключей ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012, соответствующих формату PKCS#12 (с учетом Рекомендаций по стандартизации ТК 26), в контейнеры КриптоПро CSP.
p12tocp.zip

Отредактировано пользователем 5 мая 2016 г. 18:22:47(UTC)
 | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW

thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.

aleksey1912

оставлено 05.05.2016(UTC)


Offline

aleksey1912

 


#3
Оставлено
:

5 мая 2016 г. 18:45:02(UTC)

aleksey1912

Статус: Участник

Группы: Участники

Зарегистрирован: 16.10.2014(UTC)
Сообщений: 19
Российская Федерация
Откуда: Нижний Новгоро

Сказал(а) «Спасибо»: 9 раз

Подскажите пожалуйста, возможно я делаю что-то не так.
Пытаюсь выполнить команду получаю:
C:UsersalekseyDesktop>p12utility.x64.exe -p12tocp -rdrfolder I: -contname My
Cont -sg -passp12 123 -infile C:sert12111.p12 -provtype 75
Ошибка при открытии ключевого контейнера PKCS#12.
При выполнении операции произошла ошибка.

Формировал контейнер вот так
openssl pkcs12 -engine gost -export -in demoCA/newcerts/06.pem -inkey privkey.pem -certfile demoCA/cacert.pem -name «ExportFile» -out sert12111.p12

Алгоритм подписи ГОСТ Р 34.11/34.10-2001

Отредактировано пользователем 5 мая 2016 г. 18:48:37(UTC)
 | Причина: Не указана


Вверх


Offline

aleksey1912

 


#4
Оставлено
:

6 мая 2016 г. 11:49:15(UTC)

aleksey1912

Статус: Участник

Группы: Участники

Зарегистрирован: 16.10.2014(UTC)
Сообщений: 19
Российская Федерация
Откуда: Нижний Новгоро

Сказал(а) «Спасибо»: 9 раз

Не подскажете в чем может быть проблема, возможно нужно какие-то еще данные от меня, могу переслать.
Контейнер в openssl читается нормально.

openssl pkcs12 -in cert12.p12

Enter Import Password:
MAC verified OK
Bag Attributes
localKeyID: 81 6D C5 13 EB 9A F2 EB 59 35 00 D7 7C C0 CF 2B C0 B3 BF DF
subject=/C=RU/ST=xD0x9DxD0xB8xD0xB6xD0xBDxD0xB8xD0xB9 xD0x9…………………….x9DxD0xB8xD0xB6xD0xBDxD0xB8xD0xB9 xD0x9DxD0xBExD0xB2xD0xB3xD0xBExD1x80xD0xBExD0x////////////////////2323233
issuer=/C=RU/ST=xD0x9DxD0xB8xD0xB6xD0xBDxD0xB8xD0xB9 xD0x9DxD0xBExD0xB2xD0xB3xD0xBExD1x80xD0xBExD0xB4/L=xD0x9DxD0xB8xD0xB6xD0xBDxD0xB8xD0xB9 xD0x9DxD0xBExD0xB2xD0xB3xD0xBExD1x80xD0xBExD0xB4/O=xD0x90xD0…………………….D0xB8xD1x8F/CN=xD0x90xD0x9E xD0xADxD0xA2xD0xA1/emailAddress=test.@test.ru
——BEGIN CERTIFICATE——
MIID4jCCA4+gAwIBAgIBBzAKBgYqhQMCAgMFADCBzDELMAkGA1UEBhMCUlUxJjAk
BgNVBAgMHdCd0LjQttC90LjQuSDQndC+0LLQs9C+0YDQvtC0MSYwJAYDVQQHDB3Q
ndC40LbQvdC40Lkg0J3QvtCy0LPQvtGA0L7QtDEUMBIGA1UECgwL0JDQniDQrdCi
………………………………………….RU/8cpUOEfc
qjKM9LgR5lRYVUiCHK6inE5sSJpy1KtczV1yIoJKLvl1khfQ3gc=
——END CERTIFICATE——
Bag Attributes
localKeyID: 81 6D C5 13 EB 9A F2 EB 59 35 00 D7 7C C0 CF 2B C0 B3 BF DF
Key Attributes: <No Attributes>


Вверх


Offline

nikolaev

 


#5
Оставлено
:

6 мая 2016 г. 14:34:35(UTC)

nikolaev

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 06.05.2016(UTC)
Сообщений: 19
Мужчина
Российская Федерация
Откуда: Москва

Поблагодарили: 5 раз в 5 постах

Добрый день!

Можете, пожалуйста, приложить пример проблемного контейнера?


Вверх


Offline

aleksey1912

 


#6
Оставлено
:

6 мая 2016 г. 15:25:52(UTC)

aleksey1912

Статус: Участник

Группы: Участники

Зарегистрирован: 16.10.2014(UTC)
Сообщений: 19
Российская Федерация
Откуда: Нижний Новгоро

Сказал(а) «Спасибо»: 9 раз

У вас уже получалось использовать данную утилиту для конвертирования контейнера?

Отредактировано пользователем 6 мая 2016 г. 15:38:32(UTC)
 | Причина: Не указана


Вверх


Offline

nikolaev

 


#7
Оставлено
:

6 мая 2016 г. 15:43:15(UTC)

nikolaev

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 06.05.2016(UTC)
Сообщений: 19
Мужчина
Российская Федерация
Откуда: Москва

Поблагодарили: 5 раз в 5 постах

Ключ и сертификат в контейнере зашифрованы на иностранных алгоритмах, с ними утилита не работает.

P.S. В режиме -p12tocp provtype указывать не надо.


Вверх

thanks 1 пользователь поблагодарил nikolaev за этот пост.

aleksey1912

оставлено 06.05.2016(UTC)


Offline

aleksey1912

 


#8
Оставлено
:

6 мая 2016 г. 16:06:39(UTC)

aleksey1912

Статус: Участник

Группы: Участники

Зарегистрирован: 16.10.2014(UTC)
Сообщений: 19
Российская Федерация
Откуда: Нижний Новгоро

Сказал(а) «Спасибо»: 9 раз

Создавал контейнер следующим образом, openssl pkcs12 -engine gost -export -in demoCA/newcerts/06.pem -inkey privkey.pem -certfile demoCA/cacert.pem -name «ExportFile» -out сert12.p12
То есть явно надо указать ему как зашифровать ключи в контейнере, это с помощью опций:
-certpbe alg specify certificate PBE algorithm (default RC2-40)
-keypbe alg specify private key PBE algorithm (default 3DES)
?


Вверх


Offline

nikolaev

 


#9
Оставлено
:

6 мая 2016 г. 16:16:34(UTC)

nikolaev

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 06.05.2016(UTC)
Сообщений: 19
Мужчина
Российская Федерация
Откуда: Москва

Поблагодарили: 5 раз в 5 постах

Утилита работает с контейнерами PKCS#12, которые выработаны в соответствии с рекомендациями ТК26. Среди прочих требований сертификат и ключ должны быть зашифрованы с помощью алгоритма ГОСТ 28147-89. Коль скоро openssl по умолчанию ставит не его, то да, это надо явно указать.


Вверх


Offline

shade777

 


#10
Оставлено
:

27 июня 2019 г. 17:39:29(UTC)

shade777

Статус: Новичок

Группы: Участники

Зарегистрирован: 26.11.2015(UTC)
Сообщений: 3

та же проблема,
создаю pfx
openssl pkcs12 -engine gost -export -in cert.crt -inkey cert.key -certfile ca.pem -keypbe gost89 -certpbe gost89 -out out.pfx

при импорте через утилиту:
p12util.x64.exe -p12tocp -rdrfolder d: -contname 888888 -ex -passcp 1234567890 -passp12 1234567890 -infile out.pfx
Failed to open PKCS#12 key container file.
Failed while executing.

какие параметры OpenSSL правильные?


Вверх

Пользователи, просматривающие эту тему

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

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

by zerox https://serveradmin.ru/perenos-konteynerov-zakryityih-klyuchey-i-sertifikatov-cryptopro/

Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:

  1. Перенести
    или скопировать контейнер закрытого ключа через стандартную оснастку
    CryptoPro в панели управления. Это самый простой и быстрый способ, если у
    вас не много сертификатов и ключей. Если же их несколько десятков, а
    это не такая уж и редкость, то такой путь вам не подходит.
  2. Скопировать
    сертификаты и ключи непосредственно через перенос самих исходных файлов
    и данных, где все это хранится. Объем работы одинаков и для 5 и для
    50-ти сертификатов, но требуется больше усилий и знаний.

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

Копирование закрытого ключа через оснастку КриптоПро

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

Копирование закрытого ключа сертификата через оснастку КриптоПро

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

Ошибка копирования контейнера

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

Ошибка копирования контейнера

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

Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему.

Отдельно
расскажу, как скопировать сертификат и закрытый ключ к нему в файл,
чтобы перенести на другой компьютер без использования токена. Штатные
возможности CryptoPro не позволяют скопировать закрытый ключ в файл.

Запускаем Internet Explorer, открываем его настройки и переходим на вкладку Содержание. Там нажимаем на Сертификаты.

Посмотреть список сертификатов в системе

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

Экспорт сертификата CryptoPro

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

Невозможно экспортировать закрытый ключ

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

Формат экспортируемого ключа

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

Перенос сертификата

Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него.

В итоге у вас должны получиться 2 файла с расширениями:

  • .pfx
  • .cer

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

Я описал первый способ
переноса в ручном режиме. Им можно воспользоваться, если у вас немного
сертификатов и ключей. Если их много и руками по одному переносить
долго, то переходим ко второму способу.

Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер

В
интернете достаточно легко находится способ переноса контейнеров
закрытых ключей КриптоПро через копирование нужной ветки реестра, где
это все хранится. Я воспользуюсь именно этим способом. А вот с массовым
переносом самих сертификатов у меня возникли затруднения и я не сразу
нашел рабочий способ. Расскажу о нем тоже.

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

wmic useraccount where name='zerox' get sid
Как узнать SID пользователя

В данном случай zerox — имя учетной записи, для которой узнаем SID.

Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра и переходим в ветку:

HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProSettingsUsersS-1-5-21-4126079715-2548991747-1835893097-1000Keys

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

Массовый перенос закрытых ключей сертификатов с компьютера на компьютер

Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи.

Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории — C:UserszeroxAppDataRoamingMicrosoftSystemCertificatesMy. Сохраняйте эту директорию.

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

Замена SID пользователя

После
этого запускаем .reg файл и вносим данные из файла в реестр. Теперь
скопируйте папку My с сертификатами в то же место в профиле нового
пользователя. На этом перенос сертификатов и контейнеров закрытых ключей
КриптоПро завершен. Можно проверять работу.

Я
не раз пользовался этим методом, на текущий момент он 100% рабочий.
Написал статью,чтобы помочь остальным, так как сам не видел в интернете
подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя
таковой получилась.

При экспорте контейнера закрытого ключа из реестра может возникнуть ошибка:

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

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

  1. Нажимаем сочетание клавиш Win+R. Появится окно «Выполнить»

  2. В данное окно пишем regedit и нажимаем «ОК». Откроется окно «Редактор реестра»
  3. Переходим HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProSettingsUsersS-1-5-21-1438720973-2941062880-733802677-1001{SID}Keys (64-разрядная ОС) или HKLMSOFTWARECryptoProSettingsUsers{SID}Keys (32-разрядная ОС)
  4. Нажимаем правой кнопкой мыши  (пкм) по «Keys» и выбираем «Экспортировать»

  5. Далее будет предложено окно для выбора места экспорта. Необходимо выбрать место хранение и наименование файла в формате .reg

  6. Перед импортом данного файла на новую систему его необходимо отредактировать в блокноте, открываем с помощью блокнота
  7. В данном случае представлены пути хранения 64-разрядной Win10, если предыдущая ОС была тоже 64-разрядная, то пути должны совпадать и необходимо отредактировать только {SID} (О том как узнать SID на ПК есть много публикаций в Интернет). Если пути различаются, то необходимо привести в соответствие с картинкой.

  8. Далее открываем на новом ПК «Редактор Реестра»
  9. Заходим в меню «Файл»/»Импорт» и указываем наш отредактированный .reg-файл
  10. После импорта файла вид реестра будет иметь вид

  11. Далее обязательно требуется установить личный сертификат

Дополнительный инструкции:

Установка личного сертификата

Форум КриптоПро
 » 
Средства криптографической защиты информации
 » 
Другие продукты
 » 
Утилита для импорта транспортных контейнеров PKCS#12 в контейнеры КриптоПро CSP:


Offline

ms33322

 


#1
Оставлено
:

17 марта 2017 г. 12:56:54(UTC)

ms33322

Статус: Новичок

Группы: Участники

Зарегистрирован: 17.03.2017(UTC)
Сообщений: 6
Российская Федерация

Подскажите пожалуйста.
Пытаюсь выполнить команду получаю:
C:p12tocpp12utility.x64.exe -p12tocp -rdrfolder D: -contname myContainer -ex -passcp 1 -passp12 a -infile C:p12tocpsert.p12 sert.zip (1kb) загружен 12 раз(а).
Ошибка при открытии ключевого контейнера PKCS#12.
При выполнении операции произошла ошибка.


Вверх


Offline

Андрей Писарев

 


#2
Оставлено
:

17 марта 2017 г. 20:10:18(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Здравствуйте.

sert.p12 — 0 байт?
По крайней мере так в архиве

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

ms33322

 


#3
Оставлено
:

20 марта 2017 г. 10:00:38(UTC)

ms33322

Статус: Новичок

Группы: Участники

Зарегистрирован: 17.03.2017(UTC)
Сообщений: 6
Российская Федерация

Добрый день. Прошу прощения не проверил. Вложил новый файл.


Вверх


Offline

Андрей Писарев

 


#4
Оставлено
:

20 марта 2017 г. 11:55:06(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: ms33322 Перейти к цитате

Добрый день. Прошу прощения не проверил. Вложил новый файл.

Здравствуйте.

Каким образом получили этот файл?

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

ms33322

 


#5
Оставлено
:

20 марта 2017 г. 12:06:30(UTC)

ms33322

Статус: Новичок

Группы: Участники

Зарегистрирован: 17.03.2017(UTC)
Сообщений: 6
Российская Федерация

Разработчик по javascript сгенерировал. Что то конкретное нужно узнать?


Вверх


Offline

Андрей Писарев

 


#6
Оставлено
:

20 марта 2017 г. 12:33:36(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: ms33322 Перейти к цитате

Разработчик по javascript сгенерировал. Что то конкретное нужно узнать?

Каким образом получили этот файл?
Контейнер с ГОСТ-ключом?

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

ms33322

 


#7
Оставлено
:

20 марта 2017 г. 12:56:13(UTC)

ms33322

Статус: Новичок

Группы: Участники

Зарегистрирован: 17.03.2017(UTC)
Сообщений: 6
Российская Федерация

С помощью библиотеки bouncycastle


Вверх


Offline

ms33322

 


#8
Оставлено
:

21 марта 2017 г. 12:47:08(UTC)

ms33322

Статус: Новичок

Группы: Участники

Зарегистрирован: 17.03.2017(UTC)
Сообщений: 6
Российская Федерация

Автор: Андрей * Перейти к цитате

Каким образом получили этот файл?
Контейнер с ГОСТ-ключом?

С помощью библиотеки bouncycastle


Вверх


Offline

bav56

 


#9
Оставлено
:

17 апреля 2017 г. 14:36:17(UTC)

bav56

Статус: Новичок

Группы: Участники

Зарегистрирован: 17.04.2017(UTC)
Сообщений: 3
Российская Федерация
Откуда: Оренбург

Добрый день. Получаю такую же ошибку при аналогичных действиях с контейнером на Win7.
Использую Openssl v. 1.0.1t на Debian8:
В конфиге : «…CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet»
Ключ: openssl genpkey -algorithm gost2001 -pkeyopt paramset:A -out test.key 1024
Запрос: openssl req -new -key test.key -out test.csr
Серт: openssl ca -in test.csr
Формат: openssl x509 -in test.pem -inform PEM -out test.cer -outform DER
Контейнер: openssl pkcs12 -export -in test.pem -inkey test.key -certfile ca.pem -out test.p12
В чём может быть ошибка?

Отредактировано пользователем 18 апреля 2017 г. 15:58:37(UTC)
 | Причина: Не указана


Вверх


Offline

nikolaev

 


#10
Оставлено
:

18 апреля 2017 г. 10:38:15(UTC)

nikolaev

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 06.05.2016(UTC)
Сообщений: 19
Мужчина
Российская Федерация
Откуда: Москва

Поблагодарили: 5 раз в 5 постах

Добрый день, коллеги.

p12utility в данный момент работает исключительно для контейнеров PKCS#12, выработанных в соответствии с методическими рекомендациями ТК26 (раз и два).

Эти документы, в частности, предусматривают использование российских криптографических алгоритмов для обеспечения конфиденциальности ключевой информации и целостности контейнера.

ms33322, в приложенном Вами файле для зашифрования ключа использован 3DES, а для обеспечения контроля целостности — SHA1. Использование этих алгоритмов не предусмотрено рекомендациями ТК26, поэтому, к сожалению, утилита с ними работать не будет.

bav56, думаю, что у Вас та же проблема, но для определённости хотелось бы рассмотреть пример. Не могли бы Вы, пожалуйста, прислать пример проблемного контейнера?


Вверх

Пользователи, просматривающие эту тему

Guest

Форум КриптоПро
 » 
Средства криптографической защиты информации
 » 
Другие продукты
 » 
Утилита для импорта транспортных контейнеров PKCS#12 в контейнеры КриптоПро CSP:

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

…. Захотелось с вами поделиться опытом, о массовом переносе контейнеров с закрытыми ключами, находящимися в области реестра Windows. Использовать мы будем как КриптоПРО, так и встроенные механизмы. Уверен будет интересно.

Когда нужно переносить сертификаты в другое место?

И так давайте рассмотрим по каким причинам у вас может появиться необходимость в копировании ваших ЭЦП в другое место.

  1. На текущем физическом компьютере начинает умирать жесткий диск или SSD накопитель (Как проверить жизненные показатели жесткого диска), очень частая история и жизненная, когда люди теряли все свои данные, из-за банальной жадности в покупке нового оборудования и элементарного незнания принципов резервного копирования.
  2. У вас производится модернизация оборудования, его улучшение и вам нужно перенести все сертификаты с закрытыми ключами на другую систему
  3. Вы создали отдельный сервер, в виде виртуальной машины, где будут находится все ваши сертификаты и с ними смогут работать все необходимые сотрудники, терминал для бухгалтерии. Простой пример СБИС, и когда у вас 10-20 организаций.

Как видите предпосылок и вариантов переноса сертификатов из реестра на другой компьютер, предостаточно.

Какие есть варианты по копированию контейнеров закрытых ключей?

  • Если мы создаем единый терминал (Виртуальную машину), на которой будут коллективно работать пользователи, то можно произвести конвертирование физической тачки в виртуальную машину
  • Если будет просто замена жесткого диска, то можно произвести его клонирование или перенос системы на SSD с помощью специальных утилит
  • Можно воспользоваться утилитой КриптоПРО
  • Воспользоваться экспортом из реестра Windows.

Перенос сертификатов в виде пошаговой инструкции

Первые два пункта я описывать тут не стану, так как я уже это подробно рассказывал, посмотрите по ссылкам. Я расскажу, об остальных методах и начнем мы с классического КриптоПРО.

Данный метод подойдет для тех ситуаций, когда у вас один или 2 сертификата (ЭЦП). Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит, и там придется выбирать 4-й метод.

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

Копирование закрытого ключа из КриптоПро

Это самый простой способ, и будет актуальным при небольшом количестве контейнеров с закрытыми ключами. Чтобы выполнить перенос сертификатов из реестра, откройте ваш КриптоПРО, вкладка «Сервис», нажимаем кнопку «Сервис», далее через кнопку «Обзор», откройте «Выбор ключевого контейнера» и укажите, какой сертификат вы будите переносить. В моем примере это контейнер «Копия сертификата в реестре (Семин Иван)».

перенос сертификатов из реестра-01

Нажимаем «Далее», вас попросят задать новое имя контейнера с закрытым ключом, введите понятное для себя, для удобства.

перенос сертификатов из реестра-02

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

перенос сертификатов из реестра-03

Задаем обязательно пароль, с точки зрения безопасности, так как файлы в таком виде просто скомпрометировать.

перенос сертификатов из реестра-04

Все, на выходе я получил папку со случайным названием и набором ключей в формате key.

перенос сертификатов из реестра-05

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

Ошибка копирования контейнера

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

Если вы получили ошибку копирования контейнера. У вас нет разрешений на экспорт ключа, то метод с КРиптоПРО вам не поможет

Перенос сертификатов из реестра без КриптоПРО

Существуют методы экспортировать закрытый ключ и без использования утилиты КриптоПРО. Представим себе ситуацию, что у вас на него кончилась лицензия и вы не успели ее купить. Вам нужно сдать отчетность в СБИС. Вы развернули CryptoPRO на другом компьютере, так как он позволяет 3 месяца бесплатного использования, осталось для СБИС выполнить перенос сертификатов, которые у вас в реестре Windows.

У нас два варианта:

  • Использование оснастки mmc-Сертификаты пользователя.
  • Использование Internet Explore

Откройте там контейнер «Личное — Сертификаты». Если у вас в контейнере не один сертификат с одинаковым именем, такое может быть, то откройте сертификат в оснастке mmc и в КриптоПРО и сравните серийные номера сертификата.

перенос сертификатов-01

В Internet Explore, откройте «Свойства браузера — Содержание — Сертификаты»

Экспорт сертификата из реестра Windows

Теперь нам необходимо его экспортировать, в оснастке «Сертификаты», через правый клик, это можно сделать, в Internet Explorer, сразу видно кнопку, экспорт.

Экспорт закрытого контейнера из реестра

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

перенос сертификатов

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

сбис перенос сертификата

Следующим этапом в мастере экспорта сертификатов, вам необходимо выбрать формат выгрузки, это будет PFX архив.

контур перенос сертификатов

Далее вы задаете обязательно пароль и указываете имя и место, где будите сохранять ваш переносимый контейнер с зарытым ключом в формате pfx.

сбис перенос сертификата-2

Мастер экспорта сертификатов, выведет вам сводные данные, нажимаем «Готово».

перенос сертификата на рутокен-01

Отрываем локацию, куда вы его выгрузили, и найдите свой pfx архив.

перенос сертификата на рутокен-02

Теперь вам нужно еще выгрузить открытый ключ в формате cer, для этого так же зайдите в мастер экспорта, но на этот раз выберите «Нет, не экспортировать закрытый ключ».

перенос сертификата на рутокен-03

Выберите формат файла «X.509 (.CER) в кодировке DEP», задайте ему имя и место сохранения. На выходе у вас появятся два файла.

перенос сертификата на рутокен-04

Одни открытый ключ в формате cer и закрытый ключ в формате pfx. Этого набора вам будет достаточно, чтобы перенести сертификаты СБИС, Контура и остальных программ на другой компьютер.

перенос сертификата на рутокен-05

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

Установка перенесенного сертификата-01

На втором шаге проверяем импортируемый сертификат.

Установка перенесенного сертификата-02

Указываем пароль, который задавали при выгрузке.

Установка перенесенного сертификата-03

Оставляем автоматический выбор хранилища на основе типа сертификатов.

Установка перенесенного сертификата-04

Готово. Со вторым файлом то же самое. После чего у вас будут перенесены нужные вам ключи и сам сертификат, можно работать.

Установка перенесенного сертификата-05Массовый перенос ключей и сертификатов CryptoPro на другой компьютер

Выше описанные методы хороши, когда у вас один или 5 ключиков в реестре, а как быть если их десятки. Помню лет 5 назад, когда я еще был младшим администратором, то я очень часто устанавливал электронные цифровые подписи главбуху, так как она работала в СБИС++ и сдавала там постоянно отчетность по огромному количеству организаций, по типу рога и копыта. Держать кучу токенов было не вариант, и для таких вещей у нее все хранилось в реестре и копия сертификатов была на флешке в сейфе. Флешку потом потеряли, встал вопрос сделать резервную копию всего и плюс обновить систему, в виду нового компьютера, на операционной системе Windows 8.1. ЭЦП было штук 50, а так как я ценю свое время, то и искал методы, выполнить это быстрее, к счастью я его нашел.

Заключался метод переноса сертификатов из реестра, в выгрузке веток и подмене SID значения, но обо всем по порядку. О том, как посмотреть SID пользователя и что это такое я рассказывал.

Открываете командную строку cmd и вводите команду:

криптопро перенос сертификатов-01

Вот это S-1-5-21-551888299-3078463796-888888888-46162 и есть SID, вашей учетной записи. Теперь когда вы его знаете, то вам нужно выгрузить ваши закрытые ключи из реестра Windows. Для этого откройте вот такую ветку:

HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProSettingsUsersНомер вашего SID, который мы узналиKeys

криптопро перенос сертификатов-02

В контейнере Keys, вы найдете все ваши закрытые ключи от ЭЦП. С правой стороны вы увидите файлы:
* header.key
* masks.key
* masks2.key
* name.key
* primary.key
* primary2.key

Щелкаем правым кликом по контейнеру Keys и экспортируем его.

криптопро перенос сертификатов-03

Сохраняем нашу ветку реестра с контейнерами закрытых ключей. Далее нам нужно скопировать открытые ключи, которые лежат по пути:

C:Usersимя вашего пользователяAppDataRoamingMicrosoftSystemCertificatesMy

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

перенос сертификатов-05

Как только вы поместили на новом компьютере папку Key, вы можете перенести реестровую выгрузку. Сохраненный файл в формате reg, вы должны открыть в любом текстовом редакторе.

перенос сертификатов-01

Как я показывал выше, определите SID нового пользователя, скопируйте его полностью и замените им значение в файле reg, я отметил это стрелками.

SID начинается с S-1 и так далее

перенос сертификатов-02

Все сохраняйте файл и запускайте его, у вас будет начат перенос сертификатов (закрытых ключей), подтверждаем действие.

перенос сертификатов-03

Как видите импорт успешно завершен. Все теперь ваши закрытые и открытые ключи на месте и вы можете работать с вашими ЭЦП, и можно считать, что перенос сертификатов с одного компьютера на другой в массовом масштабе, осуществлен успешно.

перенос сертификатов-04

Сейчас представить нормальную деятельность какого ли предприятия даже самого меленького без использования электронных цифровых подписей практически не возможно. Скажу больше, большинство обычных граждан так же использую различные ЭЦП. Все это связанно с тем что имея ЭЦП можно не выходя из офиса или дома отправлять подписанные документы (договора), сдавать отчетность, пользоваться различными ресурсами, участвовать в различных аукционах и многое другое. С одной стороны все это упрощает ведение деятельности но с другой вызывает кучу проблем, в первую очередь это связанно с получением ЭЦП, выдаются они на 1 год, в некоторых случаях плюс несколько месяцев, все зависит от удостоверяющего центра (УЦ). Для использования ЭЦП нужно настраивать рабочие места а это дополнительное ПО (Все оно платное), различные плагины и расширения для браузеров. В общем проблем с ЭЦП хватает. Так же на этапе получения и заполнения заявлений важно все указать правильно, в противном случае можно получить дополнительные проблемы. Сегодня рассмотрим одну ошибку «0x8009000B» которая появляется в момент копирования закрытого ключа и связанна она с невнимательностью во время заполнения заявления на получение ЭЦП в УЦ или через сайт.

Ошибка 0x8009000B Ключ не может быть использован в указанном состоянии

И так у Вас есть ЭЦП и Вы пытаетесь скопировать закрытый ключ с флешки в системный реестр Windows, либо наоборот и видите сообщение следующего вида.

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

КриптоПРО ошибка 0x8009000B

Это говорит о том что во время создания закрытого ключа не был отмечен пункт который разрешает экспорт закрытого ключа. Проверить это достаточно легко, открываем КриптоПро переходим на вкладку «Сервис» и выбираем пункт «Протестировать …»

Ошибка копирования контейнера 0x8009000B"

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

1 Если вы получили ЭЦП в УЦ на Рутокене, eToken то использовать его можно будет только подключив съемный носитель к компьютеру.

2 Если закрытый ключ находиться на обычной флешке то его можно скопировать на другую флешку либо другой диск и использовать.

3 Если ЭЦП Вы получали через личный кабинет (такое возможно при продлении) и закрытый ключ скопировали в реестр, то его можно перенести на другой ПК, но это лучше поручить опытному человеку, так как если вы что-то сломаете в реестре то можно попасть на переустановку ОС.

Ошибка 0x8009000B

Кстати выглядит эта опция примерно вот так, это заявление на продление ЭЦП федерального казначейства.

Ошибка копирования контейнера

В принципе тут нет ничего страшного, если необходимо установить такую ЭЦП на несколько рабочих место, то можно воспользоваться флешками или например, если в системе есть дополнительный жесткий диск D,E,B не важно какой, закрытый ключ можно скопировать туда.

Если скопировать закрытый ключи в корень диска С, система его не увидит!!!

Содержание материала

  1. Копирование закрытого ключа через оснастку КриптоПро
  2. Ошибка копирования контейнера
  3. Перенос сертификатов из реестра без КриптоПРО
  4. Перенос сертификатов в виде пошаговой инструкции
  5. Свежие записи
  6. Экспорт PFX-файла иего установка
  7. Копирование напрофиле Диагностики
  8. Перенос сертификатов из реестра через Internet Explorer
  9. Массовый перенос сертификатов ЭЦП

Копирование закрытого ключа через оснастку КриптоПро

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

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

Ошибка копирования контейнера

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

Ошибка копирования контейнера. У вас нет разрешени

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

Если получили такую ошибку, то для вас этот способ

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

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

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

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

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

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

Если же такая возможность есть, то выбирайте именн

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

Укажите какой-нибудь пароль и запомните его! Без п

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

Сохраните сертификат для удобства в ту же папку, к

Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него. В итоге у вас должны получиться 2 файла с расширениями:

  • .pfx
  • .cer

Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер. Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.

Перенос сертификатов из реестра без КриптоПРО

Существуют методы экспортировать закрытый ключ и без изспользования утилиты КриптоПРО. Представим себе ситуацию, что у вас на него кончилась лицензия и вы не успели ее купить. Вам нужно сдать отчетность в СБИС. Вы развернули CryptoPRO на другом компьютере, так как он позволяет 3 месяца бесплатного использования, осталось для СБИС выполнить перенос сертификатов, которые у вас в реестре Windows.

У нас два варианта:

  • Использование оснастки mmc-Сертификаты пользователя.
  • Использование Internet Explore

Как открыть оснастку сертификаты я уже подробно рассказывал, посмотрите. Откройте там контейнер «Личное — Сертификаты». Если у вас в контейнере не один сертификат с одинаковым именем, такое может быть, то откройте сертификат в оснастке mmc и в КриптоПРО и сравните серийные номера сертификата.

В Internet Explore, откройте «Свойства браузера — Содержание — Сертификаты»

Теперь нам необходимо его экспортировать, в оснастке «Сертификаты», через правый клик, это можно сделать, в Internet Explorer, сразу видно кнопку, экспорт.

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

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

Следующим этапом в мастере экспорта сертификатов, вам необходимо выбрать формат выгрузки, это будет PFX архив.

Далее вы задаете обязательно пароль и указываете имя и место, где будите сохранять ваш переносимый контейнер с зарытым ключом в формате pfx.

Мастер экспорта сертификатов, выведет вам сводные данные, нажимаем «Готово».

Отрываем локацию, куда вы его выгрузили, и найдите свой pfx архив.

Теперь вам нужно еще выгрузить открытый ключ в формате cer, для этого так же зайдите в мастер экспорта, но на этот раз выберите «Нет, не экспортировать закрытый ключ».

Выберите формат файла «X.509 (.CER) в кодировке DEP», задайте ему имя и место сохранения. На выходе у вас появятся два файла.

Одни открытый ключ в формате cer и закрытый ключ в формате pfx. Этого набора вам будет достаточно, чтобы перенести сертификаты СБИС, Контура и остальных программ на другой компьютер.

Теперь перенесите эти файлы на другое рабочее мест

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

На втором шаге проверяем импортируемый сертификат.

Указываем пароль, который задавали при выгрузке.

Оставляем автоматический выбор хранилища на основе типа сертификатов.

Готово. Со вторым файлом то же самое. После чего у вас будут перенесены нужные вам ключи и сам сертификат, можно работать.

Перенос сертификатов в виде пошаговой инструкции

Первые два пункта я описывать тут не стану, так как я уже это подробно рассказывал, посмотрите по ссылкам. Я расскажу, об остальных методах и начнем мы с классического КриптоПРО.

Данный метод подойдет для тех ситуаций, когда у вас один или 2 сертификата (ЭЦП). Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит, и там придется выбирать 4-й метод.

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

Свежие записи

  • Качество воздуха в квартире
  • Трояны и бэкдоры в кнопочных мобильных телефонах российской розницы
  • Решение проблемы «Ошибка инициализации модуля: EF_00_00XXXXXX» при обновлении конфигурации 1С:Предприятие
  • Поддельная точка доступа на ESP8266
  • Как работать с API без знаний программирования: применяем опыт топ-агентств по SEO

Экспорт PFX-файла иего установка

Экспорт сертификата с закрытым ключом:

  1. Откройте окно «Сертификаты» одним из способов:
    • «Пуск» → «Все программы» → «КриптоПро» → «Сертификаты».
    • «Internet Explorer» → «Сервис» → «Свойства обозревателя» → вкладка «Содержание» → «Сертификаты.
  2. Откройте сертификат, который нужно скопировать. На вкладке «Состав» нажмите «Копировать в файл».
  3. В «Мастере экспорта сертификатов» нажмите «Далее» и выберите пункт «Да, экспортировать закрытый ключ». Нажмите «Далее».
  4. Выберите пункты «Включить по возможности все сертификаты в путь сертификации» и «Экспортировать все расширенные свойства», остальные пункты должны быть не выбраны. Нажмите «Далее».
  5. Обязательно задайте пароль для экспортируемого файла. Данный пароль не рекомендуется сообщать по электронной почте. Нажмите «Далее».
  6. Укажите имя файла, выберите путь, куда его сохранить, и нажмите «Далее». 
  7. Нажмите «Готово».
  8. Экспортируйте открытый ключ сертификата (см. Экспорт открытого ключа).
  9. Заархивируйте полученные файлы форматов *.pfx и *.cer.

Установка сертификата с закрытым ключом

  1. Откройте *.pfx файл. Запустится «Мастер импорта сертификатов».
  2. Укажите хранилище «Текущий пользователь» и нажмите «Далее», затем снова «Далее».
  3. Введите пароль, который указывали при экспорте и выберите пункт «Пометить этот ключ как экспортируемый…», иначе контейнер нельзя будет скопировать в дальнейшем. Нажмите «Далее».
  4. Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите на кнопку «Обзор», выберите «Личное» и нажмите на кнопку «ОК». Нажмите «Далее», а затем «Готово».
  5. Выберите носитель, на который хотите сохранить контейнер. При необходимости задайте пароль.
  6. Для корректной работы сертификата со встроенной лицензией переустановите сертификат в контейнер (см. Как установить личный сертификат в КриптоПро).

Копирование напрофиле Диагностики

  1. Зайдите на профиль Диагностики «Копирования» по ссылке .
  2. Вставьте носитель, на который необходимо скопировать сертификат.
  3. На нужном сертификате нажмите на кнопку «Скопировать».
  4. Если на контейнер был задан пароль — появится сообщение  «Введите пароль для устройства с которого будет скопирован сертификат».  Введите пароль и нажмите  «Далее».
  5. Выберите носитель, куда необходимо скопировать сертификат и нажмите «Далее».
  6. Укажите имя новому контейнеру и нажмите на кнопку «Далее».
  7. Должно появиться сообщение об успешном копировании сертификата. 

Перенос сертификатов из реестра через Internet Explorer

Для создания копии дубликата ЭЦП на флешке нужно:

  • в IE открыть «Свойства браузера» / «‎Содержание» / «‎Сертификаты» / «‎Экспорт»;

  • через правую клавишу мышки в оснастке нужного сертификата выбрать «‎Экспорт»;

  • в мастере переноса сертификатов ЭЦП сначала нажимают «‎Далее», а затем напротив пункта«‎Экспортировать закрытый ключ вместе с сертификатом» ставят галочку;

  • если эта область неактивна, значит, ключ защищен от копирования, и данный способ не подходит;

  • если все работает, то следующий шаг — выбор формата загрузки;

  • далее пользователь задает пароль и указывает место хранения закрытого ключа;
  • завершается процесс нажатием «‎Готово».

Массовый перенос сертификатов ЭЦП

Данный способ переноса сертификатов ЭЦП подходит как для защищенных ключей, так и для большого объема информации (если нужно скопировать сразу несколько ключей для работы в системе СБИС и т.п.).

Как скопировать ЭЦП на флешку:

  • через командную строку задать команду whoami /USER;

  • значение S-1-5-21-551888299-3078463796-888888888-46162 — это SID личной учетной записи. С его помощью можно выгрузить закрытые ключи. Пользователь открывает новую ветку командой:

HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProSettingsUsersSIDKeys

  • контейнер keys содержит все закрытые ключи электронной подписи, а в соседнем окне будет список файлов. Правой кнопкой мыши нужно кликнуть по контейнеру и выбрать его экспорт;

Далее пользователю необходимо скопировать и открытые ключи. Для этого вводят команду:

C:Usersимя вашего пользователяAppDataRoamingMicrosoftSystemCertificatesMy

Хранится они могут в закрытой папке, поэтому предварительно желательно включить скрытые файлы и папки в настройке ОС. Перенести необходимо все содержимое папки:

Для нового хранения используют папку key с закрытыми ключами, сохраненный файл можно открыть через любой текстовый редактор. В новом файле значение для SID нужно заменить на значение пользователя, после чего подтвердить начало выгрузки сертификатов:

Если все сделано правильно, то через несколько секунд появится уведомление об успешно выполненной операции:

Необходимость копирования ключей ЭЦП на флешку или другой ПК может быть вызвана неисправностью компьютера, частыми поездками и невозможностью использовать только один носитель, а также работой с большими объемами отчетности. Перенести данные электронной подписи на другой носитель можно при помощи стандартного ПО КриптоПро или Internet Explorer. Эти способы просты, но не подходят для работы с защищенными ключами. Скопировать закрытые ключи, имеющие защиту УЦ, можно при помощи массового переноса через командную строку Windows.

Теги

Введение

Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим. Для того, чтобы перенести все это хозяйство с одного компьютера на другой, иногда приходится прилично повозиться, особенно тем, кто не в теме. Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:

  1. Перенести или скопировать контейнер закрытого ключа через стандартную оснастку CryptoPro в панели управления. Это самый простой и быстрый способ, если у вас не много сертификатов и ключей. Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит.
  2. Скопировать сертификаты и ключи непосредственно через перенос самих исходных файлов и данных, где все это хранится. Объем работы одинаков и для 5 и для 50-ти сертификатов, но требуется больше усилий и знаний.

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

Копирование закрытого ключа через оснастку КриптоПро

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

Копирование закрытого ключа сертификата через оснастку КриптоПро

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

Выбор контейнер для экспорта

Ошибка копирования контейнера

Онлайн курс Администратор Linux

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

Ошибка копирования контейнера

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

Неэкспортируемый контейнер

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

Посмотреть список сертификатов в системе

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

Выбор сертификата

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

Сохранение сертификата КриптоПро в файл

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

Невозможно экспортировать закрытый ключ

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

Формат экспортируемого ключа

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

Перенос сертификата

Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него. В итоге у вас должны получиться 2 файла с расширениями:

  • .pfx
  • .cer

Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер. Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.

Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер

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

wmic useraccount where name='user' get sid
Как узнать SID пользователя

В данном случай user — имя учетной записи, для которой узнаем SID. Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра (regedit.exe) и переходим в ветку:

HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProSettingsUsersS-1-5-21-4126888996-1677807805-1843639151-1000Keys

где S-1-5-21-4126888996-1677807805-1843639151-1000 — SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее. Этот путь актуален для 64-х битных систем — Windows 7, 8, 10. В 32-х битных путь может быть немного другой. Я специально не проверял, но поиском по реестру вы при желании найдете его.  

Массовый перенос закрытых ключей сертификатов с компьютера на компьютер

Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи. Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории — C:UsersuserAppDataRoamingMicrosoftSystemCertificatesMy. Сохраняйте эту директорию. Для переноса ключей и сертификатов нам надо скопировать на другой компьютер сохраненную ветку реестра и директорию с сертификатами My.

После того, как перенесли файлы со старого компьютера на новый, открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.

Замена SID пользователя

После этого запускаем .reg файл и вносим данные из файла в реестр. Теперь скопируйте папку My с сертификатами в то же место в профиле нового пользователя. На этом перенос сертификатов и контейнеров закрытых ключей КриптоПро завершен. Можно проверять работу. Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью, чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.

КриптоПро CSP ошибка 0x80090010 Отказано в доступе

Иногда после переноса контейнеров закрытых ключей через экспорт — импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:

КриптоПро CSP ошибка 0x80090010 Отказано в доступе

Ошибка обращения к контейнеру закрытого ключа. Ошибка 0x80090010: Отказано в доступе. Связано это с тем, что у текущего пользователя, под которым вы хотите получить доступ к контейнеру, нет полных прав на ветку реестра с хранящимися ключами. Исправить это просто. Переходите в редактор реестра и выставляйте полные права к ветке Keys для текущего пользователя.

Права доступа в реестре на ключи

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

Часто задаваемые вопросы по теме статьи (FAQ)

Можно ли перенести сертификат, который находится на токене и защищен от копирования?

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

Это не безопасно и в общем случае я не рекомендую это делать. USB токены для хранения сертификатов придуманы не просто так. Они реально защищают сертификаты от несанкционированного копирования. Если у вас нет объективной необходимости копировать сертификаты в реестр, лучше этого не делать. Если вам нужно сделать бэкап сертификата на случай поломки токена, то просто скопируйте его в зашифрованный архив и сохраните на флешке.Подойдет ли предложенный способ копирования сертификатов CryptoPro для VipNet?

Нет, не подойдет. В статье описан способ переноса сертификатов CryptoPro. Другие криптопровайдеры хранят сертификаты по-другому. Универсального способа для всех не существует.Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.

Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.

Ошибка копирования контейнера

Бывает случаи, когда при копировании сертификата возникает ошибка: «Ошибка копирования контейнера». Делимся инструкцией, что делать в такой ситуации.

При копировании сертификата возникает ошибка:

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

Для решения данной проблемы необходимо:

Crypto Pro 5.0

  1. Проверить наличие лицензии на КриптоПроCSP. Ошибка может возникать на КриптоПРО CSP с истекшими сертификатами со встроенной лицензией. Для автоматического ввода лицензии нужно перейти ссылке и установить лицензию по инструкции.
  2. Повторить копирование сертификата.
  3. Если в имени контейнера есть строка типа: _копия_a0b63dd8 (например 06208439@2016-12-29-ЗАО ПФ СКБ Контур_копия_a0b63dd8), то контейнер имеет признак неэкспортируемый. Следуйте инструкции в зависимости от носителя:

    сертификат в реестре, на USB-флеш-накопителе, локальном компьютере или дискете
    сертификат на рутокене

  4. При копировании, в окне выбора контейнера, нужно поставить переключатель Уникальные имена, продолжить копирование.

  5. Проверить, что КриптоПро запущена с правами администратора. На вкладке «Общие» не должно быть ссылки «Запустить с правами администратора». Если ссылка есть — нажать на ее.

Сертификат в реестре, на USB-флеш-накопителе, локальном компьютере или дискете.

Чтобы сделать копию такого сертификата, необходимо:

Сертификат находится на рутокене.

  • Подключить токен к компьютеру.
  • Скачать и запустить утилиту tokens.exe.
  • У нужного контейнера нажать «Экспорт».
  • Выбрать место для экспорта (можно сразу указать путь к USB-флеш-накопителю).
  • Переименовать контейнер. Имя можно задать любое, отличное хотя бы на 1 символ от исходного.
  • Далее если хотите работать с реестранужно с помощью утилиты CertFix проделать действия, описанные в пункте «Сертификат в реестре, на USB-флеш-накопителе, локальном компьютере или дискете».

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • P12ff ошибка лексус is 250
  • P12c3 ошибка пежо 308