Histórico de mensagens sobre mtls em pix

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
Canal: pix
Avatar discord do usuario diegohenrique1989

diegohenrique1989

Ver Respostas

Bom dia, então queria saber se para configurar os webhooks preciso ja ter o mTLS configurado ou posso dar um PUT na rota de configuração tranquilamente?

Avatar discord do usuario ribas2555

ribas2555

Ver Respostas

desculpa mas fiquei meio sem entender, se eu nao mandar x-skip-mtls-checking: 1, o que muda para mim? o mTLS nao seria eu que teria que verificar no meu nginx ou apache?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Não necessariamente, <@!664563985885954079>.

Conforme publicamos ontem, você adicionando o parâmetro x-skip-mtls-checking no header no endpoint PUT /v2/webhook/:chave, você irá registrar seu webhook à sua chave sem validação de mTLS durante o consumo.

Ou seja:
Se o parâmetro não for enviado, iremos validar mTLS;
Se o parâmetro for enviado e valor igual à true, não validaremos mTLS;
Se o parâmetro for enviado e valor diferente de true, validaremos mTLS;

Salientamos que a Gerencianet continuará a fornecer a comunicação com mTLS, ou seja, na comunicação da notificação nada mudou. O POST entre Gerencianet e EC continua enviando o certificado.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!798679248633856000> Não. O certificado p12/pem é para a autenticação do consumo da API.
Já para a configuração do mTLS, você irá utilizar o CA com a chave pública da Gerencianet, sendo uma para cada ambiente, segue link das chaves públicas:
Desenvolvimento: https://pix.gerencianet.com.br/webhooks/chain-pix-sandbox.crt
Produção: https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt

Avatar discord do usuario ribas2555

ribas2555

Ver Respostas

Isso renato, então eu preciso de outro certificado para o mTLS, eu gero ele ou a GN me fornece?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não o da GN, mas o que o EC apresenta. mTLS tem dois certificados envolvidos.

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

Rubens, são certificados diferentes. O que consome a API é individual por cliente e ambiente (dev/produção). O que usamos pra validar o mTLS nos callbacks é diferente (separados apenas por ambiente dev/produção, sendo os mesmos dois para todos os clientes).

Avatar discord do usuario ribas2555

ribas2555

Ver Respostas

então se eu fizer a verificação do mTLS no nginx por exemplo, o certificado que vou usar é o mesmo p12/pem do auth?

Avatar discord do usuario diegohenrique1989

diegohenrique1989

teria a ver com o mtls?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, configurando mTLS.

Avatar discord do usuario anoni_mato

anoni_mato

seja como for... se alguém preferir / precisar... Amazon tá aí, mtls-proxy do pix.ae também 😁

Avatar discord do usuario rubenskuhl

rubenskuhl

Notar que a Gerencianet não diz que o mTLS não é necessário, e sim que o integrador pode ter outras formas de implementá-lo em camada de aplicação e aí garantir o mesmo nível de segurança. Então quem não estiver validando se o cliente é mesmo a Gerencianet, está em violação da documentação do Pix.

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

mas "não seguir" mTLS seria não enviar o certificado. se é o EC que valida, qual a responsabilidade do PSP? qual o critério pra saber que o EC não tá validando?

Avatar discord do usuario rubenskuhl

rubenskuhl

E não seguir o mTLS é uma violação bem evidente na postura de segurança, mesmo não sendo a única.

Avatar discord do usuario rubenskuhl

rubenskuhl

Não é só o mTLS que o PSP precisa avaliar do EC, é toda a postura de segurança.

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

<@!780500321994539068> o manual de segurança diz que o callback deve ser enviado por canal mTLS. mas como o PSP pode garantir que o canal é mTLS? não existe isso. ele envia com certificado e o cliente verifica se ele quiser. não tem como a GN saber se o cliente tá validando.

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

não é bem assim. na verdade, a conexão mTLS não tem como ser validada dos dois lados. quem envia o request manda o certificado e o recebedor é responsável por validar, mas não tem como o emissor impedir que o outro lado "consuma" o request sem validar o certificado enviado. então a norma do BACEN, na prática, obriga o PSP a enviar o certificado e dar meios pro cliente verificar (e rejeitar o request se quiser). mas o EC pode simplesmente ignorar a verificação. o que o novo parâmetro faz é desligar a verificação que a GN faz (por iniciativa dela, não por obrigação) enviando um request sem certificado primeiro para testar se o EC valida. então se vc usa esse parâmetro, você poderá receber callbacks depois, que virão com o certificado, e recebe os dados normalmente mesmo que não valide o certificado (ou seja, sem "fechar mTLS").

Avatar discord do usuario ribas2555

ribas2555

Ver Respostas

voce conseguiu configurar essa questão do mtls usando o node?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não flexibilizaram. Os acionamentos continuam exigindo mTLS.