Desponuje certfikatami:

  • certfikat_uzytkownika.p12 (+ hasło)
  • certfikat_glowny.cer

Klient XMLRPC do PHP wymaga jednak certyfikatu użytkownika *.pem i hasła. Jest kilka sposobów na skonwertowanie p12 do pem ale próbowałem kilku kombinacji i nic z tego nie wyszło. Cały czas otrzymuje komunikat błędu:
Reason: 'CURL error: unable to use client certificate (no key found or wrong pass phrase?)'

Kod aplikacji (testowej, żeby sprawdzić czy mogę się w ogóle połączyć) wygląda tak:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<?php
include('lib/xmlrpc.inc');
$xmlrpc_internalencoding = 'UTF-8';
$m = new xmlrpcmsg('TestAPI.echo',
array(new xmlrpcval("Tekst do powtórzenia", "string")
));
$c = new xmlrpc_client("https://...");
$c->setCertificate('certs/client_keycert.pem','haslo_w_stringu');
$c->setSSLVerifyPeer(false);
$c->setDebug(2);
$r = $c->send($m,10,"https");
if (!$r->faultCode()) {
$v = $r->value();
print "Odpowiedz: " .
htmlentities($v->scalarval(), ENT_COMPAT , 'UTF-8') . "<BR>";
print "<HR>I got this value back<BR><PRE>" .
htmlentities($r->serialize(), ENT_COMPAT , 'UTF-8') . "</PRE><HR>\n";
} else {
print "Fault <BR>";
print "Code: " . htmlentities($r->faultCode()) . "<BR>" .
"Reason: '" . htmlentities($r->faultString()) . "'<BR>";
}
?>
</body>
</html>