php - Error 0x1408F10B: "SSL3_GET_RECORD: número de versión incorrecta" con el SDK de PayPal
curl (3)
Para las personas que usan https://github.com/Quixotix/PHP-PayPal-IPN , simplemente configure false para forzar_ssl_v3:
$listener = new IpnListener();
$listener->force_ssl_v3 = false;
Parece que PayPal podría haber actualizado sus sistemas a la luz del attack POODLE , causando que los sitios que usan PHP PayPal SDK se rompan.
Me sale el error:
PayPal/Exception/PPConnectionException: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
/var/www/site/vendor/paypal/sdk-core-php/lib/PayPal/Core/PPHttpConnection.php:91
/var/www/site/vendor/paypal/sdk-core-php/lib/PayPal/Core/PPAPIService.php:66
/var/www/site/vendor/paypal/sdk-core-php/lib/PayPal/Core/PPBaseService.php:82
/var/www/site/vendor/paypal/adaptivepayments-sdk-php/lib/PayPal/Service/AdaptivePaymentsService.php:97
¿Qué recomendarías para solucionar esto, sin comprometer la seguridad?
PayPal ha lanzado oficialmente una actualización del SDK de PHP para solucionar este problema, que se publicó en el Github PR Jaffer vinculado a
https://github.com/paypal/rest-api-sdk-php/releases/tag/v0.13.1
ACTUALIZACIÓN : Como señaló Jaffer, el repositorio GitHub de PayPal ya ha github.com/paypal/rest-api-sdk-php/pull/127 continuación, por lo que puede actualizar su SDK.
Al menos esto parece funcionar por ahora, aunque tendré que investigar qué protocolo usará en realidad.
/PayPal/Core/PPHttpConfig::$DEFAULT_CURL_OPTS[CURLOPT_SSLVERSION] = 1;
// 0 = default protocol (likely TLSv1), 1 = TLSv1; unsafe: 2 = SSLv2, 3 = SSLv3
Para otras personas que usan cURL directamente, simplemente use
curl_setopt($handle, CURLOPT_SSLVERSION, 1);
ACTUALIZAR:
Solo busqué la fuente en cURL , estos son los valores ( //
comentarios míos):
enum {
CURL_SSLVERSION_DEFAULT, // 0
CURL_SSLVERSION_TLSv1, // 1
CURL_SSLVERSION_SSLv2, // 2
CURL_SSLVERSION_SSLv3, // 3
CURL_SSLVERSION_LAST /* never use, keep last */ // 4
};
Entonces, para resumir, sí, 1 es TLSv1 y, a juzgar por el comentario, es probablemente mejor que 4.
Código actualizado arriba.