Histórico de mensagens sobre mtls em pix

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
Canal: pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não pq tem como implementar mTLS mesmo sem fechar mTLS na sessão TLS. O servidor web pode repassar para a aplicação o certificado de quem chamou o HTTP, e a aplicação verificar mTLS. Então desligar o teste só abre possibilidade para esse cenário.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Troque para skip-mtls-check. Essa opção não desliga o mTLS, desliga a verificação que eles fazem.

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

Até pq, na própria doc eles falam da hospedagem compartilhada, pq eles sabem que não dá para configurar o mtls...

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

Mas eu deixei bem claro a minha pergunta... "Posso utilizar do skip-mtls em produção?"

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se eles escreverem algo que diga que eles permitem, seria basicamente batom na cueca. Por isso em outras oportunidades eles disseram que o certificado é sempre enviado, então até aonde eles tem conhecimento, o mTLS deve estar sendo seguido. Tem no histórico do canal isso.

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

@igor_efi @elaine2983, podem dar uma orientação sobre esse assunto?? Em produção, usando hospedagem compartilhada, posso usar o skip-mtls, e validar o webhook pelo IP de origem??

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Por acaso eu estava falando com um PSP esta semana, e eles implementam sim mTLS.

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

Pode denunciar todos então... Só conheço a EFI q usa o mtls...

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não tem opção de desabilitar o mTLS... tanto que eles sempre manda o certificado origem. A opção que tem é de desabilitar a checagem de se você implementou mTLS corretamente.

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Se fosse assim, o BC removeria todos os Gateways, e manteria apenas a EFI, pq é a única que usa o mtls....

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O IP de origem é uma checagem de segurança adicional que é prudente fazer, mas a obrigação do mTLS está definido pelo instituidor do arranjo Pix, o Banco Central. A Efí não pode dizer que na Efí é opcional.

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

Não não, só olhar a doc deles... Eles deixam bem claro que em hospedagem compartilhada pode usar o skip-mtls, e fazer a validação do webhook via IP de origem da request...

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A Efí nunca disse isso. Quando você diz para a Efí não checar, você está dizendo que está checando o mTLS de outra maneira. E se você não fizer isso, e a Efí tiver evidência conclusiva disso, vai ter que desativar seu uso da API.

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

Pode em qualquer ambiente... Mas o recomendado é usar o mtls, mas caso o ambiente não permita, dá para usar sem problemas...

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

Na vdd, o skip-mtls pode ser usado em produção tbm....

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, mas para usar o de homologação pode-se o usar o x-skip-mtls-checking

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

Eu ACHO q via ngrok vc vai ter problema com o mtls...

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Removi a sua URL porque ela não está configurada com MTLS. Vou abrir um atendimento para explicar melhor o motivo da sua falha.

Parece que há uma inconsistência entre a validação do esquema JSON que você está realizando e o formato JSON enviado durante o cadastro do webhook.

Avatar discord do usuario .thomasjackson

.thomasjackson

public async Task SaveWebhookUrl(Guid chavePix, string webhoookUrl)
{
dynamic efi = new EfiPay(
appSettings.Payment.ClientId,
appSettings.Payment.ClientSecret,
appSettings.Payment.Sandbox,
appSettings.Payment.Certificate
);

var headers = "{\"x-skip-mtls-checking\": \"true\"}";

var param = new
{
chave = chavePix.ToString()
};

var body = new
{
webhookUrl = webhoookUrl
};
var result = Task.FromResult(efi.PixConfigWebhook(param, body, headers));
await Task.FromResult(efi.PixConfigWebhook(param, body, headers));
}

Avatar discord do usuario .thomasjackson

.thomasjackson

Ver Respostas

ok, eu fiz essa implementacao
public async Task SaveWebhookUrl(Guid chavePix, string webhoookUrl)
{
dynamic efi = new EfiPay(
appSettings.Payment.ClientId,
appSettings.Payment.ClientSecret,
appSettings.Payment.Sandbox,
appSettings.Payment.Certificate
);

var headers = "{\"x-skip-mtls-checking\": \"true\"}";

var param = new
{
chave = chavePix.ToString()
};

var body = new
{
webhookUrl = webhoookUrl
};

await Task.FromResult(efi.PixConfigWebhook(param, body, headers));
}