В продолжение темы
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* и можно ли их получить из строк, сожержащих ключ и сертификат?