IT/개발

OpenSSL 윈도우에서 설치하는 방법

ITeaStory 2020. 11. 2. 22:32

1. OpenSSL이란?

OpenSSL은 SSL과 같은 네트워크 프로토콜을 오픈소스로 구현해놓은 보안 라이브러리입니다.
HTTPS가 SSL/TLS을 사용하는 대표적인 사례입니다.
HTTPS는 SSL/TLS인증서를 이용해서 데이터를 암호화하여 인터넷 접속 중 개인정보나 금융정보 같은 중요한 정보들이 탈취당하지 않도록 기존의 HTTP 프로토콜의 보안성을 강화 것입니다.
요즘 HTTPS 사용하지 않는 웹사이트가 없죠? 보안 때문입니다.

보안 연결(HTTPS)를 사용하고 있는 네이버

그런데 이번에 PC를 초기화하고 다시 개발환경을 세팅하려고 아나콘다(Anaconda)와 파이참(PyCharm)을 설치하고 패키지 인스톨을 하려니까 처음 보는 에러가 뜨더군요.
해결하는 방법 중 하나로 OpenSSL을 설치하라는게 있길래 설치하면서 정리해봅니다.

2. OpenSSL 설치 방법

Perl과 nmake를 사용해야 합니다.
단순 install이나 바이너리 파일을 가져와서 Path 설정만 하는 것 보다는 귀찮지만 어렵지는 않습니다.
차근차근해봅시다.

설치 목록은 아래와 같습니다.

- Visual Studio용 빌드 도구(Visual Studio 2019 등)
- Perl(www.perl.org)
- NASM(www.nasm.us)

1) Visual Studio 설치

nmake 때문에 C++ 빌드 도구들이 있으면 됩니다.
기존에 설치되어 있으시면 그걸 쓰셔도 됩니다. 전 2019 버전을 설치했습니다.
Visual Studio 다운로드 : visualstudio.microsoft.com/ko/downloads/

 

2) Perl 설치

Perl을 설치하러 공식 홈페이지(www.perl.org)에 가봅시다.

여기서 다운로드를 하려고 보면 Windows용은 Strawberry Perl과 ActiveState Perl의 두 종류가 있습니다.
ActiveState Perl은 64bit 버전을 설치해서 Configure 작업을 하면 에러가 났습니다.
공식 홈페이지(strawberryperl.com)에서 Strawberry Perl을 설치해 줍니다.

 

추천 버전이 설치 파일로 제공되고 있어서 다운로드하여 설치만 하시면 됩니다.
strawberry-perl-5.32.0.1-64bit.msi를 다운로드하였습니다.

 

3) NASM 설치

NASM도 공식 홈페이지(www.nasm.us)에서 받으시면 되고 설치 파일을 제공하고 있으니 안정화 버전으로 다운로드하여 설치해 주시면 됩니다. 
2020.11.02 현재 최신 안정화 버전은 2.15.05군요.

 

4) OpenSSL 소스 다운

OpenSSL이 바이너리를 배포하지 않아서 직접 빌드해주셔야 합니다.
공식 사이트(www.openssl.org)에서 정보들을 얻으실 수 있습니다.
저는 git(github.com/openssl/openssl)에서 최신 안정화 버전을 다운로드하도록 하겠습니다.

3.0 Alpha까지 나와 있는데 Stable은 1.1.1이 마지막이네요.

이제 아까 설치했던 Visual Studio 2019를 활용해보겠습니다.
시작 메뉴에서 Visual Studio 2019 폴더를 찾아서 들어가 보시면 다양한 이름의 Command Prompt가 보이실 거예요.
x86_x64 Cross Tool Command Prompt for VS 2019로 Command Prompt를 관리자 권한으로 열었습니다. 공식 문서에서 관리자 권한으로 Command Prompt를 열라고 하니 관리자 권한으로 열어줘야 되겠죠?
여기 있는 Command Prompt로 열어야 빌드 도구들의 Path문제로 명령어를 찾을 수 없다는 말이 안 뜹니다.
이 Command Prompt들에 대한 상세한 내용은 마이크로소프트의 문서를 확인해주세요
(https://docs.microsoft.com/cpp/build/building-on-the-command-line)

적당한 위치에서 git clone을 이용해서 코드를 받아와 1.1.1 버전으로 브랜치를 변경해줍니다.

# git에서 코드 받아오기
git clone https://github.com/openssl/openssl.git

# openssl 폴더로 이동
cd openssl

# OpenSSL_1_1_1-stable로 브랜치 변경
git checkout OpenSSL_1_1_1-stable

 

5) Perl을 이용한 Configure 생성

그리고 Perl을 이용해 Configure 작업을 진행합니다.
만약 32-bit 버전을 원하시면 VC-WIN64A 대신 VC-WIN32를 입력하시면 됩니다.

# 64-bit OpenSSL
perl Configure VC-WIN64A

Configure가 끝나면 아래와 같은 메시지가 뜹니다.

Configure 작업이 완료된 모습

6) Build 및 Install

그럼 이제 nmake로 빌드를 해 줍시다.
(nmake할 때 아까 Visual Studio의 Command Prompt로 안 띄우면 명령을 찾을 수 없다고 합니다.)
nmake test를 했을 때 별다른 에러가 안 뜨면 install로 설치해주시면 됩니다.

nmake
nmake test
nmake install

 

설치가 완료되면 별도의 PATH 설정 없이 알아서 다 설치가 됩니다.
완료 후 openssl을 쳐보시면 프롬프트가 openssl>로 변하는 것을 보실 수 있을 것입니다.