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

Как создать контейнер закрытого ключа Криптопро и установить его, что это такое ЭЦП
Содержание
  1. Что такое ключевой контейнер? зачем нужен пароль на контейнер?
  2. Что такое контейнер закрытого ключа криптопро
  3. Введение
  4. Основные понятия (если есть аббревиатуры, понятия и т.д.)
  5. Возможные значения имени контейнера:
  6. Как в linux/unix установить сертификаты?
  7. Как посмотреть список закрытых ключей?
  8. Как проверить, работоспособен ли контейнер с закрытыми ключами?
  9. Как прописать свой ключ
  10. Как сделать новые закрытые ключи?
  11. Как скопировать ключи с дискеты/флешки на hdimage?
  12. Как скопировать контейнер/закрытую часть ключа?
  13. Как установить сертификат подписи через криптопро csp —
  14. Компиляция openssl библиотеки
  15. Криптопро csp ошибка 0x80090010 отказано в доступе
  16. Массовый перенос ключей и сертификатов cryptopro с компьютера на компьютер
  17. Помогла статья? подписывайся на telegram канал автора
  18. Проверяем подпись
  19. Сборка утилиты конвертирования ключа
  20. Создание контейнера
  21. Установка криптопро csp
  22. Установка сертификата в личные
  23. Файл masks.key
  24. Файл primary.key
  25. Формирование файла закрытого ключа private.key
  26. Часто задаваемые вопросы по теме статьи (faq)
  27. Читаем закрытый ключ и конвертируем
  28. Читаем контейнер закрытого ключа криптопро средствами openssl
  29. Шаг 1. открытие программы криптопро
  30. Шаг 2. копирование контейнера закрытого ключа
  31. Шаг 3. ввод ключевого контейнера
  32. Шаг 4. ввод нового ключевого контейнера
  33. Шаг 5. выбор носителя для скопированного контейнера
  34. Шаг 6. установка пароля

Что такое ключевой контейнер? зачем нужен пароль на контейнер?

Ключевые контейнеры – это способ хранения закрытых ключей, реализованный в нашем продукте. Их физическое представление зависит от типа ключевого носителя (на флешке, дискете, жестком диске это директория в которой хранится набор файлов с ключевой информацией; в случае со смарт-картами – файлы в защищенной памяти смарт-карты, в случае с реестром – раздел реестра, содержащий некоторые параметры). Пароль на контейнер имеет разное значение для смарт-карт и для носителей, не являющихся смарт-картами.

Источник

Что такое контейнер закрытого ключа криптопро

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

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

Введение

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

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

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


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

Основные понятия (если есть аббревиатуры, понятия и т.д.)

Ключевой носитель (Электронный идентификатор) — это компактное устройство в виде USB-брелка, которое служит для авторизации пользователя в сети или на локальном компьютере, защиты электронной переписки, безопасного удаленного доступа к информационным ресурсам, а также надежного хранения персональных данных.

Защищенный носитель — это компактное устройство, предназначенное для безопасного хранения электронной подписи. Представляет собой устройство в виде USB-флешки с защищенной паролем картой памяти, на которой хранится информация для создания электронной подписи.

Рекомендации по решению проблемы зависят от типа ключевого носителя, на котором расположен контейнер:

Flash-накопитель

Если в качестве ключевого носителя используется flash-накопитель, необходимо выполнить следующие шаги:

1. Убедиться, что в что в корне носителя находится папка, содержащая файлы: header, masks, masks2, name, primary, primary2. Файлы должны иметь расширение.key, а формат названия папки должен быть следующим: xxxxxx.000

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

Rutoken

Если в качестве ключевого носителя используется защищённый носитель Rutoken, необходимо выполнить следующие шаги:

1. Убедиться, что на рутокене горит лампочка. Если лампочка не горит, то следует воспользоваться следующими рекомендациями.

2. Обновить драйвер Rutoken (см. Как обновить драйвер Rutoken?).

3. Следует убедиться, что на Rutoken содержатся ключевые контейнеры. Для этого необходимо проверить количество свободной памяти на носителе, выполнив следующие шаги:

Если рутокен не виден в пункте «Считыватели» или при нажатии на кнопку «Информация» появляется сообщение «Состояние памяти ruToken не изменилось», значит, носитель был поврежден, необходимо обратиться к вашему менеджеру

