moiplabs / moip-php

Biblioteca de integração com o MoIP em PHP
http://labs.moip.com.br/
83 stars 68 forks source link

Erro SSl #51

Open eduardokraus opened 9 years ago

eduardokraus commented 9 years ago

Meus clientes estão reclamando que quando testam o MOIP com conta desenvolvedor recebem o seguinte erro: Unknown SSL protocol error in connection to desenvolvedor.moip.com.br:443

$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica'); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0'); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $param); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $ret = curl_exec($curl); $err = curl_error($curl); curl_close($curl);

albertobraschi commented 9 years ago

Acontece o mesmo comigo, usando hostgator, no meu servidor em localhost isso não acontece!

albertobraschi commented 9 years ago

linha de comando: curl -v -4 https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica

quando eu logo via ssh na minha conta do servidor:

curl -v -4 https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica

quando eu acesso via terminal do meu ubuntu:

curl -v -4 https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica

vagnerfiuza commented 9 years ago

@albertobraschi Atualmente em nossos endpoint de sandbox não usamos mais o protocolo TLSv1.0, apenas as versões TLSv1.1 e TLSv1.2, parte do problema pode ser derivado a isso.

albertobraschi commented 9 years ago

a hostgator usa uma versão antiga do curl. poderia ser isso.

alguma sugestão de como resolver? pois estou sem muita sorte até agora para fazer o plugin funcionar!

eduardokraus commented 9 years ago

@vagnerfiuza o problema só acontece na SANDBOX. Tentei forçar o protocolo TLSv1.1 e TLSv1.2 na CURL e mesmo assim não obtive sucesso na conexão.

albertobraschi commented 9 years ago

ainda na hostgator, tive sucesso ao explicitar o TLSv

cmd: curl -v -4 --tlsv1.1 https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica

curl -v -4 --tlsv1.1 https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica

aurimar commented 9 years ago

@albertobraschi tudo bem? estou tendo exatamente o mesmo problema, pensei que era problema da aplicação por se tratar de uma aplicação ainda em desenvolvimento, mais ai vi as dúvidas de vocês.

Como posso colocar minha aplicação funcionar?

O meu servidor também é hostgator e já foi habilitado a porta 443 e ainda não tive sucesso, o que fazer? agradeço a ajuda desde ja

Link da aplicação : https://easyvets.net/moip/

kauemendes commented 9 years ago

Alguém sabe se alguém respondeu esse problema?

Por que estou tentando fazer o teste em dev, usando CURL no terminal o Handshake está ok, mas via PHP usando a mesma versão do CURL está com problema de conexão.

curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_USERPWD, $user . ":" . $passwd); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0"); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $param); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_1);

Unknown SSL protocol error in connection to desenvolvedor.moip.com.br:443

Sabem dizer o que pode ser?

MrFabioS commented 9 years ago

olá, provavelmente o servidor de sua aplicação não tem ativo para o curl o protocolo ssl Dá uma olhada nisto com o phpinfo!

FEndo commented 8 years ago

Olá! Eu faço uso do host Media Temple, e lá o servidor é TLS 1.0. Eu estou obtendo este mesmo erro do WP: Unknown SSL protocol error in connection to desenvolvedor.moip.com.br:443. Eu falei com a Media Temple, e lá eles não conseguem alterar isso, eu teria que fazer um upgrade de conta o que representaria 200 dólares a mais! kkkkk

Alguém saberia me informar se existe alguma forma de fazer funcionar mesmo o servidor do meu site sendo TLS 1.0, ou isso quer dizer que eu não vou conseguir usar o MoIP no meu site?

Obrigado!

MrFabioS commented 8 years ago

Olá FEndo, infelizmente não vai funcionar. é uma questão de segurança. Aconselho criar uma conta AWS AMAZON, cria um servidor EC2. T2.micro para testar tudo que precisas, se for um site pequeno, ele vai servir sem problemas para a tua necessidade e o melhor, sem custo algum por 1 ano (veja as regras para as contas free AWS). Depois que conheci a a AMAZON tenho visto as imensas vantagens do serviço.

giusampaio commented 8 years ago

Galera,

Tive o mesmo problema que o amigo acima onde toda vez que eu executava a requisição para a API do Moip via PHP, recebia a mensagem: (35) SSL Connect Error. Tentei executar a API via comando curl puro do PHP e nada. Eu estava utilizando um servidor CentOS 6 e trabalhando de forma local. Tentei executar a requisição via linha de comando, sem usar o PHP, e também recebia o mesmo erro:

$curl -v -4 https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica SSL connect error curl: (35) SSL connect error

Então tentei passar o parâmetro "--tlsv1.1", conforme sugeriu @albertobraschi, para forçar a versão do protocolo. Nisso o comando me informou outro erro dizendo que a opção que eu tinha passado era inválida ou não existia. Investigando um pouco mais, vi que o curl precisa de alguns certificados CA para se autenticar e os meus certificados estavam desatualizados.

