Histórico de mensagens sobre mtls em pix

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
Canal: pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ou seja. Somente será aceita requisições na sua URL quando nesta requisição tiver a chave pública da Gerencianet para fazer o hand-shake (mTLS)

Avatar discord do usuario brunodelara

brunodelara

então cuidade. Se tu tem acesso root, configurar o mtls é de boa

Avatar discord do usuario leonardo_nicolas

leonardo_nicolas

Ver Respostas

boa tarde pessoal! Para cadastrar webhook, o servidor que receberá as informações, precisa estar com o mTLS configurado. Eu entrei em contato com a locaweb para saber se no plano de hospedagem VPS deles, dá suporte à essa autenticação mTLS. o pessoal do suporte mandou o atendente me perguntar qual seria o nome do módulo para essa autenticação...
e, eu igual um zé mané não soube responder (até porque eu só faço as coisas, mas não sei o nome (teoricamente falando), só sei do que estou fazendo, praticando). Se alguém puder me quebrar essa aí, agradeço!

Avatar discord do usuario rain.maker

rain.maker

Ver Respostas

Boa tarde pessoal.

Desenvolvemos uma página para um cliente para visualizar os Pix que o mesmo recebe via chave/QR Code no caixa, já estamos com tudo funcionando corretamente, entretanto, não recebemos os webhooks da Gerencianet.

Já temos o servidor configurado com o certificado mTLS em perfeito estado, adicionamos via Postman o webhook, que inclusive foi validado tudo certinho, mas quando é enviado um Pix para a chave do cliente não recebemos a notificação.

É possível que tenhamos deixado passar algo? Nosso servidor não registra nenhum log de acesso vindo da Gerencianet.

Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Boa noite <@!691086570467622964> ! Você está obtendo esse retorno porque no header dessa requisição o parâmetro 'x-skip-mtls-checking' está setado como 'false' e o mTLS não está configurado no seu servidor.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Há dois mTLS distintos envolvidos: o do acesso e o de notificação. No do acesso, você usa seu certificado emitido pela Gerencianet para mostrar que você é você mesmo, e compara o certificado da Gerencianet com as CAs confiadas para saber se é a Gerencianet mesmo. No de notificação, você apresentar uma CA confiada e a Gerencianet apresenta um certificado dela emitido pela CA dela.

Avatar discord do usuario gugamarcelino

gugamarcelino

Eu estava usando assim:

let options = {
sandbox: false,
clientIdProducao: process.env.clientIdProducao,
clientSecretProducao: process.env.clientSecretProducao,
validateMtls: false,
pathCertProducao: path.resolve(__dirname, '')
};

let gerencianet = new Gerencianet(options);



Alterei agora assim, e funcionou:

