Bom dia <@!837319378772820018> ! Não temos nenhum exemplo pronto em java. Mas você pode utilizar esse link https://dzone.com/articles/configuring-ssl-tls-connection-made-easy por exemplo.
Termos mais procurados:
Termos mais procurados:
Bom dia <@!837319378772820018> ! Não temos nenhum exemplo pronto em java. Mas você pode utilizar esse link https://dzone.com/articles/configuring-ssl-tls-connection-made-easy por exemplo.
Bom dia, pessoal. Tudo bom?
Estou tentando configurar o webhook. Fiz as configurações do apache2 para exigir o certificado, mas o recurso de configuração informa que a url retornou 403.
O certificado que coloquei foi baixado do link disponibilizado na documentação.
(https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt)
//gerar qrcode
url = new URL ("https://api-pix-h.gerencianet.com.br/v2/loc/80/qrcode"); //Para ambiente de Desenvolvimento
conn = (HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization","Bearer "+token);
conn.setSSLSocketFactory(sslsocketfactory);
System.out.println(conn.getResponseCode());
System.out.println(conn.getResponseMessage());
''' url = new URL ("https://api-pix-h.gerencianet.com.br/v2/cob/"+main.getSaltString()); //Para ambiente de Desenvolvimento
conn = (HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("PUT");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization","Bearer "+token);
conn.setSSLSocketFactory(sslsocketfactory);
input = "{\"chave\": \"+55 34 9 8436-7252\",\"calendario\": {\"expiracao\": 3600 },\"valor\": {\"original\": \"123.45\" }}";
os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();
responseCode = conn.getResponseCode();
if (responseCode >= 200) {
System.out.println(responseCode);
reader = new InputStreamReader(conn.getInputStream());
}else {
System.out.println(responseCode);
reader = new InputStreamReader(conn.getErrorStream());
}
br = new BufferedReader(reader);
while ((response = br.readLine()) != null) {
System.out.println(response);
}
System.setProperty("javax.net.ssl.keyStore", "certificado.p12");
url = new URL ("https://api-pix-h.gerencianet.com.br/v2/loc/5/qrcode"); //Para ambiente de Desenvolvimento
conn = (HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization","Bearer "+token);
conn.setSSLSocketFactory(sslsocketfactory);
ssl_certificate /path.../fullchain.pem; # managed by Certbot
ssl_certificate_key /path.../privkey.pem; # managed by
É na linha
Na verdade, tudo teria sido mais simples se o CloudFlare aceitasse o upload de um client certificate para fazer o mTLS. Em SSL/TLS, aba Client Certificates, é possível gerar um certificado para o cliente (o que é conceitualmente correto), mas não é possível carregar o que a GN fornece para que se faça esse teste.
outro detalhe nessa linha if ($ssl_client_verify != SUCCESS) quando dou reload no meu ngnix ele diz q essa variavel n foi declarada. tbm n conseigo ver onde vc declara. pois la emcima onde vc define o caminho do certificado é uma diretiva e n $(var)
Para ssl nós utilizamos como exemplo o Certbot como autoridade certificadora, pois é gratuito
Qual host Pra ssl Voces taoo usando para setar a webhook
Bom dia Anderson, você utilizou este comando na conversão da chave para .pem?
o certificado da gerencianet foi adicionado mas o ssl é que esta atrapalhando ainda
com o openssl
Aparece a mensagem: WARNING: SSL: Certificate type not set, assuming PKCS#12 format.
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix-h.gerencianet.com.br/v2/webhook/[email protected]',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_SSLCERT => OPTIONS["pix_cert"],
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS =>'{
"webhookUrl": "' . WEBHOOK_URL . '"
}',
CURLOPT_HTTPHEADER => array(
"authorization: $tokenType $token",
'x-client-cert-pem: {{X-Certificate-Pem}}',
'x-skip-mtls-checking: true'
),
));
Bom dia! Está difícil fazer esse webhook funcionar, mas vamos lá... Meu site está hospedado num servidor Linux CentOS 7 rodando Apache 2.4 e estou usando PHP. No diretório onde vou receber as notificações de webhook eu resolvi criar um .htaccess e exigir o certificado CA da seguinte forma: criei no diretório ~/webhooks/notificacoes um .htacess como abaixo:
SSLVerifyClient require
SSLVerifyDepth 3
SSLCACertificateFile /home/certificados/chain-pix-sandbox.crt
Quando tento acessar uma página dentro de ~/webhooks/notificacoes, recebo um erro HTTP 500 e no log do Apache aparece a mensagem:
"/home/meusite/public_html/webhooks/notificacoes/.htaccess: Your SSL library does not have support for per-directory CA"
Esta mensagem quer dizer que meu servidor não vai suportar a autenticação que exige a GerenciaNet?
Agradeço se alguém conseguir me ajudar...