Mam taki problem gdy chcę się połączyć curlem z bankiem w celu pobrania pliku. Otrzymałem certyfikat który w przeglądarce działa natomiast gdy dołączam go curl otrzymuje komunikat
SSL read: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure, errno 0
Poniżej mój testowy kod. Proszę o info co mogę robić nie tak.
<?php $ch = curl_init('https://www.bank.pl'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $zm=curl_exec($ch); if (curl_errno($ch)) { } curl_close($ch); ?>
Udało mi się rozwiązać, problem był w tym że miałem certyfikat P12.
curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'P12'); curl_setopt($ch, CURLOPT_SSLCERTPASSWD, 'haslo');