Зашифровать передачу данных в рубиновом сокете - PullRequest
0 голосов
/ 28 октября 2018

Некоторое время назад я кодировал TCP-сервер для запуска некоторых служб на своих ПК, и сегодня я решил внедрить шифрование.Я думал, что сервер отправит свой открытый ключ RSA, клиент сгенерирует ключ AES и отправит его на сервер, зашифрованный открытым ключом

. Я использую методы OpenSSL OpenSSL::PKey::RSA.new(2048) и OpenSSL::Cipher::AES.new(256, :CBC)* 1005.*

Данные, которые я передаю, в основном представляют собой хэш с некоторой информацией, которую я обращаюсь к json с {}.to_json

Ошибка возникает, когда сервер получает ключ AES и IV (вектор инициализации) и пытаетсярасшифруйте их, используя rsaobj.private_decrypt (тот же объект, откуда я раньше брал открытый ключ).Я получаю «ошибку проверки заполнения»

Я знаю, как я все это делаю, это ужасно, поэтому, если кто-то сможет так любезно объяснить мне другой способ, я буду очень признателен.

...