В качестве ключевого носителя в сервисных центрах выдаются рутокены объемом памяти около 30000 байт. Один контейнер занимает объем порядка 4 Кб. Объем свободной памяти рутокена, содержащего один контейнер, составляет порядка 26 000 байт, двух контейнеров — 22 000 байт и т д.

Если объем свободной памяти рутокена составляет более 29-30 000 байт, то ключевые контейнеры на нем отсутствуют.

Реестр

Если в качестве ключевого носителя используется считыватель Реестр, необходимо выполнить следующие действия:

Убедиться, что в КриптоПро CSP настроен считыватель «Реестр». Для этого:

Если считыватель отсутствует, его необходимо добавить.

В качестве считывателей (устройств — носителей ключевой информации) могут использоваться flash-накопители, реестр, смарт-карты

Иногда некоторые считыватели могут быть отключены в КриптоПро CSP. Чтобы работать с такими носителями, нужно добавить соответствующие считыватели.

Чтобы добавить считыватели: 1. Запустите КриптоПро CSP от имени администратора.

2. На вкладке «Оборудование» нажмите кнопку «Настроить считыватели».

3. В появившемся окне нажмите «Добавить».

4. В Мастере установки считывателей выберите, какой считыватель добавить: «Все съемные диски», «Реестр», «Все считыватели смарт-карт».

5. Нажмите «Далее», задайте имя считывателя при необходимости, нажмите «Готово».

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

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

Остались вопросы?

Отдел технической поддержки

Источник

Возможные значения имени контейнера:

ЗначениеОписание
NULLКонтейнер по умолчанию. Если конфигурация «КриптоПро CSP» настроена на хранение ключей на диске, то именем контейнера по умолчанию является имя пользователя ОС, вызвавшего CSP.
CONTAINERИмя контейнера.
MEDIAUNIQUEКонтейнер по умолчанию на носителе (MEDIAUNIQUE).
MEDIAUNIQUECONTAINERКонтейнер на заданном носителе (MEDIAUNIQUE). Если носитель не поддерживает уникальных имен, то уникальное имя носителя отсутствует, но символ опускать в этом случае нельзя. Если носитель поддерживает длинные имена (например, реестр), то имя контейнера в этом случае совпадает FOLDER.
MEDIAUNIQUEFOLDERCRCКонтейнер на заданном носителе (MEDIAUNIQUE) в папке FOLDER с именем CRC16 которого в нижнем регистре в кодировке UTF8 совпадает с CRC. Если носитель не поддерживает уникальных имен, то уникальное имя носителя отсутствует, но символ опускать в этом случае нельзя. Данный формат не может использоваться для создания контейнеров.
\.READERMEDIAUNIQUEКонтейнер по умолчанию на носителе (MEDIAUNIQUE), с заданным именем считывателя.
\.READERMEDIAUNIQUECONTAINERКонтейнер на заданном носителе (MEDIAUNIQUE), с заданным именем считывателя. Если носитель не поддерживает уникальных имен, то уникальное имя носителя отсутствует, но символ опускать в этом случае нельзя.
\.READERMEDIAUNIQUEFOLDERCRCКонтейнер на заданном носителе (MEDIAUNIQUE) в папке FOLDER, с заданным именем считывателя и CRC16 имени контейнера в нижнем регистре в кодировке UTF8 совпадает с CRC. Если носитель не поддерживает уникальных имен, то уникальное имя носителя отсутствует, но символ опускать в этом случае нельзя. Если носитель поддерживает длинные имена (например, реестр), то имя контейнера в этом случае совпадает с FOLDER. Данный формат не может использоваться для создания контейнеров.
\.READERCONTAINERИмя контейнера на заданном считывателе.
\.READERКонтейнер по умолчанию на заданном считывателе.

Во всех перечисленных выше формах (кроме NULL), оконечный символ не влияет на смысл контейнера.

Полный список поддерживаемых считывателей и типов носителей можно найти в Формуляре к конкретной версии «КриптоПро CSP»

Источник

Как в linux/unix установить сертификаты?

Основной утилитой для работы с сертификатами является certmgr (лежит в /opt/cprocsp/bin/ ). К ней есть man: man 8 certmgr

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

