Histórico de mensagens sobre ssl

EXIBINDO CONVERSAS RECENTES:

Texto: ssl
# pix
Avatar discord do usuario andresisdanca

andresisdanca

Como configurar no glassfish 4.0 o certificado do GN para ele funcionar no ssl e autorizar as transações.

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Está apontando certo.

Veja o código:

File file = new File(CERTIFICADO);

System.out.println("certificado: " + file.isFile() );
System.out.println("certificado: " + file.getAbsolutePath() );

String rota = URL_PADRAO + "/oauth/token";

String basicAuth = Base64.getEncoder().encodeToString(((CLENTE_ID + ':' + CLIENTE_SECRET).getBytes()));
System.setProperty("javax.net.ssl.keyStore", CERTIFICADO);

SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();

System.out.println("sslsocketfactory:" + sslsocketfactory.toString() );

URL url = new URL(rota); //Para ambiente de Desenvolvimento
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Basic " + basicAuth);
conn.setSSLSocketFactory(sslsocketfactory);

String requestJson = "{\"grant_type\": \"client_credentials\"}";

try (DataOutputStream stream = new DataOutputStream(conn.getOutputStream())) {

byte[] send = requestJson.getBytes("UTF-8");

stream.write(send);

stream.flush();

}

conn.connect();

String responseJson = inputStreamToString(conn.getInputStream());

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

System.setProperty("javax.net.ssl.keyStore", CERTIFICADO);

Quando uso no método main isso funciona e seta a propriedade e quando uso no servidor web não acha o certificado.
Alguma ideia?

No servidor web me dá está resposta:
Server returned HTTP response code: 403 for URL: https://api-pix.gerencianet.com.br/oauth/token

Não acho que seja o certificado ... até acredito que está pegando pois coloquei o endereço completo ....
Deve ser alguma configuração que pode estar faltando para o servidor web local.

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Severe: javax.net.ssl.SSLException: java.net.SocketException: Connection reset

Estou recendo este erro ao tentar conectar com GN.

Alguma idéia?

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!303246663546568704> Um detalhe é que neste snippet que é gerado no Postman não tem os parâmetros que é informado o certificado. Você deve inserir igual foi feito no exemplo que temos em nossa doc para autenticação

php
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)

