Saya mendapatkan kesalahan NSS error -12286
saat mengunduh file dari HTTPS menggunakan curl
.
Saya dapat mengunduh file yang sama tanpa masalah menggunakan wget
sehingga saya dapat mengecualikan masalah firewall atau daftar hitam.
Sudah mencoba, tanpa keberuntungan, opsi -k
dan --cipher ecdhe_ecdsa_aes_128_gcm_sha_256
, itulah cipher yang disukai server menurut alat Qualys SSL Labs Test Server di sini: https://www.ssllabs.com/ssltest/analyze.html?d=intribunale.net&latest
Ini cURL
lognya:
# curl -v https://www.intribunale.net/immobili
* About to connect() to www.intribunale.net port 443 (#0)
* Trying 104.27.150.214... connected
* Connected to www.intribunale.net (104.27.150.214) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -12286
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error
Versi lib saya adalah:
# curl -V
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
SSL_ERROR_NO_CYPHER_OVERLAP
"Tidak dapat berkomunikasi dengan aman dengan rekan: tidak ada algoritma enkripsi umum." Sistem lokal dan jarak jauh tidak memiliki cipher suite yang sama. Ini bisa disebabkan oleh kesalahan konfigurasi di kedua ujungnya. Ini bisa disebabkan oleh server yang salah konfigurasi untuk menggunakan sertifikat non-RSA dengan algoritma pertukaran kunci RSA.--cipher[s]
menentukan suite ECDHE, itu bahkan tidak mengirim ClientHello, cukup tutup koneksi dan berikan kesalahan. Ini tampaknya menjadi sesuatu yang tidak sinkron secara internal, mungkin setelah penolakan panjang RedHat terhadap ECC. RedHat wget menggunakan OpenSSL, dan RedHat OpenSSL baru-baru ini mendukung ECC (hanya dengan P256 P384 P521 tapi itu sudah cukup di sini).stunnel
(yang menggunakan openssl) sebagai plain-to-SSL, beri tahu curlhttp(notS)://localhost[:port]/whatever
tetapi tambahkan-H "Host: realhost"
sehingga server target tidak dapat membedakannya. ...Jawaban:
Solusi ini ditingkatkan ke cURL 7.42 menggunakan repositori pihak ketiga untuk CentOS 6 atau membangun dari sumber
sumber
yum update nss
) atau menggunakancurl -1
mungkin juga menyelesaikan ini.Kami memiliki masalah yang sama dengan curl 7.19.7. Kami meningkatkan NSS dan memperbaiki masalahnya!
sumber
Pada CentOS 6 dengan paket openssl terbaru (1.0.1e) Anda harus memperbarui nss (yum update nss) seperti yang ditulis DiegoG di atas. Perintah pembaruan-ca-trust juga bisa membantu. Jika Anda menggunakan curl via php - restart proses / layanan server web Anda (mis. Layanan httpd restart).
sumber