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 설치 가이드)
'프로그래밍 > 리눅스 프로그래밍' 카테고리의 다른 글
[libcurl] libcurl + openssl + multi thread 처리에 대한 고민 (2) | 2018.04.30 |
---|---|
[메모리] share memory 사용법 (0) | 2018.04.17 |
한글 encoding 차이로 인한 memcmp 및 strncmp 동자 오류 (0) | 2018.03.21 |
[libcurl] post data 전송 (0) | 2018.03.21 |
[bash] 가장 혼란 스러운 문법정리 (0) | 2018.03.08 |