как преобразовать открытый ключ в строку с помощью openSSL API?

Я могу получить содержимое открытого ключа из файла сертификата с помощью openssl, перейдя по ссылке http://fm4dd.com/openssl/certpubkey.htm

Однако он выводит открытый ключ на стандартный вывод. Я хочу иметь возможность хранить его в строке. Есть ли способ получить его в буфер символов или строку?

Строка PEM_write_bio_PUBKEY(outbio, pkey) выводится на стандартный вывод.

Искал совсем немного, не смог получить то, что хотел.

Любая помощь будет оценена по достоинству, лучше, если будет предоставлен пример кода, так как у меня мало времени.

Заранее спасибо.


person Abbas    schedule 16.11.2018    source источник
comment
Код, на который вы ссылаетесь, настраивает outbio как stdout. Я предполагаю, что вам просто нужно вместо этого сделать другой вывод BIO? например BIO_s_mem   -  person Rup    schedule 16.11.2018
comment
Спасибо, если бы вы могли предоставить код для этого, было бы полезно.   -  person Abbas    schedule 16.11.2018


Ответы (1)


Наконец-то я нашел решение! Структура X509 в удобочитаемую строку

Просто заменил на EVP_PKEY *key в подписи X509_to_PEM() и использовал PEM_write_bio_PUBKEY(bio, key) вместо PEM_write_bio_X509(bio, cert).

Работал !

person Abbas    schedule 16.11.2018