Histórico

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
Canal: pix
Avatar discord do usuario gabreudev

gabreudev

Ver no Discord

public JSONObject configHook(){

JSONObject options = configuringJsonObject();

options.put("x-skip-mtls-checking", "true");

HashMap params = new HashMap<>();
params.put("chave", "2d9c6bfd-d19e-4123-8a35-c2f0caac55db");

JSONObject body = new JSONObject();
body.put("webhookUrl", "https://bde1-45-170-222-201.ngrok-free.app/webhook/");

try {
EfiPay efi = new EfiPay(options);
JSONObject response = efi.call("pixConfigWebhook", params, body);
System.out.println(response);
return response;

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

Mas aí seria TLS e não mTLS. Para ser mTLS, o ngrok precisaria checar se é certificado da Efí... então precisa do x-skip-mtls sim para esse ambiente dev.

Avatar discord do usuario un0w.

un0w.

Ver RespostasVer no Discord

desativa o pulo da checagem mtls e tenta de novo

Avatar discord do usuario gabreudev

gabreudev

Ver RespostasVer no Discord

JSONObject options = configuringJsonObject();

options.put("x-skip-mtls-checking", "true");

HashMap params = new HashMap<>();
params.put("chave", "minhachave");

JSONObject body = new JSONObject();
body.put("webhookUrl", "https://37c3-45-170-222-201.ngrok-free.app/webhook/");

try {
EfiPay efi = new EfiPay(options);
JSONObject response = efi.call("pixConfigWebhook", params, body);
System.out.println(response);
return response;

}catch (EfiPayException e){
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
return null;
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

O que eu percebo mais é dificuldade com a questão de mTLS...

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

Sim, ngrok usando a opção X-Skip-mTLS-Check é uma opção para testes, sejam no ambiente de homologação ou de produção pra Efí. Só não vale usar em produção externa, pois a falta do mTLS te colocaria em oposição ao regulamento do Pix.

Avatar discord do usuario jessica_efi

jessica_efi

Ver no Discord

Mas basicamente, será 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. No domínio que representa o seu servidor, você deverá configurar a exigência da chave pública (mTLS) que estamos disponibilizando, para que ocorra a autenticação mútua.

A Efí irá fazer 2 requisições para o seu domínio (servidor):
Primeira Requisição: Vamos certificar que seu servidor esteja exigindo uma chave pública da Efí. Para isso, enviaremos uma requisição sem certificado e seu servidor não deverá aceitar a requisição. Caso seu servidor responda com recusa, enviaremos a 2ª requisição.
Segunda Requisição: Seu servidor, que deve conter a chave pública disponibilizada, deverá realizar o "Hand-Shake" para que a comunicação seja estabelecida.