OpenSSL은 SSL과 TLS 프로토콜을 구현해 놓은 오픈 소스를 뜻한다. SSL이란 Secure Socket Layer의 약자로 브라우저와 웹 서버 사이의 보안을 위해 만들어 졌다.
소스는 여기에서 다운로드 받을 수 있으며 바이너리 형태로 제공 하지 않고 소스를 제공 한다.
( Download! )
그렇기 때문에 소스를 컴파일도 하고 링크도 걸어야 사용이 가능 하다. 압축을 풀면 INSTALL이란 이름으로 되어 있는 문서파일이 하나 있다. OpenSSL을 설치 하는 방법을 기술 해 놓았다.
이 내용은 openssl-0.9.8k 버전을 기준으로 작성 되었음을 알린다.
기본적으로 유닉스 플랫폼에 설치 하는 것을 기술 하였다.
DOS나 Windows, Mac OS X 이전 버전은 각각 따로 기술된 문서를 참조 해야 한다.
설치를 위해서는 다음의 것들이 필요 하다.
* make
* Perl 5
* an ANSI C compiler
* a development environment in form of development libraries and C header files
* a supported Unix operating system
만약 위와 같이 했을 때 실패 메세지가 나온다면, 다음에 나오는 상세 설치 섹션을 참고 하자.
OpenSSL을 설치 하면 관행 적으로 /usr/local/ssl 위치에 설치가 된다. 만약 임의의 위치에 설치 하고 싶다면 config 옵션을 다음과 같이 주자. $ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
다음은 build config 옵션에 대한 설명 이다.
--prefix=DIR : DIR/bin, DIR/lib, DIR/include/openssl 위치에 설치 한다. OpenSSL에서 사용하는 Configuration 파일은 DIR/ssl에 위치 하거나 --openssldir에 명세 해놓은 디렉토리에 존재 하게 된다.
--openssldir=DIR: OpenSSL 파일을 위한 디렉토리 이다. 만약 미리 명세 하지 않으면 라이브러리 파일과 바이너리 파일도 역시 그곳에 설치 된다.
no-threads : 다중 스레드 (Multi-Thread)를 지원하는 어플리케이션에 사용 한다면 적용 하면 안된다.
threads : 다중 스레드 (Multi-Thread)를 사용하는 어플리케이션이면 적용 해야 한다. 이 옵션은 일반적으로 시스템에 의존적인 옵션의 증가를 요구 할 것이다. 다음의 " 멀티 스레딩에 대한 기록 " 섹션을 참고 하라.
no-zlib : zlib의 압축과 해제를 사용 한다면 적용 하면 안된다.
zlib : zlib의 압축과 해제를 사용 한다면 적용 한다.
zlib-dynamic : zlib 옵션과 비슷 하다. 하지만 zlib가 필요할 때 OpenSSL이 동적으로 zlib 라이브러리를 로드 한다. 이것은 공유 라이브러리 로딩을 지원 하는 시스템에서만 지원 된다. 이 옵션은 기본 선택 이다.
no-shared : 공유 라이브러리를 생성 할때 적용 하면 안된다.
shared : 보통의 정적 라이브러리에 더하여, 플랫폼에 공유 라이브러리를 생성 한다. 다음의 " 공유 라이브러리에 대한 기록 " 참조 하라.
no-asm : 어셈블리 코드를 지원 하지 않는 옵션 이다.
386 : 80386 명령어 셋만 사용 하는 옵션 이다. ( 기본적으로 x86코드는 더 많은 효과가 있지만 최소한 486은 필요로 한다.)
Note : 다른 특수한 Configuration CPU에는 컴파일러 플래그들을 사용 하라.
e.g : " -m32 "는 x86 코드를 x64시스템에 빌드 시킨다.