O Conselho de Padrões de Segurança da Indústria de Cartões de Pagamento (PCI SSC) determina que todos os processadores de cartão de crédito devem retirar versões desatualizadas do serviço de TLS conforme o prazo estabelecido pelo PCI.
Atendendo as especificações, a Gerencianet está fazendo a atualização dos protocolos.
Esse repositório contém dicas e instruções para te ajudar a verificar se seu sistema é compatível com certificados TLS 1.2.
Para cada linguagem de programação, existe um guia diferente, para que você descubra se seu sistema é compatível com o TLS 1.2 ou não. Escolha sua linguagem abaixo e veja os requisitos para que tudo funcione perfeitamente.
- O Node utiliza o OpenSSL instalado no sistema
- O TLSv1.2 exige que a versão mínima do OpenSSL seja a 1.0.1c
- Execute o seguinte comando em seu servidor
node -e "console.log(process.versions)"
- A versão do seu OpenSSL será exibida na propriedade
openssl
:{ http_parser: '2.8.0', node: '10.15.0', v8: '6.8.275.32-node.45', uv: '1.23.2', zlib: '1.2.11', ares: '1.15.0', modules: '64', nghttp2: '1.34.0', napi: '3', openssl: '1.1.0j', icu: '62.1', unicode: '11.0', cldr: '33.1', tz: '2018e' }
-
Baixe o arquivo
tls.js
do nosso repositório. -
Coloque-o em seu servidor, e execute-o com o comando
node tls.js
-
On success:
Gerencianet_Connection_TLS1.2_OK!
-
On failure:
Emitted 'error' event at
-
- Versão do PHP: >= 5.3
- Versão da biblioteca cURL: >= 7.34.0
- Versão da biblioteca OpenSSL: >= 1.0.1c
Você pode encontrar informações sobre as bibliotecas OpenSSL dessa forma:
- OpenSSL instalado em seu SO:
- Execute o comando
openssl version
.
- Execute o comando
- OpenSSL que seu PHP está utilizando:
- Procure essa informação dentro do arquivo
php.ini
.
- Procure essa informação dentro do arquivo
- Para encontrar a versão do OpenSSL de seu cURL, execute o comando abaixo em seu servidor
php -r 'echo json_encode(curl_version(), JSON_PRETTY_PRINT);'
Todas essas bibliotecas OpenSSL podem ser diferentes, e atualizar uma não atualizará a outra automaticamente.
-
Baixe o arquivo
tls.php
do nosso repositório. -
Coloque-o em seu servidor, e execute-o com o comando
php tls.php
-
On success:
Gerencianet_Connection_TLS1.2_OK!
-
On failure:
curl_error information
-
- Python usa o OpenSSL fornecido pelo sistema.
- TLSv1.2 precisa da versão OpenSSL 1.0.1c ou superior.
-
Em um shell do seu sistema de produção, execute o seguinte comando:
-
Para Python 2.x:
$ python -c "import urllib2; print(urllib2.urlopen('https://tls.testegerencianet.com.br').read())"
-
Para Python 3.x:
$ python -c "import urllib.request; print(urllib.request.urlopen('https://tls.testegerencianet.com.br').read())"
-
Ou execute o arquivo com o comando
python tls.py
-
On success:
Gerencianet_Connection_TLS1.2_OK!
-
On failure, an
URLError
is raised:urllib2.URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:590)> urllib2.URLError: <urlopen error [Errno 54] Connection reset by peer>
-
-
Para habilitar o funcionamento do protocolo TLSv1.2 em seu sistema, a única coisa necessária é utilizar a versão mais recente do Mono(linux) ou .NET Framework (maior que 4.5, recomendado >= 4.6.2).
- Execute o arquivo
Tls.exe
, que pode ser encontrado clicando aqui:
Execute o arquivo como qualquer outro .exe
normalmente.
-
Execute o comando a partir do
mono
da seguinte maneira:$ mono Tls.exe
-
On success:
Gerencianet_Connection_TLS1.2_OK!
-
On failure, an
URLError
is raised:Failed!
-
- Ruby 2.0.0 ou superior é necessário para usar TLSv1.2.
- TLSv1.2 precisa da versão OpenSSL 1.0.1c ou superior.
-
Em um shell do seu sistema de produção, execute o seguinte comando:
$ ruby -r'net/http' -e 'puts Net::HTTP.get(URI("https://tls.testegerencianet.com.br/"))'
-
Ou execute o arquivo com o comando
ruby tls.rb
-
On success:
Gerencianet_Connection_TLS1.2_OK!
-
On failure, uma exceção
OpenSSL::SSL::SSLError
orEOFError
é lançada.
-
-
Na versão 1.6 do Java, o TLS v1.2 está disponível a partir da atualização de número 11. Caso necessário, atualize JDK de seu servidor, as versões mais recentes estão disponíveis aqui.
Na versão 1.7 e 1.8 do Java o suporte para TLS v1.2 é nativo.
A habilitação deste recurso depende do servidor que sua aplicação está utilizando.
Obtenha o arquivo .jar aqui.
Dê um duplo clique sobre o arquivo tls.jar
-
Execute o comando a partir do terminal na pasta que contém o arquivo tls.jar
$ java -jar tls.jar
Classe completa aqui
-
On success:
Successfully connected to TLS 1.2 endpoint.
-
On failure, an
URLError
is raised:Failed to connect to TLS 1.2 endpoint.
-
- Go usa o OpenSSL fornecido pelo sistema.
- TLSv1.2 precisa da versão OpenSSL 1.0.1c ou superior.
-
Baixe o arquivo
tls.go
do nosso repositório. -
Coloque-o em seu servidor, e execute-o com o comando
go run tls.go
-
On success:
Gerencianet_Connection_TLS1.2_OK!
-
On failure:
Fatalln `err`
-
*Para habilitar o funcionamento do protocolo TLSv1.2 em seu sistema, a única coisa necessária é utilizar a versão mais recente do Mono(linux) ou .NET Framework (maior que 4.5, recomendado >= 4.6.2). *Confira a relação completa da compatibilidade de sistemas operacionais nesta tabela.
- Execute o arquivo
Tls.exe
, que pode ser encontrado clicando aqui:
Execute o arquivo como qualquer outro .exe
normalmente.
-
Execute o comando a partir do
mono
da seguinte maneira:$ mono Tls.exe
-
On success:
Gerencianet_Connection_TLS1.2_OK!
-
On failure, an
URLError
is raised:Failed!
-