Некоторое время назад я кодировал TCP-сервер для запуска некоторых служб на своих ПК, и сегодня я решил внедрить шифрование.Я думал, что сервер отправит свой открытый ключ RSA, клиент сгенерирует ключ AES и отправит его на сервер, зашифрованный открытым ключом
. Я использую методы OpenSSL OpenSSL::PKey::RSA.new(2048)
и OpenSSL::Cipher::AES.new(256, :CBC)
* 1005.*
Данные, которые я передаю, в основном представляют собой хэш с некоторой информацией, которую я обращаюсь к json с {}.to_json
Ошибка возникает, когда сервер получает ключ AES и IV (вектор инициализации) и пытаетсярасшифруйте их, используя rsaobj.private_decrypt
(тот же объект, откуда я раньше брал открытый ключ).Я получаю «ошибку проверки заполнения»
Я знаю, как я все это делаю, это ужасно, поэтому, если кто-то сможет так любезно объяснить мне другой способ, я буду очень признателен.