Seit vielen Monaten gibt es immer wieder Aufforderungen von Paypal an Nutzer der bereitgestellten Schnittstellen ihre Systeme auf aktuelle Versionen zu bringen resp. nur noch über die aktuelle Protokolle Verbindungen aufzubauen. Dies stellt prinzipiell kein Problem dar, denn die meisten selbst einige Jahre alten Betriebssysteme können dieses problemlos unterstützen.
Testen kann man sein System z.B. mit folgendem Befehl:
php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'
Der Rückgabewert lautet entweder:
PayPal_Connection_OKbool(true)
string(0) “
oder wenn es nicht klappt:
bool(false)
string(17) „SSL connect error“
Letzterer Fehler tritt z.B. unter Redhat/Centos6 auf.
Prinzipiell klappt auch unter Redhat6 die Verbindung mit tls 1.2 aber leider handelt das verwendete Programm „curl“ diese Verbindung nicht automatisch mit tls1.2 aus. Dieser Bug wurde von Redhat im Mai aktualisiert und steht auch in Kürze für Centos6 zur Verfügung. Als Webserver-Betreiber sollten Sie daher alle Pakete auf den aktuellsten Stand bringen und insbesondere curl ab der Version 7.19.7-52 verwenden. Redhat
Bis dahin müssten Sie curl auffordern die aktuelle Version zu verwenden z.B. mit:
php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_SSLVERSION, 6); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'
Aber kein Grund zur Panik. Aufgrund der Updatefaulheit der meisten Anwender hat Paypal die Frist zur Umstellung der Protokolle bzw. Abschaltung der alten Protokolle um 1 Jahr verlängert auf den 30.6.2017.