무료로 제공되는 SSL 인증서인 StartSSL™ Free (Class 1) 인증서를 발급받는 방법을 간단히 적어본다.

Sign Up

  1. StartSSL™ Certificates; Public Key Infrastructure 사이트 가운데의 "Start Now for Free SSL Certificate" 버튼을 클릭해 나오는 화면에서 Sign-up 버튼을 클릭한 후 거주 국가를 선택하고 로그인에 사용할 이메일 주소를 입력한 뒤 Send Verification Code 버튼을 클릭한다.
  2. 브라우저를 닫지 말고 잠시 기다리면 입력한 메일 주소로 Authentication Code를 담은 메일이 발송되는데 이 코드를 입력하고 Sign Up 버튼을 클릭하면 인증이 완료되고 로그인에 필요한 인증서가 브라우저에 저장된다.
  3. Login Now 버튼을 눌러 방금전 발급된 로그인 인증서를 선택하여 로그인 한다.
  4. 나중에 다른 브라우저에서 로그인 하려면 FAQ를 참고하여 로그인 인증서를 백업해둔다.

Domain Validation

인증서 생성에 앞서 도메인의 소유자임을 인증해야 한다.

  1. 메뉴 중 Validations Wizard 탭을 선택하고 Domain Validation을 선택한 후 Continue 버튼을 누른 다음 도메인 이름을 입력해준다.
  2. 소유자 확인 메일을 수신할 메일 주소를 선택하고 Send Verification Code 버튼을 클릭해주면 확인 코드가 메일로 전송되고, 이걸 브라우저에서 입력해주면 도메인 인증이 완료된다.
  3. Validation 버튼을 클릭해 완료한다.

인증서 생성

  1. 관리화면 상단의 Certificates Wizard 탭을 선택하고 Web Server SSL/TLS Certificate를 선택한 후 Continue 버튼을 누른다.
  2. 인증서를 적용할 도메인을 입력하고 하단의 CSR 등록 부분에서는 Generated by PKI system 항목에 체크하여 자동 생성되도록 한 후 개인키에 사용할 비밀번호를 입력한 후 Submit 버튼을 누른다.
  3. 생성된 개인키의 내용이 보여지는데 Download Private Key 버튼을 눌러 ssl.key 파일을 다운로드 받은 후 Submit 버튼을 눌러 생성된 개인키를 등록한다.
  4. Certificate List 버튼을 눌러 생성된 인증서 목록 화면으로 이동하여 방금 생성된 Class 1 SSL 인증서를 확인한 후 Retrieve 버튼을 누르면 서버 인증서 파일이 다운로드 된다.

Configure

앞서 저장한 개인 키 파일(ssl.key)과 다운로드 받은 zip 파일에 웹서버별로 준비된 인증서 파일을 서버에 업로드 한 뒤 가이드를 참고해 설정한다. Apache의 경우 아래와 같은 식.

LoadModule ssl_module modules/mod_ssl.so

Listen 443

<VirtualHost _default_:443>
   DocumentRoot /home/httpd/private
   ErrorLog /usr/local/apache/logs/error_log
   TransferLog /usr/local/apache/logs/access_log

   SSLEngine on
   SSLProtocol all -SSLv2 -SSLv3
   SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL
   SSLCertificateFile /usr/local/apache/conf/2_mydomain.com.crt
   SSLCertificateKeyFile /usr/local/apache/conf/ssl.key
   SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
   CustomLog /usr/local/apache/logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

아파치가 실행될 때 마다 인증서의 비밀번호를 입력하는게 귀찮다면 아래와 같이 key 파일을 새로 기록해 개인 인증서의 비밀번호를 제거할 수 있다.

openssl rsa -in ssl.key -out ssl.key

Test

SSL Server Test 사이트에서 등록된 도메인을 입력해 설정이 올바른지 확인해본다.