Windows용 Apache에 SSL 설정하기
o 패키지 다운로드
-
http://www.apache.org 또는
-
http://mirror.apache-kr.org 에 접속하여 SSL을 지원하는 바이너리 파일 선택
※ 현재 최신 안정버전(2.0대)은 apache_2.0.61-win32-x86-openssl-0.9.7m.msi 임(x86용)
o 패키지 설치
- 설치과정 생략(일반 패키지 설치와 비슷)
기본설정
※ 설치디렉토리는 기본적으로 "C:\Program Files\Apache Group\Apache2"이다.
o bin 디렉토리로 이동("C:\Program Files\Apache Group\Apache2\bin")하여
설치디렉토리 밑의 bin 디렉토리에 있는 ssleay32.dll, libeay32.dll 파일을 시스템디렉토리,
(Windows 2000의 경우 C:\WINNT, Windows XP, 2003등은 C:\Windows)아래 system32
디렉토리로 복사한다.
PROMPT> copy ssleay32.dll C\WINDOWS\system32\
PROMPT> copy libeay32.dll C\WINDOWS\system32\
o openssl.conf 파일 편집
- 인증서를 위한 csr 파일을 만들때 입력하는 부분을 지정
- _default로 된 값을 설정하면 추가 입력이 필요없다.
- openssl.conf 파일은 conf 디렉토리 밑에 있다.(위치는 지정하면 되므로 상관없다)
openssl.conf 파일 편집
o CSR 생성(이과정을 마치면 privkey.pem, ww.my-server.csr 파일이 생성됨)
PROMPT> openssl req -config openssl.cnf -new -out
www.my-server.csr※ "Common Name" 부분에 웹서버의 정확한 이름(FQDN)을 입력하지 않으면 접속시
인증서의 이름과 다르다는 내용이 나온다.
o privkey.pem 파일에서 passphrase를 제거
- 이과정은 private key에서 passphrase를 제거하는 과정이다.
- key값은 아파치 서버와 관리자만 읽을 수 있어야 한다.
PROMPT> openssl rsa -in privkey.pem -out
www.my-server.key
- .rnd 파일이 생성되는데 이 파일에는 키생성을 위한 entropy정보를 담고 있고
private key에 대한 암호학적 공격에 사용될 수 있기 때문에 .rnd 파일을 삭제한다.
o Self Sign
- 이 과정은 CA로부터 실제 인증서를 받기 전까지 사용할 수 있는 self-signed 인증서를
생성하는 과정이다. 이 인증서는 1년 후에 expire된다. -days 옵션을 통해 날짜를 증가시킬
수 있다.
PROMPT> openssl x509 -in
www.my-server.csr -out
www.my-server.cert -req -signkey
www.my-server.csr.key -days 365
o 아파치 설치 디렉토리의 conf 디렉토리 아래에 ssl 디렉토리를 만든다.
PROMPT> cd "C:\Program Files\Apache Group\Apache2\conf"
PROMPT> mkdir ssl
o 인증서 파일(
www.my-server.cert)과 키(
www.my-server.key) 파일을 지정한 디렉토리로 옮긴다.