Криптопро что такое контейнер

КриптоПро CSP: как создать хранилище сертификата и скопировать контейнер закрытого ключа

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

Чтобы воспользоваться данной услугой через сайт УЦ, заявителю потребуется маркер или карточка временного доступа. Это пара логин–пароль для авторизации в защищенной зоне интернет-портала центра сертификации, выдавшего своему клиенту текущий СКПЭП. Проапдейтить его можно непосредственно через веб-интерфейс УЦ. Если требуется новый сертификат, заявителю следует выбрать подходящий УЦ и сделать соответствующий запрос, воспользовавшись ссылкой типа «Мастер создания сертификатов», размещенной на официальном сайте учреждения.

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

Услугу удаленного создания нового или обновления текущего СКПЭП предлагают Федеральная служба по регулированию алкогольного рынка (ФСРАР), МТС-банк, УЦ Такском и другие организации. В следующих разделах мы расскажем, как с помощью КриптоПро CSP создать хранилище личного сертификата и скопировать контейнер закрытого ключа на подходящий носитель при использовании удаленных сервисов для запроса СКПЭП.

КриптоПро CSP: как создать ключевой контейнер

Ключевой контейнер – это «запароленный» каталог в хранилище (реестре) или системной библиотеке «операционки» (далее – ОС) или на защищенном ключевом USB-носителе: токене, смарт-карте. Он считается одним из инструментов защиты криптографических средств генерации и верификации ЭП, лицензий, сертификатов, паролей и другой личной информации.

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

Помимо выполнения основных функций – генерации и верификации ЭП – КриптоПро CSP «умеет» функционировать как зависимая компонента: приложение можно вызывать из сторонних программ. Например, через веб-интерфейс сайта УЦ, в который заявитель обратился за услугой обновления СКПЭП. КриптоПро CSP бывает необходим и для того, чтобы создать ключевой контейнер и установить в него сертификат ключа проверки ЭЦП, в том числе с обращением к службе сертификации ОС Microsoft (далее – MS) Windows Server.

Испытать работу генератора ключей и ознакомиться с процедурой запроса СКПЭП можно на странице тестового удостоверяющего центра разработчика программного модуля. Ниже мы пошагово опишем этот процесс.

Внимание! Если вы запрашиваете СКПЭП, который планируете использовать при работе с электронной почтой, указывайте «Область применения ключа». Также учитывайте: вы не получите доступа к криптофункциям для e-mail, если указанный адрес электронной почты не совпадает с зарегистрированным в MS Outlook Express.

Чтобы получить возможность применять выданный по удаленному запросу СКПЭП при обмене данными по протоколу TLS, перейдите к разделу «Область применения ключа» и укажите его тип: «Сертификат аутентификации клиента».

Источник

Исправление ошибки отсутствия в контейнере закрытого ключа сертификата ЭП

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Из нашей статьи вы узнаете:

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

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

Что может послужить причиной такой ошибки

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

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

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

Решение ошибки: отсутствие электронного сертификата в контейнере закрытого ключа

Для начала запускаем «КриптоПро» нажатием кнопки «Пуск». Затем выбираем «Настройку», в возникающем на мониторе окне заходим в опцию панели управления, далее «сервис – установить личный сертификат».

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Далее, через кнопку «обзор» указываем путь, где сохранен открытый ключ – файл с расширением *.cert или *.crt

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Жмём «Далее», в мастере установки сертификата мы увидим путь, который указывали до нашего сертификата.

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Нам отображается информация, содержащаяся в открытом ключе на пользователя, жмём «далее»

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

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

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

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

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

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Личный сертификат пользователя всегда устанавливается в хранилище «Личное», можно выбрать как вручную, так и КриптоПро может сделать это за вас по умолчанию, затем подтверждаем установку цепочки сертификатов и жмём «Далее»

В случае успешной установки КриптоПро выдаст окно с информацией об окончании процедуры и жмём «Готово»

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Затем появится окно с подтверждением данной операции, жмём «ДА»

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

В следующем окне увидим информацию о том, что процесс окончен успешно. Сертификат установлен в контейнер закрытого ключа.

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Особенности версий КриптоПро

С января 2019 года квалифицированные сертификаты могут выпускаться только по ГОСТ 2012, выпуск по другому ГОСТу прекращен. Мы об этом писали ранее в статье. Важно помнить, что версии криптопро на ГОСТ 2012 работают только с версии 4.0 и выше. Все старые версии КриптоПро, для нормальной работы, потребуется обновить или заменить на актуальную. Сделать это нужно не позднее 31 декабря 2019 года.

Источник

Создание контейнера закрытого ключа

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

