Как экспортировать открытый ключ в OpenSSL / libcrypto? - PullRequest
4 голосов
/ 29 сентября 2010

Я создал ключ RSA, используя:

RSA_generate_key(2048, RSA_F4, NULL, NULL);

Теперь я хочу экспортировать открытый ключ другой стороне B. Прямо сейчас, я только что memcpy'd всю структуру RSA * и отправил это по проводам, и B может использовать это для шифрования с использованием RSA_public_encrypt ( ).

Но я думаю, что в этом случае я фактически экспортировал всю пару открытых / закрытых ключей, а не только открытый ключ. Я хочу экспортировать только открытый компонент ключа RSA. Как мне использовать OpenSSL API для этого?

Спасибо

1 Ответ

6 голосов
/ 29 сентября 2010

Возможно, вам нужны функции d2i_RSAPublicKey и i2d_RSAPublicKey. i2d сериализует структуру ключа RSA в строку байтов, а d2i выполняет обратную операцию.

...