2015-01-30 6 views
0

curl_easy_setopt 함수로 SSL을 사용할 수없는 경우 cURL 7.19가 핸드 셰이크 중에 SSLv3을 표시하는 이유는 무엇입니까?cURL이 TLSv1 대신 SSLv3을 표시합니다.

curl_easy_setopt(m_curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1); 

컬 출력 :

CURL Info: SSLv3, TLS handshake, Client hello (1): 
CURL Info: SSLv3, TLS handshake, Server hello (2): 
CURL Info: SSLv3, TLS handshake, CERT (11): 
CURL Info: SSLv3, TLS handshake, Server finished (14): 
CURL Info: SSLv3, TLS handshake, Client key exchange (16): 
CURL Info: SSLv3, TLS change cipher, Client hello (1): 
CURL Info: SSLv3, TLS handshake, Finished (20): 
CURL Info: SSLv3, TLS handshake, Unknown (4): 
CURL Info: SSLv3, TLS change cipher, Client hello (1): 
CURL Info: SSLv3, TLS handshake, Finished (20): 
CURL Info: SSL connection using DES-CBC3-SHA 

그것은 컬은 "SSLv3에"를 표시하는지 확인인가?

답변

2

나는 (다른 질문에) my own answer을 인용합니다 :

컬의 코드를 디버깅 (-v가)에만 는 (주로 SSLv2의 및 SSLv3에 메시지의 + 종류를 구별 할 수있는 주 버전 번호, ssl_tls_trace 참조 표시), TLS 1.0 이상을 사용하는 경우 을 사용할 때 여전히 "SSLv3"을 표시합니다 (실제로 SSL v3.1 이상이기 때문에 3은 동일한 버전 번호입니다).

올바른 버전을 사용하고 있는지 확인하려면 return value from setopt을 확인해야합니다.

또한, 당신이 세부 사항에 악수를보고 추적 옵션을 사용할 수 있습니다

== Info: SSLv3, TLS handshake, Client hello (1): 
=> Send SSL data, 512 bytes (0x200) 
0000: 01 00 01 fc 03 03 

는 제 5 바이트의 주요 개정 번호를 (03 여기)입니다, 6이 될 것입니다 부 수정 번호.

  • (03, 00)
  • (03, 01)은 SSLv3
  • 이다 TLSv1.0이다 (03, 02)가
  • TLSv1.1
  • 이다 (03, 03)이다 TLSv1.2
+0

브루노, 답변 해 주셔서 감사합니다. TLS를 사용하는 컬 표시 SSLv3보다 공식적인 메모가 있습니까? – Alex

+0

나는이 소스 코드 외에 어떤 문서도 모른다. 이것이 정말로 문제라면, 전체 버전 (부 번호 포함)을 나타내는 패치를 제공하는 것이 너무 어렵지 않아야합니다. – Bruno

관련 문제