프로그래밍/리눅스 프로그래밍

[libcurl] 사용법 및 connection 유의 사항

jinkwon.kim 2018. 3. 24. 16:19
728x90
반응형

1. libcurl의 openssl 버전 확인 방법 및 업그레이드 방법

    [localhost]$ curl --version

curl 7.49.1 (x86_64-pc-linux-gnu) libcurl/7.49.1 OpenSSL/1.0.1e zlib/1.2.8

Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 


2. libcurl compile옵션 설정

  (1)./Configure

     ex) ./configure --disable-shared --disable-ldap --without-zlib  --with-ssl="openssl 설치 경로" --prefix=/usr/local/curl

  (2)옵션 참조 싸이트

https://curl.haxx.se/docs/install.html


3. 설치 

   make && make install


4. libcurl 사용시 유의 사항.

  (1) libcurl의 SSL version 설정 및 사용법 

https://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html

Ex)

CURL *curl = curl_easy_init();

if(curl) {

curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

 

/* ask libcurl to use TLS version 1.0 or later */

curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);

 

/* Perform the request */

curl_easy_perform(curl);

}

  (2). connection 옵션 설정시 유의 사항. 

   - 일반적으로 다양한 서버와 통신을 하기위해서 SSL의 버전으로 맞춰야 한다. 

     이때 curl 에서 SSL버전을 추측하기 위해서 사용하는 것인 CURL_SSLVERSION_DEFAULT 옵션이다. 

이 옵션은 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version)을 통해서

세팅이 가능하다. 

!!!단. 7.39.0 버전 부터는 SSL3를 기본으로 지원하지 않기에 SSL3 사용하는 Server에서는 사용 할 수 없다. 


참고 :

- https://ec.haxx.se/ (CURL 모든 것에 대한 메뉴얼)

- https://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html (SSL 연결 버전 사용법 )

- https://curl.haxx.se/docs/install.html (curl 설치 가이드)

728x90
반응형