Я занимаюсь разработкой приложения с использованием Qt, и в какой-то момент мне потребовалось зашифровать и «подписать» файл, предоставив закрытый сертификат с использованием SHA-256.Я провел довольно много чтений по OpenSSL и сертификатам, но я не в состоянии понять, как вести процесс в коде C ++.
По сути, я пытаюсь выполнить эквивалент этой команды:
openssl dgst -sha256 -out output.txt -sign certificate.pem input.txt
Я изучил доступные классы Qt, а именно:
Класс QSslCertificate имеет метод дайджеста, который представляется актуальным.Точно так же я могу получить хешированное содержимое файла, используя QCryptographicHash :: hash.Но нигде я не могу найти упоминаний о «подписании» файла сертификатом, содержащим ключ RSA.
Не могу сказать, что полностью понимаю процесс подписания, но я слышал терминологию «маскировка»сгенерированный хеш SHA256 с использованием алгоритма RSA - который, как я предполагал, достигается с помощью аргумента OpenSSL -sign.
Если Qt никогда не предназначался для этого, что было бы самым простым или типичной альтернативой.Я ожидаю, что мне нужно будет включить другую библиотеку?Или я просто погружаюсь, чтобы изучить библиотеки OpenSSL и попытаться включить их в свой проект?https://www.openssl.org/docs/manmaster/man3/
Учитывая, насколько малым будет этот процесс шифрования в моем приложении, я был бы признателен за вариант, который требует минимальной интеграции и обучения.