Извлечение открытого ключа из закрытого ключа в OpenSSL - PullRequest
4 голосов
/ 10 апреля 2010

Мне нужно извлечь открытый ключ RSA из закрытого ключа RSA, используя OpenSSL.

В настоящее время я использую RSAPublicKey_dup(), передавая закрытый ключ RSA* для получения открытого ключа. Однако, хотя вызов работает, я не могу загрузить (или использовать) этот открытый ключ с помощью инструмента командной строки openssl.

Если я сгенерирую открытый ключ с помощью инструмента командной строки ("$ openssl rsa -in private.pem -pubout > public.pem"), я смогу использовать его, и он будет работать как шарм.

Ребята, вы знаете, как я могу получить эту работу? Может быть, другая функция? Документацию OpenSSL довольно сложно просматривать ...

Спасибо.

1 Ответ

2 голосов
/ 10 апреля 2010

Мне удалось сделать это, используя PEM_write_bio_RSA_PUBKEY(), чтобы записать данные PEM в буфер в памяти, затем используя PEM_read_bio_RSA_PUBKEY(), чтобы получить новый RSA*.

Теперь сгенерированный открытый ключ можно использовать;)

...