Histórico de mensagens sobre mtls em pix

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
Canal: pix
Avatar discord do usuario matheuzin6375

matheuzin6375

Ver Respostas

Boa tarde.

codigo:

def configure_webhook():
url = "https://api-pix.gerencianet.com.br/v2/webhook/chave"
headers = {
"x-skip-mtls-checking": "true",
}

body = {
"webhookUrl": "https://ac7-1bd37c9a12e8.herokuapp.com/show/webhook?hmac={HASH_SECRET_KEY}&ignorar=",
"chave": "6831e783-a812-45c7-a98f-962745a78ad4"
}

response = requests.put(url, headers=headers, data=body)

return response

response = configure_webhook()

erro:

requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'Foi forçado o cancelamento de uma conexão existente pelo host remoto', None, 10054, None))

alguém consegue me explicar?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Como foi mencionado pelo Rubens, você precisa configurar o certificado na configuração do seu webserver para atender o padrão mTLS. E criar as duas rodas na sua aplicação para o recebimento das informações.
Neste outro vídeo é exemplificado a configuração do mTLS em um servidor Apache: https://youtu.be/hdyUHzNwVLY?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu

Avatar discord do usuario joaovicto

joaovicto

no meu arquivo de options
contem o seguinte trecho de codigo como retorno:
onde "x-skip-mtls-checking" => true
esta configurada como true
imagem enviada na mensagem pelo usuario joaovicto

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Na configuração de mTLS vai só a raiz da Efí mais o certificado do site, e não o seu certificado cliente Efí.

Avatar discord do usuario alipiopereira

alipiopereira

Ver Respostas

Opa, tem algum exemplo onde é usado mTLS com os arquivos pem de certificado e key? @rubenskuhl

Avatar discord do usuario alipiopereira

alipiopereira

Ver Respostas

export default {
sandbox: false,
client_id: process.env.CLIENT_ID as string,
client_secret: process.env.CLIENT_SECRET as string,
certificate: "certificado.p12",
validateMtls: false,
};

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Que no SSL Test, se sua configuração de mTLS estiver certa, vai dar uma mensagem de erro de que a conexão falhou. Como no seu não tem isso, significa que na hora que a Efí fizesse o teste de mTLS, ia te dizer que mTLS não está configurado.
Mas não é o seu problema, ainda.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Nos detalhes pode ter coisa importante... o sumário é positivo mas não diz tudo no caso de mTLS.

Avatar discord do usuario rubenskuhl

rubenskuhl

E quando acabarem as chamadas gratuitas do API Gateway da AWS, esse é um dos poucos serviços baratos de lá mas vai precisar deixar um cartão de crédito, ou dá para usar mais chamadas gratuitas no equivalente Oracle Cloud, que também implementa mTLS.

Avatar discord do usuario rubenskuhl

rubenskuhl

Mas o pix.ae não tem o mecanismo de reconhecimento mútuo que tem o API Gateway da AWS, por isso apesar dele atender o requisito regulatório (implementar mTLS), ele não resolve as preocupações de segurança que levaram o BACEN a estabelecer o requisito.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

E para agilizar enquanto você segue esse caminho de Santiago no AWS, use o pix.ae:

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/

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Resolve. Dá um trabalho cão, mas resolve. O API Gateway da AWS poderia fazer o mTLS para você.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Agora, hospedagem compartilhada é má notícia com webhook da API Pix. Por causa do requisito de mTLS.

Avatar discord do usuario _josemax

_josemax

Ver Respostas

Tentando 54.242.231.66:443... Conectado ao pix-h.api.efipay.com.br (54.242.231.66) porta 443 (#0) ALPN, oferecendo http/1.1 CAfile: /etc/ssl/ certs/ca-certificates.crt CApath: /etc/ssl/certs Conexão SSL usando TLSv1.3 / TLS_AES_256_GCM_SHA384 ALPN, servidor aceito para usar http/1.1 Certificado do servidor: subject: C=BR; ST=MINAS GERAIS; L=OURO PRETO; O=EFI SA - INSTITUIÇÃO DE PAGAMENTO; CN=.api.efipay.com.br data de início: 17 de maio 19:31:27 2023 GMT data de expiração: 17 de junho 19:31:26 2024 GMT subjectAltName: host "pix-h.api.efipay. com.br" certificado correspondente ".api.efipay.com.br" emissor: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018 Certificado SSL verificado ok. > PUT /v2/webhook/9f86e12a-370d-44dd-bd47-4b6a0b17bae5 HTTP/1.1 Host: pix-h.api.efipay.com.br User-Agent: GuzzleHttp/7 Content-Type: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 ..VrAQ4hHRYVRvl9dzWsvX79j_VvtOcz-fSvo0LxuaQgY api-sdk: efi-php-1.6.1 x-skip-mtls-checking: false Content-Length: 51 ID de sessão SSL antigo está obsoleto, removendo Marcar pacote como não compatível com multiuso < HTTP/1.1 400 Solicitação incorreta Conexão #0 ao host pix-h.api.efipay.com.br deixada intacta 400
webhook_invalido Uma URL informada respondeu com o código HTTP 400

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, vai só o x-skip-mtls-checking

Avatar discord do usuario iberemendes

iberemendes

Ver Respostas

'x-skip-mtls-checking' => 'true'
isso vai no header ?

Avatar discord do usuario rubenskuhl

rubenskuhl

E o que deveria ser feito é fazer o mTLS funcionar... e não um atalho.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Isso é como dribla o mTLS para ambiente de homologação. Em produção você não deveria usar isso.