Histórico de mensagens sobre ssl

EXIBINDO CONVERSAS RECENTES:

Texto: ssl
# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Tente compilar seu próprio curl usando OpenSSL (o padrão do Mac é usar a biblioteca Secure Transport do sistema).

Compile e instale o OpenSSL via Homebrew:
brew install curl --with-openssl
brew install php56 --with-homebrew-curl
brew link curl --force
curl --version

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O macOS tem forte preferência pelo .p12 ao invés do .pem:
https://stackoverflow.com/questions/40712352/curl-error-58-ssl-cant-load-the-certificate-and-its-private-key-osstat

Então além de usar o /p12. eu tentaria usar o Keychain Access para importar o certificado raiz da Gerencianet e atribuir-lhe status de confiável.

# pix
Avatar discord do usuario kleyber_

kleyber_

Ver Respostas

Pessoal boa tarde... continuo aqui com o mesmo problema quando tento testar via localhost aqui no meu Macbook... já instalei o certificado no KeyAccess, mas na hora de criar o token usando o certificado, sempre dá a mensagem:
SSL: Can't load the certificate "./certificado/developer166379.pem" and its private key: OSStatus -61
Não tem ninguém da Gerencianet que pudesse fazer esse teste em um Mac?
Já pesquisei demais e estou quase fritando o cérebro por causa disto...

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Só passando aqui a contribuição da <@!513728938414047232> da falha : The SSL connection could not be established. A solução encontrada foi passar o certificado no HttpClient através de um handler:

X509Certificate2 uidCert = new X509Certificate2(@".\certificado.p12");

var handler = new HttpClientHandler();
handler.ClientCertificates.Add(uidCert);

var client = new HttpClient(handler);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

# pix
Avatar discord do usuario Krisdhya

Krisdhya

Ver Respostas

Desenvolvimento, o erro é este: The SSL connection could not be established

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

openssl @1.1.1i devel/openssl

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Eu tenho sim algumas versões de OpenSSL instaladas via MacPorts.

# pix
Avatar discord do usuario kleyber_

kleyber_

Ver Respostas

Estou começando a desconfiar que o problema é com o SSL

# pix
Avatar discord do usuario kleyber_

kleyber_

Ver Respostas

E você teve que instalar algo de SSL pra funcionar?

# pix
Avatar discord do usuario kleyber_

kleyber_

SSL: Can't load the certificate "../_lib/libraries/sys/LibPix/files/certificates/developer166379.pem" and its private key: OSStatus -61

# pix
Avatar discord do usuario pro4win

pro4win

Ver Respostas

ChilkatLog:
Connect_Socket:
ChilkatVersion: 9.5.0.83
Component successfully unlocked using purchased unlock code.
clsSocketConnect:
hostname: api-pix.gerencianet.com.br
port: 443
tls: True
maxWaitMs: 5000
socket2Connect:
connect2:
connectImplicitSsl:
connectSocket:
connect_ipv6_or_ipv4:
resolveHostname6:
getAddressInfo:
Failed to get host address info. (3)
SocketError: WSAHOST_NOT_FOUND No such host is known.
hostOrIpAddr: api-pix.gerencianet.com.br
port: 443
Versions of Windows earlier than Windows XP are limited to handling IPv4 only
On Windows Server 2003 and Windows XP, IPv6 addresses are returned only if IPv6 is installed on the local computer.
--getAddressInfo
--resolveHostname6
Domain to IP address resolution failed.
--connect_ipv6_or_ipv4
--connectSocket
--connectImplicitSsl
ConnectFailReason: DNS lookup failed
--connect2
--socket2Connect
Failed.
--clsSocketConnect
Failed.
--Connect_Socket
--ChilkatLog

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Em um outro ecossistema de APIs, uma coisa que causava isso era versão desatualizada de OpenSSL. Mas se se aplica ou não nesse caso, é especulação.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Problemas desse tipo vão afetar toda comunicação dessa máquina, mas o TCP é um protocolo bastante resiliente... você pode tentar outras atividades que também envolvam SSL e ver se o problema se reproduz nelas.

# pix
Avatar discord do usuario felipoantonoff

felipoantonoff

Usei o Curl da Lib PHP, com pequena adição de logs, segue o Curl usado:

php
$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => $pix_url_cob,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 8,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_SSLCERT => $arq_certificado,
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
"authorization: $tokenType $accessToken",
"Content-Type: application/json",
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);
if ($err) {
$this->log->write('emitePix() - Error Curl' . print_r($err, true));
return false;
}

$this->log->write('emitePix() - Error Curl' . print_r($err, true));

$this->log->write('emitePix() - Response ' . print_r($response, true));"

Curioso, que parece ocorrer só nesta chamada, a autorização não ocorre isso.
Uso o PHP 7.2 no servidor e com HTTPS.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia! <@!779211471829729292> A configuração que possuímos é a mesma que o Rubens citou anteriormente.
server {
#
# ...
#
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate server_ssl.crt.pem;
ssl_certificate_key server_ssl.key.pem;
ssl_client_certificate /root/chain-pix-webhooks-prod.crt;
ssl_verify_client optional;
#
# ...
#
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
rewrite ^(.)$ /webhook;
}
}

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Eu sugiro ssl_verify_client on se todo o vhost for exclusivo do webhook. Aí não precisa da parte de location /webhook.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

A GN sugere esta:
server {
#
# ...
#
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate server_ssl.crt.pem;
ssl_certificate_key server_ssl.key.pem;
ssl_client_certificate /root/chain-pix-webhooks-prod.crt;
ssl_verify_client optional;
#
# ...
#
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
rewrite ^(.)$ /webhook;
}
}

# pix
Avatar discord do usuario ezequielsp

ezequielsp

Ver Respostas

O problema é que com o meu .pem posso notifcar o pix.magno.pinheiro.com
CURLOPT_SSLCERT => 'developmentCertificate.pem',

# assinaturas
Avatar discord do usuario juizmill

juizmill

se eu removo o certificado da erro de SSL

# pix
Avatar discord do usuario ezequielsp

ezequielsp

Ver Respostas

Bom dia!
"Unknown SSL protocol error in connection to api-pix-h.gerencianet.com.br:443 "

Alguma previsão?