Список контейнеров с закрытыми ключами можно посмотреть утилитой csptest. Она находится в директории /opt/cprocsp/bin/

В полученном списке имена контейнеров будут представлены в том виде, в котором их воспринимают все бинарные утилиты, входящие в дистрибутив CSP (\. ).

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

Открыть(проверить) контейнер можно утилитой csptest. Она находится в директории /opt/cprocsp/bin/ :

где имя считывателя: HDIMAGE, если используете жесткий диск для хранения ключей FLASH, если используете флешку FAT12_0, если используете дискету

Как прописать свой ключ

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

  1. Переход в меню «Пуск».
  2. Открытие папки «Крипто-Про».
  3. Обнаружение файла «Криптопро CSP». Поиск ярлыка "КриптоПРО" в меню "Пуск"
  4. Запуск файла от имени администратора. Запуск от имени администратора
  5. Открыть вкладку «Оборудование», перейти разделу «Типы ключевых носителей» на вкладку «Типы носителей» и нажать «Настроить типы носителей…». Настроить типы носителей
  6. Отобразится диалоговое окно управления сведениями персонализации. Управление ключевыми носителями
  7. Выбираем оптимальный вариант и делаем его активным при помощи нажатия на «Добавить».
  8. На экране отобразится меню установки, где рекомендуется нажать «Далее». Мастер установки ключевого носителя
  9. Выбираем подходящий пункт. Выбор производителя ключевого носителя
  10. Вводим имя выбранного носителя и продолжаем выполнение мероприятия. Настройка имени ключевого носителя
  11. Возможно, отобразятся дополнительные идентификационные сведения. Для MPCOS/EMV актуально заполнение разметки, после чего можно продолжать инсталляцию. Параметры разметки карты
  12. Мастер попросит нажать «Готово» для завершения выполнения требуемой операции. Завершение работы мастера установки ключевого носителя

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

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

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

Обычно ключи создаются вместе с запросом на сертификат. Если Вам требуется создать ключи и запрос на сертификат, воспользуйтесь утилитой cryptcp(документация на неё входит в состав документации на CSP, см. раздел «Работа с запросами на сертификат»).

Создание контейнера компьютера:

Как скопировать ключи с дискеты/флешки на hdimage?

Скопируйте ключи(директорию с именем в формате 8.3) из корня дискеты или флешки в директорию /var/opt/cprocsp/keys/имя_пользователя

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

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

Если для работы используется дискета или flash-накопитель, копирование можно выполнить средствами Windows (этот способ подходит для версий КриптоПро CSP не ниже 3.0). Папку с закрытым ключом (и файл сертификата — открытый ключ, если он есть) необходимо поместить в корень дискеты (flash-накопителя).

Пример закрытого ключа — папки с шестью файлами, и открытого ключа — файла с расширением .cer.

Копирование контейнера также можно выполнить с помощью КриптоПро CSP. Для этого необходимо выполнить следующие шаги:Как правило, в закрытом ключе присутствует открытый ключ (файл header.key в этом случае будет весить больше 1 Кб). В этом случае копирование открытого ключа выполнять не обязательно.

Как установить сертификат подписи через криптопро csp —

Часто к нам обращаются с вопросом, как установить сертификат через КриптоПpo CSP. Ситуации бывают разные: сменился директор или главбух, получили новый сертификат в удостоверяющем центре и т.п. Раньше все работало, а теперь нет. Рассказываем, что нужно делать, чтобы установить личный цифровой сертификат на компьютер.

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

1. Через меню КриптоПро CSP «Просмотреть сертификаты в контейнере»

2. Через меню КриптоПро CSP «Установить личный сертификат»

Если на рабочем месте используется операционная система Windows 7 без SP1, то устанавливать сертификат следует по рекомендациям варианта № 2.

Вариант № 1. Устанавливаем через меню «Просмотреть сертификаты в контейнере»

Чтобы установить сертификат:

1. Выберите Пуск -> Панель управления -> КриптоПро CSP -> вкладка Сервис и нажмите кнопку “Просмотреть сертификаты в контейнере”.

Image 1.jpg

2. В открывшемся окне нажмите на кнопку “Обзор”. Выберите контейнер и подтвердите свой выбор кнопкой ОК.

Image 2.jpg

3. В следующем окне нажмите “Далее”.

