본문 바로가기

Windows(IIS)

IIS에 OpenSSL 적용하기

아래의 내용은 http://www.dylanbeattie.net/docs/openssl_iis_ssl_howto.html 여기를 참고하여 정리한 내용입니다.

보다 정확하고 자세한 내용을 보시려면 위의 사이트를 방문하시기 바랍니다.

-----------------------------------------------------------------------------------------------------------------

1. http://www.shininglightpro.com/products/Win32OpenSSL.html 사이트에서 최근 OpenSSL toolkit를 다운로드 받는다.
   (저는 2010.07.29 현재 Win32 OpenSSL v1.0.0a 를 다운받았습니다.)

2. 다운받은 파일을 설치한다. (설치폴더만 C:\OpenSSL 로 수정하고 거의 모든것은 defalut로 하고 설치한다.)
   제일 마지막에 약간의 금액을 기부할것이냐고 물어보는것이 있는데 체크박스를 다 해제하면 된다.
   뭐 기부할 생각이 있으면 기부해도 된다. ^^

3. C:\OpenSSL\Bin 폴더를 system path에 추가해 준다.
   제어판 > 시스템 > 고급 > 환경변수 > 시스템변수에 Path 항목의 값에 ";C:\OpenSSL\Bin" 추가한다.
   앞에 세미콜론(;)은 path 값의 구분자가 세미콜론(;) 이기 때문에 붙여준 것이다.

4. 실제로 인증서파일을 작업할 c:\ssl 폴더를 생성한다.

5. http://www.dylanbeattie.net/docs/openssl.conf 에서 openssl.conf 파일을 c:\ssl 폴더에 다운로드 받는다.

6. c:\ssl 하위로 3개의 폴더를 생성한다.
   C:\ssl>md keys
   C:\ssl>md requests
   C:\ssl>md certs

7. 아무내용도 없는 database.txt 파일을 만든다.
   c:\ssl>copy con database.txt
   ^Z
   C:\ssl>

8. serial number 파일인 serial.txt 파일을 만든다.
   C:\ssl>copy con serial.txt
   01
   ^Z
   C:\ssl>

9. 1024bit key를 생성
   C:\ssl>openssl genrsa -des3 -out keys/ca.key 1024
   비밀번호를 입력하라고 하면 기억할 수 있는 아무것이나 입력한다.

10. 위에서 생성된 키를 기본으로 해서 master 인증서를 생성
   C:\ssl>openssl req -config openssl.conf -new -x509 -days 3650 -key keys/ca.key -out certs/ca.cer
   (-days 3650 옵션으로 10년짜리 인증서를 생성)
   여러가지를 물어오는데 적당히 입력하면 된다. 아래는 테스트하면서 입력했던 내용이다.
  
   Country Name (2 letter code) []:KR
   State or Province Name (full name) []:Seoul
   Locality Name (eg, city) []:
   Organization Name (eg, company) []:MyCompany
   Organizational Unit Name (eg, section) []:Dvt
   Common Name (eg, your websites domain name) []:
   Email Address []:truepia@korea.com

11. iis 실행 후 해당 사이트의 속성을 클릭 > 디렉터리 보안 > 서버인증서
   1) 새 인증서를 만듭니다.
   2) 요청을 지금 준비하지만 나중에 보냅니다.
   3) 이름을 입력하고 비트길이는 1024 그대로 둡니다.
   4) 조직과 조직구성단위에 해당내용 입력 (아무거나 입력해도 됨)
   5) 인증서를 사용할 도메인 이름을 입력 (아무거나 입력해도 됨)
   6) KR(대한민국) 선택, 시/도 입력, 구/군/시 입력 (아무거나 입력해도 됨)
   7) 파일을 적당한 위치(c:\ssl\requests)에 저장하고 완료

12. 사인요청
   C:\ssl>openssl ca -policy policy_anything -config openssl.conf -cert certs/ca.cer -in requests/certreq.txt -keyfile keys/ca.key -days 3650 -out certs/iis.cer

13. 다시 iis의 서버인증서 클릭
   1) 대기 중인 요청을 처리한 다음 인증서를 설치합니다.
   2) 12번에서 생성한 iis.cer 파일을 선택
   3) ssl에 사용할 port 번호를 입력 (443port로 여러개의 사이트를 운영하고 싶을 경우 여기를 참고하시기 바랍니다.)

* 참고 : 물리적인 한서버에 있는 여러개의 사이트에 OpenSSL을 적용할 경우 매번 cer을 생성할 필요없이
           "기존인증서를 할당합니다." 를 선택하여 12번에서 생성된 cer 파일을 재사용할 수도 있다.

크리에이티브 커먼즈 라이선스
Creative Commons License