Histórico de mensagens sobre mtls

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @daniel.polifabro. Tudo bem?
Qual sua dúvida?
Você já possui um domínio apontado para algum servidor rodando Node, Apache, Nginx para que possa configurar o mTLS?

# assinaturas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A API de emissões não usa mTLS. Se tiver mTLS como obrigatório nessa URL, não vai funcionar.

# assinaturas
Avatar discord do usuario felipessouza917722

felipessouza917722

Ver Respostas

Pode ser algo relacionado a configuração mTLS do meu servidor?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Experimente usar o exemplo da GN mas com "rejectUnauthorized: true". Aí na hora que nada mais no seu site funcionar, você vai saber que deu certo, pq vc estaria exigindo mTLS no site inteiro. Voltando pra false, aí entra a lógica que a GN fez para só exigir numa pasta específica.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O exemplo que tem na documentação da GN é assim:

const express = require("express");
const fs = require("fs");
const https = require("https");
var logger = require('morgan');

const httpsOptions = {
cert: fs.readFileSync(""), // Certificado fullchain do dominio
key: fs.readFileSync("/"), // Chave privada do domínio
ca: fs.readFileSync(""), // Certificado público da Gerencianet
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Mantenha como false para que os demais endpoints da API não rejeitem requisições sem MTLS
};

const app = express();
const httpsServer = https.createServer(httpsOptions, app);
const PORT = 443;

app.use(logger('dev')); // Comente essa linha caso não queira que seja exibido o log do servidor no seu console
app.use(express.json());
app.use(express.urlencoded({ extended: false }));

// Endpoint para configuração do webhook, você precisa cadastrar https://SEUDOMINIO.com/webhook
app.post("/webhook", (request, response) => {
// Verifica se a requisição que chegou nesse endpoint foi autorizada
if (request.socket.authorized) {
response.status(200).end();
} else {
response.status(401).end();
}
});

// Endpoind para recepção do webhook tratando o /pix
app.post("/webhook/pix", (request, response) => {
if (request.socket.authorized){
//Seu código tratando a callback
/ EXEMPLO:
var body = request.body;
filePath = __dirname + "/data.json";
fs.appendFile(filePath, JSON.stringify(body) + "\n", function (err) {
if (err) {
console.log(err);
} else {
response.status(200).end();
}
})
/
response.status(200).end();
}else{
response.status(401).end();
}
});

httpsServer.listen(PORT, () =>
console.log(Express server currently running on port ${PORT})
);
#Desenvolvido pela Consultoria Técnica da Gerencianet

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Essas plataformas prontas dificilmente tem configuração versátil o suficiente para mTLS com CA privada... por isso que os exemplos da GN são para quem tem controle específico do webserver, seja Express, nginx, Apache etc.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você precisa de 2 coisas para receber webhook:
1) Configuração do servidor web para que numa pasta ou sub-domínio seja exigido mTLS com CA da Gerencianet
2) Um atendedor nessa pasta ou sub-domínio para / e para /pix.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Então com seu servidor configurado com mTLS em seu domínio (ex: https://seudominio.com.br/webhook), você irá consumir o endpoint PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix.

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Uma opção para serviços onde não seja fácil configurar mTLS com CA privada é o mtls.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

E mesmo nos planos pagos mais baratos da Cloudflare também não tem mTLS com CA privada, só no plano Enterprise.

# pix
Avatar discord do usuario jlmagalhaes

jlmagalhaes

Ver Respostas

Estou em duvida de como configurar o mTLS. Estou utilizando a SDK do PHP

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, tem. A não ser que você tenha plano Enterprise da Cloudflare, ela não suporta mTLS com CA privada.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não me parece que o Heroku tenha suporte a mTLS com CA privada, que é requisito para o webhook.

# pix
Avatar discord do usuario huggler6815

huggler6815

const httpsOptions = {
cert: fs.readFileSync(""), // Certificado fullchain do dominio
key: fs.readFileSync("/"), // Chave privada do domínio
ca: fs.readFileSync(""), // Certificado público da Gerencianet
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Mantenha como false para que os demais endpoints da API não rejeitem requisições sem MTLS
};

# pix
Avatar discord do usuario huggler6815

huggler6815

Recebendo Callbacks
Esse serviço está protegido por uma camada de autenticação mTLS. Os callbacks são enviados pela Gerencianet via POST ​/pix quando há uma alteração no status do Pix.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O primeiro request é sem nada mesmo. Depois da GN confirmar o mTLS, aí (em produção apenas) o webhook é acionado em pagamentos.

# assinaturas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você também está integrando com API Pix ? As configurações de mTLS não se aplicam a assinaturas, e se vc tiver configurado os requisitos do mTLS, não vai receber notificações...

# bolix
Avatar discord do usuario josimaros

josimaros

Ver Respostas

ola boa tarde, estou com uma probleminha
estou realizando um pesquisa de carne pelo o id do carne e recebo a mensagem 'Unauthorized'
com as seguinte configurações de uso
sandbox: false,
client_id: secreto,
client_secret: secreto,
pathCertHomologacao: '',
validateMtls: false,

aplicação em javascript

estou querendo utilizar a base de dados real com os cliente cadastrados

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Bom dia, <@!229769812740407296>! A exigência do mTLS hoje veio do próprio BACEN e para adequar as normas e requerimentos da API Pix realizamos tal exigência no cadastro do webhook. Você pode utilizar também o endpoint GET /v2/pix para consultar os Pix recebidos, no entanto, recomendamos que se atente a boas práticas de consumo e evite fazer um pooling de forma exacerbada, pois a nossa equipe de infraestrutura acompanha este tipo de consulta e pode levar a restrições no IP nestes casos.