Olá, a vercel tem previsão de aceitar comunicação via MTLS.
Preciso receber webhook e o banco precisa validar meu certificado e comparar.
Para receber o payload de retorno via webhook ele precisa fazer essa autenticação MTLS.
Vocês tem previsão de aceitar esse tipo de comunicação?
Preciso validar um cenário de webhook mTLS onde o Banco do Brasil (PagBB) envia requisições HTTPS autenticadas para minha aplicação hospedada na Vercel.
Conforme a documentação do BB, o webhook deles só é enviado mediante uma conexão mTLS, ou seja:
-
O cliente (BB) deve apresentar um certificado mTLS válido ao conectar
-
O servidor (Vercel) deve aceitar e validar esse certificado
-
Só então o BB entrega o webhook (por exemplo: atualização de status de lote PIX)
O que exatamente eu preciso?
Eu preciso que:
-
A Vercel aceite conexões HTTPS de entrada que utilizam mTLS (mutual TLS).
-
Ou seja, eu preciso validar o certificado apresentado pelo Banco do Brasil na conexão de ENTRADA.
-
Não preciso anexar certificados em chamadas de saída — nesse fluxo, sou o servidor, não o cliente.
Contexto técnico completo
O fluxo do PagBB é:
-
Eu cadastro na API PagBB um endpoint HTTPS público para receber os webhooks.
-
O Banco do Brasil realiza a entrega dos eventos via POST.
-
Essa entrega é feita obrigatoriamente via mTLS, o que significa:
-
A conexão TLS é iniciada pelo BB.
-
O BB envia seu client certificate assinado pela autoridade do BB.
-
O servidor deve validar esse certificado na handshake TLS.
-
Requisito técnico chave
Para que isso funcione, preciso que minha aplicação hospedada na Vercel permita:
-
Configurar validação de client certificates na camada de entrada
-
Ter acesso ao certificate chain enviado pelo cliente
-
Possuir uma forma de validar ou confiar na CA do Banco do Brasil
-
Manter a mesma URL pública HTTPS já hospedada na Vercel
Ou seja, o que preciso é:
➤ “Aceitar conexões de entrada com mTLS e validar o certificado do cliente (BB)”
O que NÃO preciso
Não preciso anexar certificados a requisições de saída.
Não preciso que minha aplicação seja cliente mTLS neste fluxo.
Não preciso de outbound mTLS.
Fluxo esperado (resumido)
-
BB → envia POST para minha URL pública (na Vercel).
-
BB → apresenta seu certificado cliente durante o handshake.
-
Vercel → valida o certificado com base em uma CA que eu configurarei.
-
Se válido → a request chega ao meu código (
/api/bb/webhook). -
Se inválido → conexão rejeitada antes de chegar ao meu app.
Em termos da pergunta de vocês:
“Deseja receber (validar certificado mTLS de entrada) ou deseja anexar certificados mTLS em conexões de saída?”
Resposta:
Quero receber e validar certificados mTLS de entrada.
Não preciso anexar certificados em conexões de saída.