Estou recendo este erro ao chamar o metodo: public void authorize() throws IOException, AuthorizationException, GerencianetException {

Para Auteticar

# pix
Avatar discord do usuario python3.7

python3.7

Ver Respostas

Alguém com experiência com cloudflare / webhook pix pode me auxiliar pfv?

To tentando criar um webhook pix em um subdomínio que NÃO está passando pelo proxy da cloudflare. Criei esse subdomínio especificamente pra não usar o proxy da cloudflare e evitar o problema de handshake com o mtls.
Criei e instalei um certificado válido da Let's Encrypt nesse subdomínio.
Porém quando eu tento chamar /v2/webhook/(minha chave) pra criar um webhook, meu servidor responde com um 403 nas 2 etapas da validação do webhook. No log do apache, recebo isso em ambas as etapas:

[Wed Sep 01 21:33:27.433107 2021] [ssl:error] [pid 8033] [client :49689] AH10158: cannot perform post-handshake authentication
[Wed Sep 01 21:33:27.433228 2021] [ssl:error] [pid 8033] SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received

- Estou usando a configuração semelhante à dada como exemplo na documentação, além da configuração pro meu certificado da Let's Encrypt:
SSLCACertificateFile /etc/apache2/certs/chain-pix-prod.crt
SSLVerifyClient none

SSLVerifyClient require
SSLVerifyDepth 3


- E como valor do parâmetro "webhookUrl" na criação do webhook, to passando: https:///home/dn-pix-callback-v1.php?c=

Realmente não sei o porque isso está acontecendo. Se precisar de mais alguma informação é só perguntar. Só to perguntando pq realmente não sei mais o que fazer kk.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Beleza.
Para facilitar essa configuração com o Apache, uma dica seria configurar um subdomínio com o mTLS dedicado para o webhook, ex www.webhook.seu_dominio.com.br. Que com um subdomínio fica fácil fazer o redirecionamento do /pix. Veja um exemplo completo:

apache

:443>
ServerName webhook.seudominio.com.br
ServerAlias www.webhook.seudominio.com.br
ErrorLog ${APACHE_LOG_DIR}/webhook.error.log
CustomLog ${APACHE_LOG_DIR}/webhook.access.log combined
DocumentRoot /var/www/webhook


Options Indexes FollowSymLinks
AllowOverride All
Require all granted


Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/webhook.seudominio.com.br/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/webhook.seudominio.com.br/privkey.pem

# mTLS Gerencianet
SSLCACertificateFile /etc/apache2/sites-available/cert_gn/chain-pix-prod.crt
SSLVerifyClient require
SSLVerifyDepth 3

# Redirect from /pix
Alias "/pix/" "/var/www/webhook/index.php"
Alias "/pix" "/var/www/webhook/index.php"


# pix
Avatar discord do usuario caiodomingues

caiodomingues

não troquei meu certificado SSL, na plataforma diz estar ativo

# pix
Avatar discord do usuario caiodomingues

caiodomingues

cURL: SSL certificate problem: unable to get local issuer certificate

# pix
Avatar discord do usuario matheus_efi

matheus_efi

A autenticação em Delphi, pelo menos em nossos testes, funciona utilizando 2 cehaves separadas. Você consegue elas utilizando o comando de conversão:
openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys #certificado
openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes #chave privada

# pix
Avatar discord do usuario vitor.gt

vitor.gt

Ver Respostas

Bom dia, tudo bem?
Preciso de uma ajuda com o mTLS do webhook pix.
Estamos usando o Google Cloud App Engine para a nossa solução

A documentação oficial diz "SSL support for your App Engine app goes above and beyond basic SSL by offering globally-distributed SSL endpoints and built-in load balancing to serve your app securely, reliably, and quickly to a worldwide audience." (https://cloud.google.com/appengine/docs/standard/nodejs/securing-custom-domains-with-ssl)
E aqui diz "Google Cloud load balancers don't support client certificate-based authentication (mutual TLS, mTLS)." (https://cloud.google.com/load-balancing/docs/ssl-certificates#ssl-certificate-limits)

Voces já solucionaram algum caso parecido? Têm alguma ideia de alternativa? Alguma sugestão doq fazer?

Desde já, muito obrigado 🙂

# pix
Avatar discord do usuario felipoantonoff

felipoantonoff

Ver Respostas

Olá, pessoal, a Hospedagem configurou o mTLS para o Webhook do Pix, podem ver se fizeram certo:

ssl_client_certificate /home/site/chain-pix-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
#rewrite ^(.)$ /webhook;
rewrite ^/webhook$ https://site.com.br/index.php?route=extension/payment/code_gerencianet_pix/webhook redirect;
}

Tirei a URL do site, basicamente na url extension/payment... fica a função que recebe o Webhook da Gerencianet Pix
Na parte de emissão do Pix criamos o Webhook usando a URL site.com.br/webhook, mas tem retornado erro:
CurlOperation timed out after 8001 milliseconds with 0 bytes received
ou Response {"nome":"webhook_invalido","mensagem":"A URL informada respondeu com o código HTTP 403"}

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

js
const express = require("express");
const fs = require("fs");
const https = require("https");
const bodyParser = require("body-parser");
var logger = require('morgan');

const httpsOptions = {
cert: fs.readFileSync(""), // Certificado SSL fullchain do dominio
key: fs.readFileSync("/"), // Chave privada SSL do domínio
ca: fs.readFileSync(""), // Certificado público da Gerencianet - baixe no link: https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt
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(bodyParser.json());
app.use(bodyParser.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})
);

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

O certificado SSL não pode ser auto assinado, deve ser gerado por uma Autoridade Certificadora válida. Um exemplo seria a Lets Encrypt, que é gratuito

# pix
Avatar discord do usuario bmcoder

bmcoder

bom dia alguem aqui teria uma experiencia com a configuração dos certificado ssl em windows server e apache?

# pix
Avatar discord do usuario bmcoder

bmcoder

Ver Respostas

boa noite seguindo no msm assunto do webhook estou querendo uma ajuda nesse sentido do ssl estou com dificuldades de configurar

# pix
Avatar discord do usuario marcelo_efi

marcelo_efi

Boa tarde <@!868256278101786624>, é necessário ter uma URL válida com o SSL configurado

# pix
Avatar discord do usuario bmcoder

bmcoder

Boa noite estou tentando configurar o webhook para usar o sendpix, porém estou com dificuldade na instalação do ssl no apache (os windows) se estiver alguém que possa dá uma luz agradeço