Integrando Amazon API Gateway e Webhook mTLS

EXIBINDO RESPOSTAS:

Avatar discord do usuario cleversonmenur

cleversonmenur

Olá, @Efí

Ainda na labuta do Webhook em ambiente PaaS. Fiz os seguintes passos e creio estar quase lá:

- Criei uma conta na Amazon para o projeto
- Cadastrei o cartão de crédito
- Provisionei o Amazon API Gateway
- Configurei um custom domain nele
- Configurei o domínio no meu Registrar
- Habilitei o custom domain no API Gateway
- Criei certificado e habilitei o HTTPS
- Baixei o cert webhook da Gerencianet
- Criei uma Trust Store PKCS12
- Coloquei a cadeia da GN lá
- Converti a TS para o formato PEM
- Provisionei um armazenamento Amazon S3
- Subi a TS.pem
- Finalizei a configuração do custom domain
- Ativei o mTLS neste domínio
- Criei uma rota de API para o meu server
- Associei a rota ao custom domain com mTLS

Fui configurando e testando a cada passo. Quase tudo funcionando. A única coisa que não consigo é fazer uma requisição client para testar o mTLS já que não tenho o cert client do webhook.

Então…

- Invoquei o serviço PUT /webhook/{chave} passando no body a url e recebi o seguinte body com o status 400:

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ERR_TLS_CERT_ALTNAME_INVALID"
}

Supus ser algum erro no pem que usei para configurar o mTLS. E já experimentei o seguinte:

- Usei exatamente o CRT que baixei das docs da GN
- Fiz a conversão como citei acima (criando a TS)

Se vocês puderem fazer uma requisição mTLS com o certificado client correto para testar, a UTR é esta:

POST https://mtls.menur.app/vbeta1/establishments/mana/pix

O serviço está retornando 204 fixo para qualquer body json (não obrigatório).

Alguma luz? 🙏

Avatar discord do usuario rubenskuhl

rubenskuhl

O common name que o site está mostrando é .execute-api.us-east-1.amazonaws.com .

Avatar discord do usuario cleversonmenur

cleversonmenur

Verdade. Vi aqui no https://www.sslshopper.com. Foi o cert ACME gerado pela AWS. Vou ver se ele acabou não usando o cert ACME e usou o padrão.

Avatar discord do usuario cleversonmenur

cleversonmenur

Fiz uma modificação no CNAME. Vou aguardar a propagação para testar novamente. Tomara que seja só isso mesmo.

Avatar discord do usuario rubenskuhl

rubenskuhl

Common Name é o CN do certificado, que não é a mesma coisa que CNAME de DNS que é o Canonical Name.

Avatar discord do usuario cleversonmenur

cleversonmenur

o CNAME tava apontando para o host q a AWS associou ao certificado padrão. Mudei o CNAME para apontar para o host que gerei o cert com ACME.