Если появится сообщение “В контейнере закрытого ключа отсутствует открытый ключ шифрования”, перейдите к установке цифрового сертификата по варианту № 2.

4. Если на вашем компьютере установлена версия “КриптоПро CSP” 3.6 R2 (версия продукта 3.6.6497) или выше, то в открывшемся окне нажмите на кнопку “Установить”. После этого согласитесь с предложением заменить сертификат.

Если кнопка “Установить” отсутствует, в окне “Сертификат для просмотра” нажмите кнопку “Свойства”.

Image 5.jpg

5. В окне “Сертификат” — > вкладка “Общие” нажмите на кнопку “Установить сертификат”.

Image 6.jpg

6. В окне “Мастер импорта сертификатов” выберите “Далее”.

7. Если у вас уставлена версия “КриптоПро CSP” 3.6, то в следующем окне достаточно оставить переключатель на пункте “Автоматически выбрать хранилище на основе типа сертификата” и нажать “Далее”. Сертификат будет автоматически установлен в хранилище “Личные”.

Image 7.jpg

8. В следующем окне нажмите “Далее”, затем “Готово” и дождитесь сообщения об успешной установке сертификата: “Импорт успешно выполнен”.

Image 8.jpg

Вариант 2. Устанавливаем через меню «Установить личный сертификат»

Для установки вам понадобится, собственно, сам файл сертификата (с расширением .cer). Он может находиться, например, на дискете, на токене или на жестком диске компьютера.

Чтобы установить сертификат:

1. Выберите Пуск -> Панель управления -> КриптоПро CSP -> вкладка Сервис и нажмите кнопку “Установить личный сертификат”.

Image 3.jpg

2. В окне “Мастер установки личного сертификата” нажмите на кнопку “Далее”. В следующем окне, чтобы выбрать файл сертификата, нажмите “Обзор”.

Image 4.jpg

3. Укажите путь к сертификату и нажмите на кнопку “Открыть”, затем “Далее”.

Image 10.jpg

4. В следующем окне вы можете просмотреть информацию о сертификате. Нажмите “Далее”.

Image 11.jpg

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

Image 12.jpg

6.  Выбрав контейнер, нажмите “Далее”.

Image 13.jpg

7. Дальше вам необходимо выбрать хранилище, куда будет установлен сертификат. Для этого в окне “Выбор хранилища сертификатов” нажмите на кнопку “Обзор”.

Если у вас установлена версия КриптоПро CSP 3.6 R2 (версия продукта 3.6.6497) или выше, поставьте флаг “Установить сертификат в контейнер”.

Image 14.jpg

8. Выберите хранилище “Личные” и нажмите ОК.

Image 15.jpg

9. Хранилище вы выбрали. Теперь нажмите “Далее”, затем — “Готово”. После этого может появиться сообщение:

Image 16.jpg

В этом случае нажмите “Да”.

10.  Дождитесь сообщения об успешной установке личного сертификата на компьютер.

Все, можно подписывать документы, используя новый сертификат.

Компиляция openssl библиотеки

После скачивания и распаковки исходных текстов openssl в целевой директории выполняем команды:

Получаем готовую библиотеку libcrypto.a в текущей директории. Также потребуются заголовочные файлы из директорий engines/ccgost и include.

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

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

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

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

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

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

Помогла статья? подписывайся на telegram канал автора

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

Проверяем подпись

Все работает просто замечательно!

Спасибо за внимание. Это была моя первая статья на хабре.

Источник

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

Попробуйте назвать копию как-нибудь иначе, например:

Сборка утилиты конвертирования ключа

Далее сборка исходников описана для Linux версии.

