Histórico de mensagens sobre mtls

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @m.h1604. Tudo bem?
Caso opte por deixar o x-skip-mtls-checking como true __a Efí vai continuar a enviar o certificado na requisição__, mas como descrito, seu servidor irá ignorá-lo. No entanto é aconselhável que você encontre uma forma de configurar o mTLS e validar se é a Efí quem está enviando a notificação.
Uma outra sugestão é verificar o IP de quem está notificando, pois a Efí comunica os webhook através do IP 34.193.116.226

Para facilitar a tratativa da adição do /pix quando a Efí envia a notificação, você pode registrar a URL com um parâmetro. Exemplo: https://seudominio.com.br/webhook/?ignorar=. Assim sua aplicação receberá as notificações sempre na rota /webhook.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você está respondendo também em URL+"/pix" ? Pq você precisa atender nos dois, e as notificações só são enviados para o +"/pix".

Sobre o skip-mTLS, desligar a checagem não significa que você possa deixar de fazer mTLS. A Hostgator precisaria te passar o certificado usado na conexão para você fazer o mTLS na sua aplicação. Limitação do ambiente não é carta-branca para desobedecer o manual do Pix.

# pix
Avatar discord do usuario m.h1604

m.h1604

Ver Respostas

Olá pessoal, tudo bem?

Estou com um problema para receber as notificações do Pix.

Eu cadastro a URL de notificação certinho porem não estou recendo a resposta da transação.

Estou usando com o "x-skip-mtls-checking" => "true" pois o sistema do cliente está um host compartilhado na Hostgator.

Já tentei vários testes porém não recebo resposta na url de notificação.

# pix
Avatar discord do usuario andervieiradev

andervieiradev

passei o "headers" => [
"x-skip-mtls-checking" => "true",
],

# devs
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @gabriell.7015. Como vai?
Nas configurações do módulo está marcada a opção Validar mTLS?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas


:443> # Porta HTTPS
#
# ...
#

SSLCertificateFile /caminho_certificado/fullchain_ssl.pem #fullchain associado ao seu certificado SSL do domínio
SSLCertificateKeyFile /caminho_certificado/privkey_ssl.pem #privkey associada ao seu certificado SSL do domínio

#Chave pública da Efí
SSLCACertificateFile /caminho_certificado/chain-pix-prod.crt

# mTLS Efí
SSLVerifyClient none
SSLProtocol TLSv1.2


SSLVerifyClient require
SSLVerifyDepth 3


# Tratando o /pix, redirecionando as requisições sempre para /webhook
Alias "/webhook/pix/" "/var/www/webhook/index.php"
Alias "/webhook/pix" "/var/www/webhook/index.php"

#
# ...
#

# pix
Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

@coxinha_noob, você trocou de URL ou realizou alguma alteração na configuração do mTLS?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Comparando a sua configuração de Apache com a do exemplo da Efí (abaixo), o que é igual e o que é diferente ?


:443> # Porta HTTPS
#
# ...
#

SSLCertificateFile /caminho_certificado/fullchain_ssl.pem #fullchain associado ao seu certificado SSL do domínio
SSLCertificateKeyFile /caminho_certificado/privkey_ssl.pem #privkey associada ao seu certificado SSL do domínio

#Chave pública da Efí
SSLCACertificateFile /caminho_certificado/chain-pix-prod.crt

# mTLS Efí
SSLVerifyClient require
SSLVerifyDepth 3

# Tratando o /pix, redirecionando as requisições sempre para /webhook
Alias "/pix/" "/var/www/webhook/index.php"
Alias "/pix" "/var/www/webhook/index.php"

#
# ...
#



# bolix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, o Bolix não requer mTLS.

# bolix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

entendi. E precisa do padrão mTLS habilitado para o Bolix?

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Boa tarde @andresisdanca ! Você configurou o mTLS ? Por norma do Banco Central, é necessário a inserção de uma chave pública da Efí em seu servidor para que a comunicação obedeça o padrão mTLS.

# devs
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

O exemplo fornecido apresenta um código destinado a processar os dados enviados por nossa API após a validação do MTLS por parte do seu servidor.
No procedimento, seu servidor realizará a validação do MTLS e, após a confirmação, encaminhará a requisição para sua aplicação para o tratamento necessário.

# devs
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @meliodas7010! Tudo bem?
Este trecho de código representa a aplicação responsável por lidar com a requisição.
É provável que o seu servidor esteja configurado com um servidor web (como Nginx ou Apache), e em nossa documentação, fornecemos exemplos detalhados sobre como configurar o MTLS (Mutual Transport Layer Security) nesses servidores. Recomendamos consultar a documentação para obter orientações passo a passo sobre a configuração adequada do MTLS em seu ambiente específico.
Segue o link: https://dev.efipay.com.br/docs/api-pix/webhooks#exemplos-de-configura%C3%A7%C3%B5es-de-servidor

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Oi, @ranulfosouza. De acordo com o que está no ssllabs do seu domínio, o certificado SSL está correto.
O certificado CA que foi mencionado, serio o utilizado para fazer o hand-shake do mTLS, que seria este https://pix.sejaefi.com.br/webhooks/chain-prod.crt.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Esse erro de request é esperado, por causa justamente da configuração de mTLS. Os demais testes me pareceram todos OK. Detalhe que o webhook não usa o certificado .p12 que você usa nas requisições diretas... ele usa o certificado que o API Gateway gera.
Acho que vale olhar a sequência que este vídeo sugere, e ver se faltou alguma coisa:
https://www.youtube.com/watch?v=w2Wizyo5Ljk

Só não faça de jeito nenhum configurações com . Esqueça essa parte, e use api.shopchafe.com mesmo em todas as configurações.

# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A utilização do mTLS só não é uma opção em homologação. Em produção o manual de segurança do Pix é muito claro em informar que é exigido.

# dúvidas
Avatar discord do usuario guilherme_efi

guilherme_efi

@adilalima, como vai?
Na SDK o parâmetro 'x-skip-mtls-checking' deve ser passado no array 'headers'. Assim:

php
$webhook = EfiPay::getInstance([
'client_id' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_ID : CONF_EFI_CLIENT_ID,
'client_secret' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_SECRET : CONF_EFI_CLIENT_SECRET,
'certificate' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_PIX_CERTIFICATE : CONF_EFI_PIX_CERTIFICATE,
'headers' => ['x-skip-mtls-checking' => "true"],
]);

# dúvidas
Avatar discord do usuario adilalima

adilalima

Opa, tudo ótimo e contigo?
Então, mesmo seguindo esse guia e fazendo (supostamente) igual acabo recebendo o mesmo erro de código 400 e de descrição "A autenticação de TLS mútuo não está configurada na URL informada":

public function config_webhook(array $data): void
{
$webhook = EfiPay::getInstance([
'client_id' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_ID : CONF_EFI_CLIENT_ID,
'client_secret' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_SECRET : CONF_EFI_CLIENT_SECRET,
'certificate' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_PIX_CERTIFICATE : CONF_EFI_PIX_CERTIFICATE,
'x-skip-mtls-checking' => "true",
]);

$webhook = $webhook->pixConfigWebhook(
['chave' => CONF_EFI_PIX_KEY],
['webhookUrl' => CONF_EFI_PIX_WEBHOOK_URL]
);

$this->call(code: 200)->back(['data' => $data, 'headers' => $this->headers, 'webhook' => $webhook]);
}

É um comportamento esperado?