Histórico de mensagens sobre mtls

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você seguiu o que diz a documentação para cada webserver de como configurar mTLS ?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

E depois que você entender o que está causando isso, um alerta: pelo resultado do SSL Test, a configuração de mTLS para exigir o certificado da Efí não está correta. Mas isso não é a causa do seu problema atual... é só o próximo problema que vai aparecer quando você resolver este atual.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não testei com a Efí, mas o Glitch.com deve funcionar com a API Pix se você passar o x-skip-mtls-check. O que em homologação não é problema.

# pix
Avatar discord do usuario manbomb

manbomb

Ver Respostas

Olá, estou com problemas para fazer a autenticacao mTLS no meu servidor, fiquei com uma duvida especifica:

js
const httpsOptions = {
cert: fs.readFileSync(""),
key: fs.readFileSync("/"),
ca: fs.readFileSync(""),
minVersion: "TLSv1.2",
requestCert: true
};

cert e key sao os mesmos que eu utilizo para chamar a api pix?

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Na verdade são dois certificados... um é que certifica o seu servidor, https://exemplo.com.br . O outro é o da Efí, que você precisa exigir para garantir o mTLS.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não existe modo sem mTLS, pois mTLS é requisito. O que existe é a Efí não testar o seu mTLS, e deixar por sua conta fazê-lo... mas se a Efí tiver informação inequívoca de que você não está verificando, ela vai ter que desabilitar ou ser sancionada pelo BACEN.

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Isso é referente ao Hand-Shake que realizamos para validar se o servidor está apresentado o CA da Efí, no seu caso ao implementar o hmac já está fazendo uma validação para garantir que somos nós que estamos lhe enviando a requisição.
Portanto caso não queria configurar o hand-shake pode enviar no cabeçalho da requisição de configuração o x-skip-mtls-checking como true.
As informações com relação à isso estão nessa mesma página que envie antes.

# pix
Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

Ver Respostas

Bom dia! Estou com dificuldades para receber notificação de pagamento do pix. Penso em utilizar o modo sem mTLS. Fiz uma consulta para v2/webhook/:chave utilizando o metodo GET, mas me retorna que não tem webhook para a chave

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @allanmello, tudo bem?
Uma solução que talvez atenda seu caso seja a adição de um hmac para acessar sua URL.
Você pode dar um olhada nisso em https://dev.efipay.com.br/docs/api-pix/webhooks/#entendendo-o-padr%C3%A3o-mtls

# pix
Avatar discord do usuario peterfritz

peterfritz

Algo assim funcionaria:

js
import axios from "axios";
import https from "https";

const subdomain = process.env.NODE_ENV === "production" ? "pix" : "pix-h";

const clientCreds = clientId + ":" + clientSecret;
const authorization = Basic ${Buffer.from(clientCreds).toString("base64")};

const certificate = Buffer.from(certificateBase64Encoded, "base64");

const httpsAgent = new https.Agent({
pfx: certificate,
passphrase: "",
});

const oAuthResponse = await axios.post(
https://${subdomain}.api.efipay.com.br/oauth/token,
{
grant_type: "client_credentials",
},
{
headers: {
Authorization: authorization,
"Content-Type": "application/json",
},
httpsAgent,
}
);

const token = oAuthResponse.data.access_token;

const efiApi = axios.create({
baseURL: https://${subdomain}.api.efipay.com.br,
headers: {
Authorization: Bearer ${token},
"Content-Type": "application/json",
},
httpsAgent,
});

await efiApi.put(
/v2/webhook/${process.env.PIX_KEY},
{
webhookUrl:
${process.env.WEBHOOK_BASE_URL}/api/webhook/efi?secret=${process.env.WEBHOOK_SECRET}&ignore=.replace(
"//api",
"/api"
),
},
{
headers: {
"x-skip-mtls-checking": "true",
},
}
);

# pix
Avatar discord do usuario blini_10032

blini_10032

a minha requisição de oauth tá assim:
const responseToken = await fetch(
"https://pix-h.api.efipay.com.br/oauth/token",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"x-skip-mtls-checking": "true",
},
body: JSON.stringify({ grant_type: "client_credentials" }),
}
);

# pix
Avatar discord do usuario peterfritz

peterfritz

Ver Respostas

Fala @blini_10032, tem sim, uso serverless e edge para receber os callbacks, então pra mim também não foi possível usar mTLS. Mas a Efí suporta um cabeçado x-skip-mtls-checking na criação do webhook que, se tiver como valor true, irá pular a validação do mTLS.
https://dev.efipay.com.br/docs/api-pix/webhooks/#:~:text=Certbot%20por%20exemplo.-,Skip%2DmTLS,-Para%20hospedagem%20em>">Documentação do Skip-mTLS.

> Só lembre-se de verificar se o IP que envia a requisição https://sejaefi.com.br/central-de-ajuda/api/quais-enderecos-de-ip-gerencianet-utiliza#conteudo>">pertence à Efí e enviar um segredo conhecido apenas pelo seu servidor na URL quando criar o seu webhook como recomendado na documentação.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mas a validação de se é mesmo o mtls.pix.ae acionando é mais fraca do que a possibilitada por um API Gateway.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, faz. Segue o texto do autor do pix.ae:

Pra quem tem dificuldades de implementar os webhooks por falta de suporte em hospedagem compartilhada para configurar mTLS, o Pix.ae agora oferece proxy de callbacks com mTLS.

Pra usar é muito simples: é só prefixar o seu domínio com mtls.pix.ae/. Por exemplo:

Para: https://exemplo.com.br/webhookpix
Use: https://mtls.pix.ae/exemplo.com.br/webhookpix

Obs: no ambiente de homologação, prefixe com mtls-h.pix.ae/

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, mas você pode usar algum componente de SaaS que implemente mTLS com CA privada e aí acione a sua hospedagem.
API Gateway da AWS e pix.ae são duas opções; Oracle Cloud também dá para fazer mas não sei o nome do componente lá.
Notar que dá para fazer apenas essa parte nessas soluções, não precisa portar tudo pra AWS/OCI.

# devs
Avatar discord do usuario marcelo_efi

marcelo_efi

Ver Respostas

Boa tarde, tudo bem ? No Open Finance você deve fornecer um hash caso opte por não utilizar o mTLS
imagem enviada na mensagem pelo usuario marcelo_efi

# devs
Avatar discord do usuario guilhermepods

guilhermepods

Ver Respostas

Boa tarde, notei que no webhook da API Pix tem uma função skip mtls, mas na API Pix via Open Finance não. É assim mesmo?

# pix
Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Boa tarde, @felipecasseb.! Seu webhook precisa implementar o padrão mTLS em caso de servidores dedicados, ou você pode optar pelo skip-mTLS caso use um servidor compartilhado desde que implemente as medidas de segurança recomendadas: https://dev.efipay.com.br/docs/api-pix/webhooks

# pix
Avatar discord do usuario yuu_sr91

yuu_sr91

Gente, estou configurando o mTLS com a AWS configurada e dominio personalizado tbm e tá dando esse erro:

json
{
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 403"
}