Создание контейнера

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

  1. При формировании блока хранения сведений отобразится окно, где предоставлены варианты выбора носителя. Подобная форма отображается на мониторе пользователя, когда имеется несколько устройств считывания. Если ЭЦП один, то будет выбран автоматически. Выбор носителя информации с ключом
  2. Отобразится окно ДСЧ, кроме случаев, когда БДСЧ является аппаратной составляющей ПК. Биологический датчик случайных чиселБиологический ДСЧ позволяет выполнять генерацию начальных символов, являющихся компонентами обычного ДСЧ. Чтобы процесс формирования был успешно завершен, следует перемещать курсор мыши по экрану и нажимать кнопки на клавиатуре.
  3. Когда БДСЧ завершит работу, система автоматически запустит диалоговое окно, где потребуется ввести пароль, обеспечивающий доступ к формируемому контейнеру. Установка пароля для контейнера с ключом Пользователь имеет возможность самостоятельно ввести идентификационную комбинацию, открывающую доступ к ЗК. PIN-код вводится в два поля — «новый пароль» и «подтверждение». Созданный шифр вступит в силу после нажатия на «Ок». В случае выполнения генерации чисел и букв на носитель, предусматривающий функцию внесения аппаратного пароля либо пин-кода, придется ввести данные, которые соответствуют предоставлению доступа к накопителю.
  4. Ввод пароля в СКЗИ является далеко не единственной мерой обеспечения защищенного доступа к ЗК. Чтобы выбрать оптимальный механизм безопасности в меню создания пароля следует нажать на пункт «Подробнее». На экране отобразятся варианты мер предотвращения несанкционированного использования ключа контейнера. Способом защиты файла и предоставлением доступа только его обладателю, в случае носителя с поддержкой пароля, является пин-код. Установка пароля на создаваемый контейнер На мониторе отобразятся параметры ввода пароля (комбинации символов в текстовом формате), мастер ключа (выполнение криптографии файла, хранимого на другом контейнере), а также раздела файлов на несколько носителей. Чтобы вернуться к выбору защитных систем следует снова нажать на «Подробнее».
  5. Выбрав пункт «Установка нового пароля», следует понимать, что придуманный PIN станет защитным средством, устанавливаемым в соответствии с требованиями положения №3 текущей инструкции.
  6. Определившись с тем, что будет интегрирован мастер ключ, следует понимать, что зашифрованные данные перенесутся в иное криптографическое назначение. Выполнение мероприятия возможно после того, как введено значение хранилища или определено его местоположение при помощи кнопки «Выбрать». Выбор контейнера с ключом Отобразится перечень доступных контейнеров. Отобразить список доступных контейнеров
  7. Система произведет шифрование ключа на базе выбранного хранилища. Операционная система программного обеспечения открывает широкие возможности в сфере криптографии ЗК. Можно создать новый контейнер, нажав на соответствующий пункт в меню. Создание нового контейнера
  8. При выборе значения «Раздел на несколько элементов» произойдет равномерное распределение доступа к ключу между некоторым числом носителей. Каждое из физических хранилищ является автономной базой данных с индивидуальными идентификационными сведениями в рамках рассматриваемого проекта. Разделение ключа на несколько частей
  9. Для корректной работы системы потребуется ввести число носителей, обеспечивающих загрузку. Установка количества носителей для загрузки ключа
  10. Потребуется ввести общее число цифровых хранителей, между которыми распределятся объекты. Настройка общего числа носителей

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

  • при формировании каждого участка нужно выбирать персональный элемент идентификации;
  • когда для каждого фрагмента запрограммировано физическое местоположение, отобразится меню БДСЧ, где запустится генерация специальных последовательностей;
  • система предложит ввести пароли для каждого сформированного объекта. Защитные файлы можно изменить нажатием кнопки «Подробнее»;
  • окончательная настройка будет завершена после того, как каждый субъект хранения будет успешно задан.

Установка криптопро csp


Пройдите процедуру регистрации и загрузите дистрибутив КриптоПро CSP с официального сайта разработчика.

Установка дистрибутива СКЗИ КриптоПро CSP должна производиться пользователем, имеющим права администратора. 

При установке КриптоПро CSP следуйте инструкциям мастера установки:

Рекомендуется устанавливать КриптоПро CSP с автоматическими настройками, но вы можете установить язык и конфигурацию уровня безопасности самостоятельно (с помощью кнопки «Дополнительные опции»).


После завершения установки перезагрузите браузер.

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

Для корректной работы «Кировки» с ГИС МТ, необходимо установить сертификат КЭП в хранилище компьютера (Local Machine). 

Файл masks.key

Содержит 32 байта маски ключа в формате Asn1, зашифрованного на ключе хранения pwd_key. Далее 12 байт «затравочной» информации для генерации ключа хранения pwd_key, если криптоконтейнер защищен паролем, то пароль также участвует в генерации ключа хранения.

