LINUX.ORG.RU

[perl] откуда брать EVP_PKEY* и X509*?

 


0

0

В продолжение темы

http://www.linux.org.ru/view-message.jsp?msgid=4001971

нашлось решение через IO::Socket::SSL

Итак, даже отвлекаясь от задачи, начатой там: создаём сокет:

my $client = IO::Socket::SSL->new(PeerAddr => "xxx.xxx.xxx.xxx", PeerPort => 443, SSL_cert => ???, SSL_key => ???, SSL_use_cert => "1");

Так вот, SSL_cert должен быть X509* (или массивом из них), SSL_key - EVP_PKEY*.

В модуле IO::Socket::SSL нашёл грустное замечание о том, что функций, возвращающих такие значения нет.

Вопрос: откуда брать EVP_PKEY* и X509* и можно ли их получить из строк, сожержащих ключ и сертификат?


EVP_PKEY и X509 это внутренние структуры openssl. Если перловые модули к ним доступ не предоставляют (погляди в @EXPORT в Net::SSLeay), то тебе надо работать с этими структурами самостоятельно. Определения их можно найти в заголовочных файлах openssl.

А чтобы сэкономить время и не заниматься этим чудом, не проще ли засунуть ключ и сертификат во временный файл и дать перлу нормально работать?

Chumka ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.