Папка с закрытым ключом должна содержать 6 файлов с расширением.key. Ниже приведен пример содержимого такой папки.

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Копирование контейнера также может быть выполнено с помощью криптопровайдера КриптоПро CSP. Для этого необходимо выполнить следующие шаги:

1. Выбрать Пуск / Панель Управления / КриптоПро CSP.

2. Перейти на вкладку Сервис и кликнуть по кнопке Скопировать. (см. рис. 1).

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Рис. 1. Окно «Свойства КриптоПро CSP»

3. В окне Копирование контейнера закрытого ключа нажать на кнопку Обзор (см. рис. 2).

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

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

4. Выбрать контейнер из списка, кликнуть по кнопке Ок, затем Далее.

5. Далее необходимо указать вручную имя контейнера, на который будет выполнено копирование. В названии контейнера допускается русская раскладка и пробелы. Затем выбрать Готово (см. рис. 3).

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Рис. 3. Имя ключевого контейнера

6. В окне «Вставьте и выберите носитель для хранения контейнера закрытого ключа» необходимо выбрать носитель, на который будет помещен новый контейнер (см. рис. 4).

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Рис. 4. Выбор чистого ключевого носителя

7. На новый контейнер будет предложено установить пароль. Установка пароля не является обязательной, можно оставить поле пустым и нажать на кнопку Ок (см. рис. 5).

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Рис. 5. Установка пароля на контейнер

Если копирование выполняется на носитель Rutoken, сообщение будет звучать иначе (см. рис. 6)

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Рис. 6. Pin-код для контейнера

Рекомендуется указать стандартный pin-код (12345678)

Обращаем ваше внимание: в случае утери пароля/pin-кода использование контейнера станет невозможным.

8. После выполнения копирования система вернется на вкладку Сервис в окне КриптоПро CSP. Копирование завершено. Если планируется использовать для работы в системе «Контур-Экстерн» новый ключевой контейнер, необходимо установить личный сертификат (см. Как установить личный сертификат?).

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

КриптоПро ЭЦП Browser plug-in — является встраиваемым модулем в КриптоПро CSP и используется для создания и верификации ЭП на веб-страницах. Соответственно, плагин дополняет КриптоПРо ЭП. Чтобы купить программу КриптоПро CSP и дополнительные модули в SoftMagazin, необходимо определиться с нужным типом лицензии.

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

Для установки электронной подписи необходим контейнер с ключевой информацией (флешка, RuToken и другие). Программа КриптоПро CSP должна быть установлена на компьютере. Запустив ПО, во вкладке Сервис необходимо нажать на кнопку «Посмотреть сертификаты в контейнере». После этого подключить накопитель с контейнером. Выбрав ключевой контейнер, необходимо будет ввести пин-код.

В информационном окне появятся данные о сертификате, если они соответствуют нужным, выберите Свойства. Перейдя во вкладку общие нужно будет нажать на кнопку «Установить сертификат» и выбрать личное хранилище. Стоит убедиться также в наличии корневого сертификата. Эти этапы составляют основные шаги по установке ЭП. Далее потребуется работа с Outlook, Microsoft Word и другими программами.

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Установка контейнера КриптоПро

Для установки контейнера должен быть установлен и верифицирован сертификат в Личном Хранилище/Кабинете. После это нужно выполнить действия, описанные выше.

Для самостоятельного создания ключевого контейнера одним из вариантов будет создание тестового варианта на сайте тестового Удостоверяющего Центра. Здесь можно получить сертификат открытого ключа проверки ЭП. Для этого необходимо будет создать открытый и закрытый ключи и данные подтверждающие связь сертификата и его владельца.

Как установить ключ в КриптоПро

При использовании большого количества на одном ПК электронных подписей, может возникнуть надобность установить ключ в реестр КриптоПро (скопировать). Для этого необходимо подключить съемный носитель с реестром КриптоПро. Открыв ПО через меню Пуск нужно будет выбрать вкладку Оборудование и нажать на «Настроить считыватели». Реестр может быть виден сразу, если его нет, потребуется создать через Мастер Установки Считывателей.

Чтобы скопировать ключ ЭЦП, нужно зайти в программе во вкладку Сервис. Выбрав «Скопировать», выбираем подключенный носитель в окне обзора. Затем потребуется ввести пароль контейнера, задать ему имя и нажать «Готово». Следует выбрать наименование Реестр и придумать новый пароль для контейнера. После копирования контейнера не забудьте установить личный сертификат в хранилище.

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

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

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

Установить Рутокен в КриптоПро

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

