Я создал пару ключей rsa в C++ с использованием метода RSA_generate_key и напишу открытый ключ в отдельный файл. Когда я попытался зашифровать текст, используя этот открытый ключ через командную строку, я получаю сообщение об ошибке «Не удалось загрузить открытый ключ». Пожалуйста, кто-нибудь помочь мне в этом ...не удалось загрузить открытый ключ rsa, если он создан с использованием C++
команда используется для шифрования
openssl rsautl -encrypt -inkey public.pem -in myfile.txt -out file.ssl
функция используется для генерации ключей
RSA_generate_key(1024,3,0,0);
Спасибо.
На самом деле я писал в файл, как и любой другой массив символов. Так что это был сбой. Теперь я использую PEM_write_PUBKEY(), он работает нормально. Пожалуйста, dnt mind для того, чтобы задать другой вопрос здесь .... Теперь у меня есть закодированные строками стробированные данные base64, я декодирую его с помощью BIO_f_base64() и сохраняю в массиве char (buffer). когда я использую этот буфер для дешифрования, RSA_private_decrypt() бросает «-1». Могли бы, пожалуйста, помочь мне в этом ....... – user3231632
Обязательно сохраните закрытый ключ тоже с 'PEM_write_PrivateKey'. В противном случае вы не сможете расшифровать сообщение позже. – jww
Я сохранил закрытый ключ, используя функцию PEM_write_PrivateKey для pri.key. Я сделал эхо "base64encodedstring" | base64 --decode >> a.txt и используется pri.key, чтобы расшифровать его с помощью командной строки. он работал отлично. но с помощью функции RSA_private_decrypt(), которая не может расшифровывать. Если вам нужно, я отправлю свой код. – user3231632