1. Source Download
물론 먼저 해야할 일은 소스를 다운로드하는 것이다. 아래 OpenSSL 사이트에 접속해서 최신 소스를 다운로드하도록 하자.URL: https://www.openssl.org/
현재 최신 버전은 openssl-1.1.0e.tar.gz 이다. 어차피 설치되고 나면 지워도 되는 파일이므로 원하는 폴더에 압축을 풀도록 한다.
2. Prerequisite
Windows에서 OpenSSL을 빌드하고 설치하기 위해서는 아래 프로그램들이 필요하다.- Perl OpenSSL의 빌드 환경을 Configure하기 위해서 Perl 스크립트 실행 환경이 필요하다. OpenSSL에서 추천하는 윈도우용 Perl은 ActiveState가 배포하는 ActivePerl이다. https://www.activestate.com/ActivePerl 사이트에서 다운로드할 수 있으므로 다운로드하여 설치하도록 하자. 설치 중 PATH에 perl의 경로를 등록하는 옵션이 있다. 반드시 선택해주도록 하자.
- Visual C++ 당연히 C컴파일러가 있어야 한다. Windows에서는 가장 많이 사용할 것으로 생각되는 Visual C++컴파일러를 사용해서 빌드해 보도록 하겠다. Visual Studio 2015 무료 버전을 받아서 설치하도록 하자. 당연히 그 상위 버전이 있다면 그걸 사용하면 된다.
- Netwide Assembler (NASM) OpenSSL 소스에는 Assembly 코드가 포함되어있다. Windows 환경에서는 NASM을 사용해서 빌드하므로 NASM도 설치하도록 하자. http://www.nasm.us/에 접속하여 Windows용 설치파일을 받아서 설치하도록 하자. 설치 후에 NASM이 설치된 경로를 PATH에 등록해 주어야 한다.
3. Build & Install
먼저 Visual Studio 2015를 설치했다면 시작메뉴에 'VS2015 x64 네이티브 도구 명령 프롬프트' 항목이 생성되어 있다. 이 메뉴를 관리자 권한으로 실행하도록 한다. 프롬프트가 뜨면 1번에서 압축을 푼 폴더의 루트로 이동하자. 다음은 아래 명령을 순서대로 수행하면 된다.
> perl Configure VC-WIN64A > nmake > nmake test > nmake install위 명령 중 'make test'는 생략해도 되지만 혹시나 하는 마음이 있다면 수행해서 제대로 빌드가 되었는 지 확인해 보는 것이 좋을 것이다. 그리고 마지막 install 명령은 관리자 권한이 필요하기 때문에 처음에 명령 프롬프트를 관리자 권한으로 실행한 것이다.
설치 경로를 특별히 지정하지 않으면 기본 경로는 C:\Program Files\OpenSSL이다. C:\Program Files\OpenSSL에 가서 확인해보면 아래와 같이 적절히 설치되어 있는 걸 확인할 수 있다.
- C:\Program Files\OpenSSL\bin - openssl 실행 파일
- C:\Program Files\OpenSSL\lib - openssl 라이브러리 파일
- C:\Program Files\OpenSSL\include - openssl 헤더 파일
- C:\Program Files\OpenSSL\html - openssl 메뉴얼
4. Etc...
위 과정으로 설치는 끝이다. 간단히 참고할 만한 사항을 정리하자면..- 헤더 파일은 C:\Program Files\OpenSSL\include 폴더에 있으므로 프로젝트의 헤더 파일 경로에 추가해주어야 한다. 그 안에 openssl 폴더가 있지만 C:\Program Files\OpenSSL\include까지만 지정해주어야 한다. 헤더 파일을 include할 때 #include <openssl/ssl.h>와 같이 지정하기 때문이다.
- openssl 라이브러리를 사용할 때 .lib 파일은 C:\Program Files\OpenSSL\lib 폴더에 있지만 .dll과 .pdb 파일은 C:\Program Files\OpenSSL\bin 밑에 있으므로 참고.
- 설치 과정 완료 후에 라이브러리 뿐 아니라 openssl.exe를 사용하려고 한다면 C:\Program Files\OpenSSL\bin 폴더의 경로를 PATH에 지정해 주는 게 좋겠다. 자동으로 등록해주진 않는다.
0 개의 댓글:
댓글 쓰기