Так как все действия выполняются внутри ключа-идентификатора и протокол обмена данными защищен уникальной технологией, рационально использовать подобный дистрибутив при работе с электронными документами высокой важности. Если использовать отдельно Рутокен, необходимо прежде всего установить драйвера на ПО. Нельзя подключать идентификатор до установки драйверов. После инсталляции потребуется установка модулей поддержки для КриптоПро. Пройдя этапы подготовки, можно подключать ключ Рутокен. Затем следует запустить программу КриптоПро и во вкладке Оборудование настроить считыватели. Для работы идентификатора нужно выбрать пункт «Все считыватели смарт-карт» и нажать «Далее».

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Как установить КриптоПро ЭЦП Browser plug-in

Плагин используется при создании и верификации электронной подписи, при работе на веб-страницах, когда используется ПО КриптоПро. Легко встраиваемый ЭЦП Browser plug-in поддерживает возможность работать с любым из браузеров, которые поддерживает сценарии JavaScript. Подпись может создаваться для разных типов данных: веб-страницы, текстовые сообщения, электронные документы. Если вам необходимо установить КриптоПро ЭЦП Browser plug-in, воспользуйтесь рекомендациями, приведенными ниже.

Для того чтобы установить КриптоПро ЭЦП Browser plug-in потребуется один из современных браузеров, который должен быть установлен на компьютере. Необходимо найти установочный файл и запустить его. Следуя указания Мастера Установки выполнить все этапы установки. После этого необходимо будет перезайти в веб-браузер. При новом запуске браузера должна появиться информация, что плагин загружен. Если требуется установить плагин для UNIX-платформ, обязательно потребуется установка пакета cprocsp-rdr-gui-gtk.

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

Чтобы воспользоваться данной услугой через сайт УЦ, заявителю потребуется маркер или карточка временного доступа. Это пара логин–пароль для авторизации в защищенной зоне интернет-портала центра сертификации, выдавшего своему клиенту текущий СКПЭП. Проапдейтить его можно непосредственно через веб-интерфейс УЦ. Если требуется новый сертификат, заявителю следует выбрать подходящий УЦ и сделать соответствующий запрос, воспользовавшись ссылкой типа «Мастер создания сертификатов», размещенной на официальном сайте учреждения.

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

Услугу удаленного создания нового или обновления текущего СКПЭП предлагают Федеральная служба по регулированию алкогольного рынка (ФСРАР), МТС-банк, УЦ Такском и другие организации. В следующих разделах мы расскажем, как с помощью КриптоПро CSP создать хранилище личного сертификата и скопировать контейнер закрытого ключа на подходящий носитель при использовании удаленных сервисов для запроса СКПЭП.

КриптоПро CSP: как создать ключевой контейнер

Ключевой контейнер – это «запароленный» каталог в хранилище (реестре) или системной библиотеке «операционки» (далее – ОС) или на защищенном ключевом USB-носителе: токене, смарт-карте. Он считается одним из инструментов защиты криптографических средств генерации и верификации ЭП, лицензий, сертификатов, паролей и другой личной информации.

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

Помимо выполнения основных функций – генерации и верификации ЭП – КриптоПро CSP «умеет» функционировать как зависимая компонента: приложение можно вызывать из сторонних программ. Например, через веб-интерфейс сайта УЦ, в который заявитель обратился за услугой обновления СКПЭП. КриптоПро CSP бывает необходим и для того, чтобы создать ключевой контейнер и установить в него сертификат ключа проверки ЭЦП, в том числе с обращением к службе сертификации ОС Microsoft (далее – MS) Windows Server.

Испытать работу генератора ключей и ознакомиться с процедурой запроса СКПЭП можно на странице тестового удостоверяющего центра разработчика программного модуля. Ниже мы пошагово опишем этот процесс.

Внимание! Если вы запрашиваете СКПЭП, который планируете использовать при работе с электронной почтой, указывайте «Область применения ключа». Также учитывайте: вы не получите доступа к криптофункциям для e-mail, если указанный адрес электронной почты не совпадает с зарегистрированным в MS Outlook Express.

Чтобы получить возможность применять выданный по удаленному запросу СКПЭП при обмене данными по протоколу TLS, перейдите к разделу «Область применения ключа» и укажите его тип: «Сертификат аутентификации клиента».

Источник

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

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

Файл primary.key

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

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Файл masks.key

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

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

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

Файл header.key

Криптопро что такое контейнер. Смотреть фото Криптопро что такое контейнер. Смотреть картинку Криптопро что такое контейнер. Картинка про Криптопро что такое контейнер. Фото Криптопро что такое контейнер

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

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

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

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

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

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

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

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

Версию для Windows можно скачать отсюда там же есть сертификаты и закрытый ключ для тестирования, для сборки потребуется бесплатный компилятор Borland C++ 5.5

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

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

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

Компиляция privkey.c

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

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

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

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

Пользуемся закрытым ключом private.key для подписывания файла file.txt

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *