Использовать открытый ключ RSA в кодировке DER с OpenSSL - PullRequest
0 голосов
/ 25 апреля 2018

Мне нужно получить открытый ключ RSA по сети и использовать его для шифрования данных для отправки обратно на сервер.Я не могу контролировать формат посылок с сервера ключей, должен работать с текущей реализацией.

Я реализовал протокол в Python,

key_bin = get_server_key() # "30818902818100e8ecd6f1..."
key = Crypto.PublicKey.RSA.importKey(key_bin)
padded_data = add_rsa_padding(data)
encrypted_data = key.encrypt(padded_data, 0)[0]
send_data(encrypted_data)

Теперь у меня проблемы с переносом его в библиотеку C ++, предпочтительно использовать OpenSSL, но я не могу найти способ загрузить открытый ключв не-PEM формате, и преобразование его в PEM динамически при получении кажется ужасной идеей.Вероятно, есть какой-то API, который я пропустил, может кто-нибудь помочь с этим?

1 Ответ

0 голосов
/ 25 апреля 2018

Если у вас уже есть открытый ключ в кодировке DER, вы можете использовать d2i_RSAPublicKey() для преобразования его во внутреннюю структуру OpenSSL RSA, которую затем можно использовать с различными другими API-интерфейсами OpenSSL для выполнения вашего шифрования

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...