2017년 6월 1일 목요일

OpenSSL 설치 파일 컴파일 방법

http:// 가 아닌
https:// 로 접속을 하기 위해서
SSL 인증서가 필요한데, 유료다.

보안을 위해서는 반드시 필요하다.
http:// 로 접속을 하고, 로그인을 한다면
3G LTE 5G 와이파이가 넘쳐나는 현시대에
무선 인터넷으로 넘나드는
아이디와 비번을 가로채이는건 쉬운일이다.

https:// 로 접속을 하고, 로그인을 하면
아이디와 비번 등 주고받는 데이터들을 암호화해서
전송하고 받는다.

쇼핑몰이나 개인정보를 받는 사이트에는 반드시 있어야 하며,
SSL 인증서가 없다면, 벌금이 1000만원인데
벌금보다 배상이 더 큰 위험이다.

Symantec 의 VeriSign 이 유명하긴 한데,
Comodo 가 점유율이 더 높다.
https://ssl.comodo.com/

한비로에서 파는 코모도는 비싸진 않은데
https://www.comodossl.co.kr/

싼것은 1년에 3만원인데, 배상금이 1만 달러(1000만원) 이고
비싼건 1년에 77만원인데, 배상금이 175만 달러(17억5천만원)이다.

왠만하면 유료 쓰면 좋은데
3만원도 아까운 경우가 있다.
어떤 경우냐 하면
내컴퓨터에 테스트를 위해 잠시 쓸건데,
3만원을 지불하는건 좀 거시기 하지않은가!

그 대안은 OpenSSL 이다.

OpenSSL 이란?
무료로 SSL 을 사용할 수 있는 거시다.
설치 방법과 그런게 좀 복잡한데, 계속해서 설명해 다루겠다.

그런데, 아무래도 OPEN ssl 이라 보안위험도 있고
2014년에 심각한 버그도 있었어서, OpenSSL 을 쓴다면
항상 IT 보안 뉴스에 관심을 기울이며 수시로 업데이트를 해줘야 하겠다.

문제는..
OpenSSL 설치부터 어렵다는 것이다. 
이래서 대부분의 사람들이 무료 리눅스를 안쓰고 유료 윈도우를 쓰는것이다.


1. OpenSSL 에 접속한다.
https://www.openssl.org/
DOWNLOAD 에서 tar.gz 압축 파일을 받아, 압축을 푼다.

2. 압축을 풀어보면 INSTALL.COM 파일이 있는데, 실행해 보면


음.. 이게 아니다. 설치파일은, 이게 아니었다. README 파일을 열어서 읽어본다.

 INSTALLATION
 ------------

 See the appropriate file:
        INSTALL           Linux, Unix, etc.
        INSTALL.DJGPP  DOS platform with DJGPP
        INSTALL.NW      Netware
        INSTALL.OS2     OS/2
        INSTALL.VMS     VMS
        INSTALL.W32     Windows (32bit)
        INSTALL.W64     Windows (64bit)
        INSTALL.WCE     Windows CE

윈도우 64bit 에서 설치를 하려면 INSTALL.W64 파일을 보란다.


3. 그런데 INSTALL.W64는 실행파일이 아니다. 메모장으로 열어보자.

 INSTALLATION ON THE WIN64 PLATFORM
 ----------------------------------
 어쩌고 저쩌고.. blah blah blah...

 Compiling procedure
 -------------------

 You will need Perl. You can run under Cygwin or you can download
 ActiveState Perl from http://www.activestate.com/ActivePerl.

 You will need Microsoft Platform SDK, available for download at
 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. As per
 April 2005 Platform SDK is equipped with Win64 compilers, as well
 as assemblers, but it might change in the future.

 To build for Win64/x64:

 > perl Configure VC-WIN64A
 > ms\do_win64a
 > nmake -f ms\ntdll.mak
 > cd out32dll
 > ..\ms\test

이렇게 적혀 있다.

OpenSSL 설치를 위해서는
Perl 이 반드시 필요하고, 또 MS 플랫폼 SDK 가 필요하다고 한다.

Microsoft Platform SDK 는 현재 저 주소로 들어가면 없다.
대신 Microsoft Visual Studio 를 설치하면 된다. (파일하나 설치하려고 VS 까지...;)

4. Perl 설치를 위해 activestate 사이트에 접속을 한다.


다운로드를 받은 후, ActivePerl 설치를 완료하고


콘솔창에서 아무리 perl 을 입력해도 아무런 변화가 없을것이다. Path 문제도 아니다.


Perl 을 실행하기 위해서는, VS 가 필요하며, 실행파일은 다른곳에 있다.

5. 프로그램 > Visual Studio > Visual Studio Tools > x64 Cross Tools Command Prompt


프로그램을 실행하면, 콘솔창이 열리는데,
perl 을 입력하고 엔터를 치면,
정상적으로 작동하는것을 확인할 수 있다.


그럼 다시 앞으로 돌아가
크로스 도구 명령 프롬프트 창에서
cd 명령어로 OpenSSL 에서 받은 압축파일을 푼 경로로 이동하고
Compiling procedure 에 나온대로 명령을 하나둘씩 입력한다.

6. 크로스 도구 명령 프롬프트 창에서 입력 순서

perl Configure VC-WIN64A
ms\do_win64a
nmake -f ms\ntdll.mak
cd out32dll
..\ms\test

각각의 명령어 마다 굉장히 많은 암호화 컴파일 작업을 하고,
1시간 이상 많은 시간이 걸리므로, 상당한 인내심을 요한다.
실행 파일 하나 만드는데, 이렇게 오래 걸릴줄이야...

컴파일이 완료되면,
passed all tests 라고 나온고 끝난다.
테스트까지 끝난것이다.

이제 openssl.exe 파일을 이용해서 인증서를 만들면 된다.
인증서를 만드는 방법은 Next Post 에서 다루기로 하겠다.

댓글 2개:

플러터 단축키

1. 위젯 감싸기/벗기기 비주얼 스튜디오 :   Cmd + . 안드로이드 스튜디오 : Alt + Enter 2. 코드 정렬 비주얼 스튜디오 : Ctrl + S 안드로이드 스튜디오 : Ctlr + Alt + L 3. StatelessWidget -...