C-программа для шифрования / дешифрования больших файлов с использованием асимметричных ключей

0

Я застрял в этой проблеме, когда мне нужно сделать шифрование-расшифровку в большом файле (> 5 МБ) с использованием асимметричного ключа с помощью OpenSSL.

Ниже приведено краткое описание моего требования:

  1. У меня есть устройство, работающее с Linux на нем.
  2. Устройство может загружать изображение/патч прошивки с сервера.
  3. Изображение/патч на сервере будет зашифрован с использованием открытого ключа, который будет уже передан им.
  4. После загрузки изображения устройству необходимо проверить его подлинность, дешифруя его с помощью закрытого ключа.
  5. Целевое устройство будет использовать библиотеки OpenSSL, созданные и установленные на нем для дешифрования.
  6. Наряду с этим целевому устройству необходимо проверить подпись загружаемого файла/патча прошивки.

Я нашел несколько разных способов сделать это в Интернете. Самый привлекательный способ для меня - использовать OpenSSL S/MIME encrypt/decrypt. Но я не нашел подходящую библиотеку/инструмент для этого, используя язык программирования C. Все примеры, которые я нашел, в основном используют консольное приложение.

Были некоторые примеры программ С, но они не выполняли шифрование и дешифрование с использованием асимметричных ключей; вместо этого они использовали случайный 128-битный ключ и IV.

Не могли бы вы помочь мне, представив несколько примеров.

  • 0
    почему не просто fork и exec в вашем коде?
  • 0
    Спасибо за ответ .... Не могли бы вы рассказать подробнее об этом ..
Показать ещё 3 комментария
Теги:
embedded-linux
embedded
openssl

1 ответ

1

Не забывайте, что OpenSSL является открытым исходным кодом. Если вы хотите увидеть исходный код команды "openssl smime", вам нужно взглянуть на файл apps/smime.c в исходном коде openssl.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню