Histórico de mensagens sobre certificado em pix

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
Canal: pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Os relatos aqui no canal dizem que apenas com plano Enterprise da Cloudflare para colocar certificado mTLS com CA própria (Gerencianet) no caso.

Avatar discord do usuario smookeydev.cb

smookeydev.cb

Ver Respostas

Boa noite pessoal, estou implementando o PIX em uma aplicação, porém estou tendo problema com a configuração do webhook. Alguem poderia me ajudar?

Meu dominio usa a cloudflare para certificação SSL e usamos nginx para proxy reverso, eu recebo o request em /api/payments/pix/webhook/ e redireciono para o micro serviço dessa forma:

location /api/payments/pix/webhook/ {
proxy_pass http://localhost:5001/api/payments/pix/webhook
}

Tentei implementar a verificação no nginx dessa forma e não funcionou:
ssl_client_certificate /root/chain-pix-webhooks-sandbox.crt;
ssl_verify_client optional;
ssl_verify_depth 3;

location /api/payments/pix/webhook/ {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass http://localhost:5001/api/payments/pix/webhook
}

Ao tirar o if ele me retorna:

{
"nome": "webhook_invalido",
"mensagem": "A autenticação de TLS mútuo não está configurada na URL informada"
}

Tentei implementar o SSL e o certificado da gerencianet direto no micro serviço do webhook e também não funcionou, o webhook é feito em Flask, alguem consegue me dar uma luz?

Avatar discord do usuario leonardo_nicolas

leonardo_nicolas

Eu não sei se aqui pode divulgar link. Mas mesmo assim vou deixar um do YouTube, para aqueles que trabalham com o asp.net (usando o IIS), assim como eu já fiz isso e precisam para integrar suas aplicações em DotNet, no IIS.
Como precisa de autenticação mútua por exigência do BACEN e a GN faz duas requisições pra testar...
Aí está o link.
Vou lembrar que o certbot também coloca certificado no IIS, através da Let's Encrypt (dá um pouco mais de trabalho, mas há possibilidade).
https://youtu.be/mamqb3BHa-0

Avatar discord do usuario leonardo_nicolas

leonardo_nicolas

Ver Respostas

Pessoal, nossa dúvida foi tirada sobre certificados e PHP...
Eu vou logo dizer que (e atestei isso também) que em C# e Visual Basic.Net, NÃO PRECISA converter em pem. Pois a plataforma dotnet já tem por si só o seu mecanismo próprio para P12, que é a classe System.Security.Cryptography.X509Certificate2.

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Oi <@!851565059616669729> tudo bem? Em PHP é necessário converter o certificado para .pem sim. Você encontra mais detalhes no link: https://dev.gerencianet.com.br/docs/api-pix-autenticacao-e-seguranca#section-convers-o-de-certificado-p12-para-o-formato-pem

Já sobre o erro "insufficient_scope" Você precisa liberar os escopos da sua aplicação na sua conta Gerencianet. Ao selecionar sua aplicação, na lateral esquerda, clique em "Editar"

Avatar discord do usuario rprrafa

rprrafa

Boa tarde pessoal! Alguém utilizou a configuração do Nginx para webhook e teve problema? Estou utilizando o cloudflare e o certificado da Gerencianet não chega no servidor, ou seja, não consigo registrar o webhook

Avatar discord do usuario leonardo_nicolas

leonardo_nicolas

Ver Respostas

Mas configurou o php para receber o certificado (e convertido em pem)?

Avatar discord do usuario leonardo_nicolas

leonardo_nicolas

Ver Respostas

Você está fazendo o teste pelo postman? Se estiver, já configurou o certificado?

Avatar discord do usuario leonardo_nicolas

leonardo_nicolas

Ver Respostas

Boa tarde! Queria pedir ajuda do pessoal, como configurar o node.js para receber o certificado de homologação e produção, juntos?
Estou querendo deixar o código já pronto, para receber ambas requisições, referente ao webhook...

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O que essa mensagem indica é que mesmo com o certificado não foi aceito. Não aceitar sem o certificado está certo, mas com o certificado precisava aceitar.

Avatar discord do usuario b1n._

b1n._

Ver Respostas

sim pq ta configurado pra aceitar somente com o certificado

Avatar discord do usuario b1n._

b1n._

pelo menos esse erro deu quando omiti esse certificado do header na minha função

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

O que você criou na sua conta Gerencianet.. o certificado .p12 ou .pem

Avatar discord do usuario b1n._

b1n._

Ver Respostas

eu forcei erro removendo o certificado do header, da erro, mas quando coloco certo, vem vazio

Avatar discord do usuario b1n._

b1n._

$certificado_pix = "$_SERVER[DOCUMENT_ROOT]/functions/gerencianet/chain-pix-sandbox.crt";
$certificado_pix = json_encode(file_get_contents($certificado_pix), true);

CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: Bearer $token",
"x-client-cert-pem: $certificado_pix",
"x-skip-mtls-checking: false",
),

Avatar discord do usuario b1n._

b1n._

Consegui.. ia deletar as mensagens mas vou deixar aqui caso ajude mais alguém, falta o certificado no header

Avatar discord do usuario b1n._

b1n._

tá difícil haha.. parece que o PUT não usou o certificado

Avatar discord do usuario matwbug

matwbug

Alguém consegue me ajudar aqui com a api pix? por algum motivo minha requisição curl nao está dando response no site da gerencianet, até baixei os proprios códigos da doc e mesmo assim não foi, é como se a requisição não fosse feita, estou utilizando php


$config = [
"certificado" => BASE.'data/certif/gerencianet.pem',
"client_id" => "xx",
"client_secret" => "xx"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, homologação ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "
";
echo $response;
echo "
";
?>

Avatar discord do usuario Julia Efí

Julia Efí

Ver Respostas

Além do certificado ssl, é necessário a autenticação mTLS. Você pode verificar na nossa documentação: https://dev.gerencianet.com.br/docs/atualizacao-tls-12