Далее контрольная сумма (имитозащита) 4 байта. Контрольной информацией для простоты мы пользоваться не будем, общий контроль будет осуществляться путем генерации открытого ключа и сравнения первых 8 байт полученного ключа с соответствующим полем из файла header.key:

Файл primary.key

Содержит 32 байта ключа в формате Asn1. Это только половина ключа, полный ключ получается при делении этого числа по модулю Q на маску. Поле, хранящее модуль Q в библиотеке OpenSSL имеет название order. Маска лежит в файле masks.key:

Формирование файла закрытого ключа private.key

Тестовый закрытый ключ в криптоконтейнере lp-9a0fe.000, сертификат открытого ключа signer.cer и другие файлы для тестирования можно взять отсюда

Получаем результат работы:

Cохраняем в private.key

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

Читаем закрытый ключ и конвертируем

Основную работу выполняют следующие 3 функции:

1. Создаем ключ хранения исходя из 12-ти байтовой «соли» и пароля.

2. Расшифровываем основной ключ на ключе хранения.

3. Делим ключ с маской на маску.

Но так как в библиотеке OpenSLL операция деления по модулю традиционно отсутствует, пользуемся операцией взятия обратного числа и умножением.

Читаем контейнер закрытого ключа криптопро средствами openssl

Речь пойдет о файлах primary.key, masks.key и header.key, которые лежат в директории ххххх.000 на флешке. Данные файлы входят в состав криптоконтейнера закрытого ключа электронной подписи криптопровайдера КриптоПро, формат которого нигде не опубликован.

Целью данной статьи является чтение контейнера и преобразование закрытого ключа в формат, который может быть прочитан в библиотеке OpenSSL. Долгое время было распространено ошибочное суждение, что достаточно сделать нечто вида (primary_key XOR masks_key) и мы получим закрытый ключ в чистом (raw) виде, однако забегая вперед, можно утверждать, что в КриптоПро было применено более сложное преобразование, в худшем случае состоящее из более чем 2000 (двух тысяч) операций хеширования.

Шаг 1. открытие программы криптопро

Чтобы открыть программу проделайте следующий путь:

Нажмите меню Пуск, затем перейдите в Программы ⇒ КриптоПро ⇒ КриптоПро CSP и включите вкладку Сервис.

В открытом окне Сервис нажмите кнопку Скопироватьконтейнер.

Рис. 1.

Шаг 2. копирование контейнера закрытого ключа

После нажатия кнопки Скопировать контейнер, система отобразит окно Копирование контейнера закрытого ключа.

Рис. 2

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

Шаг 3. ввод ключевого контейнера

Существует 3 способа, как заполнить поле Имя ключевого контейнера:

  1. Ручной ввод

  2. Выбрать из списка посредством нажатия кнопки Обзор

  3. Поиск по сертификату ЭЦП

Рис 3.

Кроме заполнения поля Имя ключевого контейнера, необходимо заполнить оставшиеся

опции поиска

  • Введенное имя задает ключевой контейнер – переключатель устанавливается в положение Пользователь или Компьютер, в зависимости от того, в каком хранилище расположен контейнер;
  • Выберите CSP для поиска ключевых контейнеров – необходимый криптопровайдер (CSP) выбирается из предлагаемого списка.

Рис. 4.

После того, как все поля заполнены, нажмите кнопку

Далее

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

Шаг 4. ввод нового ключевого контейнера

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

криптопро копирование сертификата Нажмите на изображение, чтобы увеличить

Рис. 5

После ввода нажмите кнопку

Готово

Шаг 5. выбор носителя для скопированного контейнера

На Вашем экране появится окно, в котором необходимо выбрать носитель для скопированного контейнера.

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

Рис. 6

Вставьте носитель (токен, флешка, дискета) в считыватель и нажмите кнопку ОК.

Шаг 6. установка пароля

Система отобразит окно установки пароля на доступ к закрытому ключу.

Введите пароль, подтвердите его, при необходимости установите флажок Запомнить пароль.

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

Рис. 7

После ввода необходимых данных нажмите кнопку ОК. Средство криптозащиты информации «КриптоПро CSP» скопирует контейнер закрытого ключа.

Если у Вас остались вопросы, Вы можете заказать консультацию специалиста.

Заказать звонок

Оцените статью
ЭЦП64
Добавить комментарий