let options = {
sandbox: false,
client_id: process.env.clientIdProducao,
client_secret: process.env.clientSecretProducao,
validateMtls: false,
pix_cert: path.resolve(__dirname, '
')
};

let gerencianet = new Gerencianet(options);

Avatar discord do usuario jrodella

jrodella

tentamos implementar o mTLS diretamente na linguagem que utilizamos na aplicação (PHP), mas acabou ficando bem complexo devido a diversas camadas de proxy e firewall.
daí veio a idéia de subir um node com nginx só pra tratar as chamadas do webhook, tem funcionado muito bem

Avatar discord do usuario jrodella

jrodella

<@!374639640092737536> no meu caso, eu fiz no node com http e fiz a autenticação mTLS via Nginx

Avatar discord do usuario luizgerencianet

luizgerencianet

Ver Respostas

Boa Tarde <@!828703254900113409> !
Tudo bom ?
O mTLS é uma validação de segurança que fazemos

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, <@!832737541189926984>. Como vai?
Na Umbler ou Netlify você pode utilizar para configurar o webhook.
No caso da Umbler sei que tem servidores compartilhados para aplicações PHP. Neste caso, tem a possibilidade de configurar o webhook, mas com algumas limitações.
Já em uma VPS rodando node ou php por exemplo, você vai conseguir configurar o mTLS. Para isso você pode utilizar um de nossos exemplos que disponibilizamos em nossa documentação: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-exemplos-de-configura-es-de-servidor

Avatar discord do usuario python3.7

python3.7

Ver Respostas

Alguém com experiência com cloudflare / webhook pix pode me auxiliar pfv?

To tentando criar um webhook pix em um subdomínio que NÃO está passando pelo proxy da cloudflare. Criei esse subdomínio especificamente pra não usar o proxy da cloudflare e evitar o problema de handshake com o mtls.
Criei e instalei um certificado válido da Let's Encrypt nesse subdomínio.
Porém quando eu tento chamar /v2/webhook/(minha chave) pra criar um webhook, meu servidor responde com um 403 nas 2 etapas da validação do webhook. No log do apache, recebo isso em ambas as etapas:

[Wed Sep 01 21:33:27.433107 2021] [ssl:error] [pid 8033] [client :49689] AH10158: cannot perform post-handshake authentication
[Wed Sep 01 21:33:27.433228 2021] [ssl:error] [pid 8033] SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received

- Estou usando a configuração semelhante à dada como exemplo na documentação, além da configuração pro meu certificado da Let's Encrypt:
SSLCACertificateFile /etc/apache2/certs/chain-pix-prod.crt
SSLVerifyClient none

SSLVerifyClient require
SSLVerifyDepth 3


- E como valor do parâmetro "webhookUrl" na criação do webhook, to passando: https:///home/dn-pix-callback-v1.php?c=

Realmente não sei o porque isso está acontecendo. Se precisar de mais alguma informação é só perguntar. Só to perguntando pq realmente não sei mais o que fazer kk.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Beleza.
Para facilitar essa configuração com o Apache, uma dica seria configurar um subdomínio com o mTLS dedicado para o webhook, ex www.webhook.seu_dominio.com.br. Que com um subdomínio fica fácil fazer o redirecionamento do /pix. Veja um exemplo completo:

apache

:443>
ServerName webhook.seudominio.com.br
ServerAlias www.webhook.seudominio.com.br
ErrorLog ${APACHE_LOG_DIR}/webhook.error.log
CustomLog ${APACHE_LOG_DIR}/webhook.access.log combined
DocumentRoot /var/www/webhook


Options Indexes FollowSymLinks
AllowOverride All
Require all granted


Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/webhook.seudominio.com.br/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/webhook.seudominio.com.br/privkey.pem

# mTLS Gerencianet
SSLCACertificateFile /etc/apache2/sites-available/cert_gn/chain-pix-prod.crt
SSLVerifyClient require
SSLVerifyDepth 3

# Redirect from /pix
Alias "/pix/" "/var/www/webhook/index.php"
Alias "/pix" "/var/www/webhook/index.php"


Avatar discord do usuario rafaelvverde

rafaelvverde

Ver Respostas

Uso o setup do mTLS recomendado na documentação da GN

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Bom dia, <@!451559045543886860>. Te passei no privado alguns detalhes sobre o skip-mTLS em caso de hospedagens compartilhadas ou que possuem restrições com a inserção de nosso certificado.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Todo mundo aqui no canal que já citou Google Cloud foi com não solução disso. Uma alternativa para considerar:

Pra quem tem dificuldades de implementar os webhooks por falta de suporte em hospedagem compartilhada para configurar mTLS, o Pix.ae agora oferece proxy de callbacks com mTLS.

Pra usar é muito simples: é só prefixar o seu domínio com mtls.pix.ae/. Por exemplo:

Para: https://exemplo.com.br/webhookpix
Use: https://mtls.pix.ae/exemplo.com.br/webhookpix

Obs: no ambiente de homologação, prefixe com mtls-h.pix.ae/