2017년 4월 9일 일요일

Windows에 OpenSSL 설치하기

 지난 번에 macOS에 OpenSSL을 설치해 보았으니 이번에는 Windows에 설치를 해 보려고 한다. macOS는 unix계열 운영체제이기 때문에 사실 별로 어려움 없이 설치가 되었다. 하지만 윈도우는 좀 더 복잡하고 설치에 필요한 프로그램이 몇 가지 더 있다. 그래서 macOS보다 Windows가 더 정리를 해놓는 의미가 있을 것 같아서 여기서 정리를 해 놓으려고 한다. 설치 버전은 64비트 버전으로 설치할 예정이다.

1. Source Download

 물론 먼저 해야할 일은 소스를 다운로드하는 것이다. 아래 OpenSSL 사이트에 접속해서 최신 소스를 다운로드하도록 하자.
    URL: https://www.openssl.org/
현재 최신 버전은 openssl-1.1.0e.tar.gz 이다. 어차피 설치되고 나면 지워도 되는 파일이므로 원하는 폴더에 압축을 풀도록 한다.

2. Prerequisite

 Windows에서 OpenSSL을 빌드하고 설치하기 위해서는 아래 프로그램들이 필요하다.

  1. Perl
  2. OpenSSL의 빌드 환경을 Configure하기 위해서 Perl 스크립트 실행 환경이 필요하다. OpenSSL에서 추천하는 윈도우용 Perl은 ActiveState가 배포하는 ActivePerl이다. https://www.activestate.com/ActivePerl 사이트에서 다운로드할 수 있으므로 다운로드하여 설치하도록 하자. 설치 중 PATH에 perl의 경로를 등록하는 옵션이 있다. 반드시 선택해주도록 하자.
  3. Visual C++
  4. 당연히 C컴파일러가 있어야 한다. Windows에서는 가장 많이 사용할 것으로 생각되는 Visual C++컴파일러를 사용해서 빌드해 보도록 하겠다. Visual Studio 2015 무료 버전을 받아서 설치하도록 하자. 당연히 그 상위 버전이 있다면 그걸 사용하면 된다.
  5. Netwide Assembler (NASM)
  6. 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...

 위 과정으로 설치는 끝이다. 간단히 참고할 만한 사항을 정리하자면..
  1. 헤더 파일은 C:\Program Files\OpenSSL\include 폴더에 있으므로 프로젝트의 헤더 파일 경로에 추가해주어야 한다. 그 안에 openssl 폴더가 있지만 C:\Program Files\OpenSSL\include까지만 지정해주어야 한다. 헤더 파일을 include할 때 #include <openssl/ssl.h>와 같이 지정하기 때문이다.
  2. openssl 라이브러리를 사용할 때 .lib 파일은 C:\Program Files\OpenSSL\lib 폴더에 있지만 .dll과 .pdb 파일은 C:\Program Files\OpenSSL\bin 밑에 있으므로 참고.
  3. 설치 과정 완료 후에 라이브러리 뿐 아니라 openssl.exe를 사용하려고 한다면 C:\Program Files\OpenSSL\bin 폴더의 경로를 PATH에 지정해 주는 게 좋겠다. 자동으로 등록해주진 않는다.

0 개의 댓글:

댓글 쓰기