cURL/wget - SSLv3, TLS 핸드셰이크, CERT 중단

cURL/wget - SSLv3, TLS 핸드셰이크, CERT 중단

cURL 또는 wget을 사용하여 https 사이트에 연결하는 데 문제가 있습니다. https에서 다운로드할 때 TLS 핸드셰이크, CERT를 수행하는 동안 컬이 멈춘 것 같습니다. 문제는 사이트와 관련이 없으며(github을 사용하는 것으로 나타났습니다) wget도 중단됩니다(비록 거기에서 자세한 출력을 보지는 않았지만).

$ curl -v --trace-time https://www.google.de
10:35:21.532822 * About to connect() to www.google.de port 443 (#0)
10:35:21.533091 *   Trying 209.85.148.147... connected
10:35:21.538666 * Connected to www.google.de (209.85.148.147) port 443 (#0)
10:35:21.539119 * SSLv3, TLS handshake, Client hello (1):
10:35:21.544129 * SSLv3, TLS handshake, Server hello (2):
10:35:21.544182 * SSLv3, TLS handshake, CERT (11):

10분 넘게 기다려봤는데 아무 일도 일어나지 않네요. 저는 OSX Lion을 사용하고 있습니다.

$curl --version
curl 7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM SSL libz

어디서 도움을 받아야 할지 모르겠으니 조언을 좀 주시면 감사하겠습니다.

감사해요

답변1

컬 -v --시간 추적https://www.google.de

21:50:34.054955 * About to connect() to www.google.de port 443
21:50:34.056574 *   Trying 74.125.39.104... connected
21:50:34.104587 * Connected to www.google.de (74.125.39.104) port 443
21:50:34.313259 * successfully set certificate verify locations:
21:50:34.313349 *   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
21:50:34.313758 * SSLv2, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Server finished (14):
SSLv3, TLS handshake, Client key exchange (16):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSL connection using RC4-SHA
21:50:34.418541 * Server certificate:
21:50:34.418631 *        subject: /C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com
21:50:34.418726 *        start date: 2011-10-26 00:00:00 GMT
21:50:34.418799 *        expire date: 2013-09-30 23:59:59 GMT
21:50:34.418902 * SSL: certificate subject name 'www.google.com' does not match target host name 'www.google.de'
21:50:34.419000 * Closing connection #0
21:50:34.419124 * SSLv3, TLS alert, Client hello (1):
curl: (51) SSL: certificate subject name 'www.google.com' does not match target host name 'www.google.de'

ca-bundle.crt가 누락되어 인증서를 확인할 수 없는 것 같습니다. 이것은 (CentOS 5에서) openssl-rpm에 속합니다.

답변2

Mac OS X/Darwin에서 이 항목을 관리하는 좋은 방법은 Homebrew(http://brew.sh/)

이렇게 하면 cURL과 같은 것을 설치할 때 전체 종속성 목록을 얻거나 brew install openssl문제를 해결할 수 있습니다.)

관련 정보