У меня есть удаленный сервер Windows 7, доступный только через HTTPS на порту 768. Сервер использует подписанный сертификат из ЦС, указанного на локальном сервере CentOS.
Всякий раз, когда я пытаюсь получить доступ к удаленному серверу через cURL, используя следующую команду, он выдает следующие ошибки:
[[email protected] certs]# curl -3 -v https://1.1.1.1:768/user/login
* About to connect() to 1.1.1.1 port 768 (#0)
* Trying 1.1.1.1... connected
* Connected to 1.1.1.1 (1.1.1.1) port 768 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -5961
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error
(Обратите внимание, что IP-адрес был скрыт по соображениям безопасности).
Я запускаю следующую версию cURL:
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Стоит отметить, что это работает на двух других удаленных серверах, которые работают под управлением Windows XP, а не Windows 7.
Я попытался заставить cURL использовать SSLv3 (используя флаг -3 и флаг -SSLv3) без успеха.
Я только что проверил ту же команду CURL на Raspberry Pi, которая работает с Raspbian, и успешно смогла подключиться. Поэтому я считаю, что это может быть проблема с версией cURL, используемой на сервере CentOS. Малина pi запускает следующую версию:
curl 7.26.0 (arm-unknown-linux-gnueabihf) libcurl/7.26.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.25 libssh2/1.4.2 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: Debug GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP