web-dev-qa-db-ja.com

cURLはwgetがHTTPSに接続していません(NSSエラー-12286)

エラーが発生しますNSS error -12286curlを使用してHTTPSからファイルをダウンロードしているとき。

wgetを使用して問題なく同じファイルをダウンロードできるため、ファイアウォールやブラックリストの問題を除外できます。

すでに試したが、運が悪かった。オプション-kおよび--cipher ecdhe_ecdsa_aes_128_gcm_sha_256、これはQualys SSL Labs Test Serverツールによるサーバー優先暗号です。ここでは https://www.ssllabs.com/ssltest/analyze.html?d=intribunale.net&latest

cURLログは次のとおりです。

# 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

私のlibバージョンは次のとおりです。

# 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
8
Marco Marsala

解決策は、CentOS 6のサードパーティリポジトリを使用してcURL 7.42にアップグレードするか、ソースからビルドすることでした。

8
Marco Marsala

Curl 7.19.7でも同じ問題がありました。 NSSをアップグレードして問題を修正しました!

4
Jacob Klein

最新のopensslパッケージ(1.0.1e)がインストールされたCentOS 6では、DiegoGが上記のようにnssを更新する必要があります(yum update nss)。コマンドupdate-ca-trustも役立ちます。 PHP経由でcurlを使用している場合-Webサーバープロセス/サービスを再起動します(サービスhttpd再起動など)。

0
userK