Atualizei a ferramenta "via yum update curl", por garantia, e segui a documentação da Red Hat para reinstalar os certificados CA, conforme link https://access.redhat.com/solutions/1549003. Fazendo isso, a requisição via linha de comando funcionou, mas no PHP ainda continuava dando o mesmo problema.

Depois de mais algum tempo batendo a cabeça, me deu um estalo que o PHP poderia utilizar o comando GNU "curl" para fazer a requisição por debaixo dos panos, só que ainda estava utilizando os certificados antigos, já que não foi reiniciado. Dito e feito. Dei um restart no apache e funcionou!

Não sei se isso pode ajudar alguém, mas para deixar documentado, esta aí o procedimento que fiz para solucionar este problema no CentOS.

Henrique87 commented 7 years ago

Olá Pessoal, eu não sou programador no entanto estou correndo atrás para me virar e fazer a loja que estou criando funcionar. bom eu li o que vocês postaram e pelo que me parece o problema que estou tendo se enquadra. ao instalar o plugin do moip no woocommerce não aparece os meios de pagamento e apresenta a seguinte mensagem: "Um erro ocorreu ao processar o seu pagamento, por favor tente novamente. Ou entre em contato conosco para conseguir ajuda.". Bom eu gerei o relatório sobre o erro para detalhar o motivo do problema, antes de informar o log gostaria de ressaltar que não estou usando certificado SSL e minha hospedagem é a Blue Host.

12-07-2016 @ 09:48:42 - Requesting token for order 1605 with the following data: <?xml version="1.0" encoding="utf-8"?>

28.30WC-1605servicos@nucleous.com.brservicos@nucleous.com.br100PRBRA81020-0504130455510BoletoBancarioCartaoCreditoCartaoDebitoCarteiraMoipDebitoBancario212AVista1%truehttp://acaofitness.com/?wc-api=WC_Moip_Gateway

12-07-2016 @ 09:48:42 - WP_Error: cURL error 35: Unknown SSL protocol error in connection to desenvolvedor.moip.com.br:443 12-07-2016 @ 09:48:42 - Generating transparent checkout for order 1605 12-07-2016 @ 10:34:18 - Requesting token for order 1608 with the following data: <?xml version="1.0" encoding="utf-8"?>

28.30WC-1608servicos@nucleous.com.brservicos@nucleous.com.br100PRBRA81020-0504130455510BoletoBancarioCartaoCreditoCartaoDebitoDebitoBancario7212AVista1.99falsehttp://acaofitness.com/?wc-api=WC_Moip_Gateway

12-07-2016 @ 10:34:19 - WP_Error: cURL error 35: Unknown SSL protocol error in connection to desenvolvedor.moip.com.br:443 12-07-2016 @ 10:34:19 - Generating transparent checkout for order 1608 12-07-2016 @ 11:09:46 - Requesting token for order 1609 with the following data: <?xml version="1.0" encoding="utf-8"?>

28.30WC-1609servicos@nucleous.com.brservicos@nucleous.com.br100PRBRA81020-0504130455510BoletoBancarioCartaoCreditoCartaoDebitoDebitoBancario7212AVista1.99falsehttp://acaofitness.com/?wc-api=WC_Moip_Gateway

12-07-2016 @ 11:09:46 - WP_Error: cURL error 35: Unknown SSL protocol error in connection to desenvolvedor.moip.com.br:443 12-07-2016 @ 11:09:46 - Generating transparent checkout for order 1609 12-07-2016 @ 11:33:27 - Requesting token for order 1610 with the following data: <?xml version="1.0" encoding="utf-8"?>

28.30WC-1610servicos@nucleous.com.brservicos@nucleous.com.br100PRBRA81020-0504130455510BoletoBancarioCartaoCreditoCartaoDebitoDebitoBancario7212AVista1.99falsehttp://acaofitness.com/?wc-api=WC_Moip_Gateway

12-07-2016 @ 11:33:27 - WP_Error: cURL error 35: Unknown SSL protocol error in connection to desenvolvedor.moip.com.br:443 12-07-2016 @ 11:33:27 - Generating transparent checkout for order 1610 12-07-2016 @ 11:49:04 - Requesting token for order 1611 with the following data: <?xml version="1.0" encoding="utf-8"?>

85.63WC-1611servicos@nucleous.com.brservicos@nucleous.com.br100PRBRA81020-0504130455510BoletoBancarioCartaoCreditoCartaoDebitoDebitoBancario7212AVista1.99falsehttp://acaofitness.com/?wc-api=WC_Moip_Gateway

12-07-2016 @ 11:49:04 - WP_Error: cURL error 35: Unknown SSL protocol error in connection to desenvolvedor.moip.com.br:443 12-07-2016 @ 11:49:04 - Generating transparent checkout for order 1611

Se alguém souber o que necessito fazer agradeço.