Segurança Paypal TLS 1.2 e http/1.1 com sistemas operacionais mais antigos

Durante muitos meses, houve repetidas solicitações de Paypal aos usuários das interfaces fornecidas para atualizar seus sistemas para as versões atuais ou para estabelecer conexões somente através dos protocolos atuais. Em princípio, isto não é um problema, porque a maioria dos sistemas operacionais, mesmo aqueles com vários anos, podem suportar isto sem nenhum problema.

Você pode testar seu sistema, por exemplo, com o seguinte comando:

php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'

O valor de retorno é ou

PayPal_Connection_OKbool(true)
string(0) "

ou se não der certo:

bool(falso)
string(17) "SSL connect error" (erro de conexão SSL)

Este último erro ocorre, por exemplo, em Redhat/Centos6.

Em princípio, a conexão com o Redhat6 também funciona sob tls 1.2 mas infelizmente o programa usado "curl" não negocia automaticamente esta conexão com o tls1.2. Este bug foi atualizado pela Redhat em maio e também estará disponível para o Centos6 em breve. Como operador de um servidor web você deve, portanto, atualizar todos os pacotes para a versão mais recente e, especialmente, usar o curl da versão 7.19.7-52. Redhat

Até lá, você teria que pedir ao curl para usar a versão atual, por exemplo, com :

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));'.

Mas não há necessidade de entrar em pânico. Devido à preguiça de atualização da maioria dos usuários, o Paypal prorrogou o prazo para alterar os protocolos ou desligar os protocolos antigos por 1 ano, até 30.6.2017.

Artigos atuais