Histórico de mensagens sobre Skip-mTLS

EXIBINDO CONVERSAS RECENTES:

Texto: Skip-mTLS
# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

$config = [
"certificado" => $this->pixCert,
// "certificado" => DIRPAGE."src/Includes/olimppiuspix.crt.pem",
// "certificado" => "",
"client_id" => $this->clientId,
"client_secret" => $this->clientSecret
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix-h.gerencianet.com.br/v2/webhook/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS =>'{
"webhookUrl": "https://olimppi.us/webhook/index.php"
}',
CURLOPT_HTTPHEADER => array(
// "authorization: {{Authorization}}",
"Authorization: Basic $autorizacao",
"Content-Type: application/json",
"x-client-cert-pem: {{X-Certificate-Pem}}",
"x-skip-mtls-checking: false"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "

";
echo $response;
echo "
";

# pix
Avatar discord do usuario roguitar88

roguitar88

$options = [
'client_id' => $this->clientId,
'client_secret' => $this->clientSecret,
'pix_cert' => $this->pixCert,
'headers' => array(
'x-skip-mtls-checking' => 'true'
),
// 'debug' => false,
// 'timeout' => 30,
'sandbox' => $this->sandboxBoolean // (true = development e false = production)
];

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

$options['headers'] = array(
'x-skip-mtls-checking' => 'true',
);

try {
$api = Gerencianet::getInstance($options);

$params = ['chave' => '34646106000189'];
$body = ['webhookUrl' => 'https://olimppi.us/webhook'];
// https://olimppi.us/webhook/pix.php?ignorar=
// https://olimppi.us/webhook/pix.php?ignorar=/pix

$pix = $api->pixConfigWebhook($params, $body);
echo json_encode($pix);

} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);

throw new \Error($e->error);
} catch (\Exception $e) {
throw new \Error($e->getMessage());
}

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!723278999236771916> o que o Rubens lhe exemplificou é no momento que você for vincular sua chave Pix a uma URL do Webhook.

Ou seja, para que seu sistema receba estas notificações, primeiramente você deve consumir a rota PUT /v2​/webhook/:chave, no caso da SDK utilize o arquivo examples\pix\webhooks\update.php passando como parâmetro sua chave Pix, no body sua URL do webhook e 'x-skip-mtls-checking' => 'false', // Para validar o mTLS

Desta forma, , os PIX associados a um txid gerados com sua chave serão notificados.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Lembrando que com x-skip-mtls-checking true você está assumindo a responsabilidade de checar que é mesmo a Gerencianet conectando de outra forma, por exemplo, na sua aplicação.

# pix
Avatar discord do usuario ro.dri.go.sil.va

ro.dri.go.sil.va

Ver Respostas

testei com true e false no header 'x-skip-mtls-checking: true' e somente com true a aplicação passa

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se for só isso dá para ativar o x-skip-mtls-check, talvez ?

# pix
Avatar discord do usuario teodoro.rafael

teodoro.rafael

Ver Respostas

está com a mesma resposta, tenho um arquivo index.php que retorna uma string 200 que está com as permissões ok, e o header ja testei com x-skip-mtls-checking = true, x-skip-mtls-checking = false mais sempre da 403
imagem enviada na mensagem pelo usuario teodoro.rafael

# pix
Avatar discord do usuario anoni_mato

anoni_mato

x-skip-mtls-checking (eu acho)

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O teste está sendo feito sem o /pix. Talvez passar o x-skip-mtls-checking (ou a sua grafia correta) ajude.

# pix
Avatar discord do usuario lucaspera4486

lucaspera4486

URL url = new URL ("https://api-pix.gerencianet.com.br/v2/webhook/" + CHAVE_PIX);
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("PUT");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Bearer =" + authToken);
conn.setRequestProperty("x-skip-mtls-checking", "true");
conn.setSSLSocketFactory(sslsocketfactory);

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde <@!400114559299616769>, como muito bem informado pelo Renato nós continuamos enviando o certificado, o que o x-skip-mtls-checking faz é dar a decisão ao integrador se ele vai ou não verificar o CA na requisição. Fizemos isso para auxiliar clientes que utilizam servidores compartilhados, mas a recomendação é sempre configurar o mTLS.

# pix
Avatar discord do usuario anoni_mato

anoni_mato

aí você pode configurar seu nginx pra validar (e re-cadastrar a URL sem o x-skip-mtls-checking) ou fazer uma consulta à API pra verificar se o Pix foi mesmo recebido; o que vc achar melhor (a primeira opção exige menos recursos do seu servidor e da GN, além de ser marginalmente mais segura)

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

se você passou o x-skip-mtls-checking na hora de cadastrar a URL de webhook, a GN não certifica que você está validando o client certificate usado nos callbacks. nesse caso, você está sob risco de alguém enviar notificações falsas pra vc, o que é um problema caso você não verifique com uma nova consulta à API se o pix foi realmente recebido

# pix
Avatar discord do usuario taironecdias

taironecdias

Pessoal, fiquei um tempo afastado das discussões acerca do Pix aqui no servidor, mas alguém pode me confirmar se a única mudança que teve com relação ao webhook foi a adição do x-skip-mtls-checking ?

# pix
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?

# pix
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.

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

para os 2 ambientes. o nome certo do header é x-skip-mtls-checking (está errado no postman)