2010-04-10 1 views
4

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

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

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

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

Спасибо.

ответ

2

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

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

+0

его неправильно, результат по-прежнему закрытый ключ – AbiusX

+0

@AbiusX: Можете ли вы уточнить? Кажется, пока все работает нормально. – ereOn

+0

Я не помню трюк, который я вытащил, должен посмотреть мою историю версий – AbiusX

 Смежные вопросы

  • Нет связанных вопросов^_^