네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈소스 이다.C 언어로 작성되어 있는 중심 라이브러리 안에는, 기본적인 암호화 기능이 들어있다. 그래서 암호화가 필요한 경우 OpenSSL 을 이용하는 경우가 많다.
거의 모든 Platform에서 OpenSSL을 이용할 수 있다.
그중 Visual Studio 2010에서 빌드하는 과정을 설명하겠다.
참고로 Windows 8.1 x64 에 VS2010, VS2012, VS2013(이건 설치했다가 삭제함), VS2015 Preview가 설치되었던 PC에서는 계속 빌드가 실패하였다. 빌드 도중에 오류 창이 뜨면서 디버그 / 취소를 묻는... ㅠㅠ
그래새 Windows 7 x64에 VS2010만 설치된 PC에서 빌드를 하여 성공하였다.
1. 필요한 파일 다운로드
- OpenSSL 다운로드
https://www.openssl.org/source/
위 사이트에서 다운로드가 가능하다. 필자의 경우는 2015년 1월 15일에 올라온 1.0.1l 버전을 이용하였다.
- ActivePerl 다운로드
http://www.activestate.com/activeperl/downloads
빌드하는데 필요한 기능인 Perl을 다운받아서 설치한다. PATH에 해당 경로를 추가하는 옵션은 반드시 체크해야한다. (자동으로 체크되어 있다.)
- NASM 다운로드
http://www.nasm.us
nasm 역시 빌드하는데 사용된다. zip파일로 받아서 압축을 풀어도 되고, install용 exe파일을 받아도 된다. 설치된 폴더로 가서 nasm.exe 파일을 Visual Studio 안에 VC의 bin 폴더에 복사를 해 놓으면 편하다. 필자의 경우는 경로가 다음과 같았다.
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
2. 빌드
- Visual Studio 2010 Command Prompt를 실행한다.
실행된 상태에서 perl 및 nasm의 실행을 확인해 봐야 한다. perl aaa.pl 이라고 쳤을 때 오류 메세지가 나고 nasm 이라고 쳤을 때 오류메세지가 나면 정상이다. 파일이 없다고 나오면 제대로 설정이 안된 것이다.
(필자의 경우 Windows 8.1에서는 여기서 perl을 못찾았다. 그래서 그냥 cmd 로 들어가니 perl 은 찾아서 정상적으로 실행되는데 VC/bin 폴더를 PATH에 추가하였는데도 빌드 중 계속 오류가 발생하였다.)
- 다운받은 OpenSSL을 편한 위치에 압축을 푼다.
- 해당 폴더로 가서 아래와 같이 설정한다.
perl Configure VC-WIN32 --perfix==[바이너리 설치경로] |
필자의 경우는 바이너리 설치경로를 D:\Build-OpenSSL로 했으며, 특허 문제를 피하기 위해서 idea, mdc2, rc5를 설치하지 않도록 설정했다. 그래서 아래와 같이 설정하였다.
perl Configure VC-WIN32 no-idea no-mdc2 no-rc5 --perfix==D:\Build-OpenSSL
- NASM을 사용하도록 설정한다.
ms\do_nasm |
- 컴파일을 시작한다. 꽤나 오래 걸리니깐 기다려야 한다.
nmake -f ms\ntdll.mak |
- 컴파일이 정상적으로 끝났으면 테스트를 해 볼수 있다. (안해도 된다.)
nmake -f ms\ntdll.mak test |
필자의 경우는 idea를 뺐기 때문인지 ideatest에서 오류가 발생했다.
- 이제 바이너리 및 헤더파일, Lib 등을 만들어주면 된다.
nmake -f ms\ntdll.mak install |
3. 완성
처음 설정한 폴더로 가면 바이너리 파일들이 생성되어 있다.
혹시나 필요한 사람이 있을지 모르니 필자가 생성한 바이너리를 다운받을려면 아래 Link를 누르면 된다.
Build-OpenSSL.zip
해당 바이너리를 사용하는 방법은 아래 Link를 참조하면 된다.
댓글 없음:
댓글 쓰기