Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: StartSSL 사이트 개편 내용 반영

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

Sign

...

Up

  1. StartSSL™ Certificates & ; Public Key Infrastructure 사이트 우측 상단의 로그인 아이콘을 가운데의 "Start Now for Free SSL Certificate" 버튼을 클릭해 나오는 화면에서 Sign-up 버튼을 클릭한 후 빈 칸을 빠짐 없이 채우고 Continue 버튼을 클릭한다. (대충 넣으면 아래 3번 단계에서 정보를 잘 적어서 다시 신청하라는 메일을 받게 된다.)거주 국가를 선택하고 로그인에 사용할 이메일 주소를 입력한 뒤 Send Verification Code 버튼을 클릭한다.
  2. 브라우저를 닫지 말고 잠시 기다리면 입력한 메일 주소로 Authentication Code를 담은 메일이 발송되는데 이 코드를 입력하고 Continue Sign Up 버튼을 클릭하면 인증이 완료되고 홈페이지로 이동된다.
  3. 최대 30분정도 기다리면 가입 절차를 계속할 수 있는 링크와 확인 코드를 담은 메일이 전송되는데 이 링크를 클릭한다. 메일에 적힌 확인 코드를 넣고 Continue 버튼을 클릭해 계속 진행한다.
  4. 개인키 생성 화면이 나오면 2048 (Medium Grade)를 선택 후 Continue 버튼을 누르고 디지털 인증 작업 경고창이 뜨면 '예'를 클릭해 허용해준다. 그 다음 Install 버튼을 누르면 발급된 인증서가 브라우저에 설치된다.
  5. 이제 가입은 완료되고 브라우저에 설치된 개인 키를 백업하라는 경고창이 뜨고 같은 내용의 안내 메일도 발송된다. 메일에 안내된 대로 How do I backup my client certificates? 페이지를 참고해 인증서 파일을 백업해야 나중에 다른 브라우저나 컴퓨터에서 사이트에 로그인을 할 수 있다.
    Internet Explorer의 경우 인터넷 옵션의 내용 탭에서 인증서 버튼을 누른 후 개인 탭을 누르면 설치된 인증서가 보이는데 클릭 후 내보내기 버튼을 클릭해 다음 → 예, 개인 키를 내보냅니다 → 다음 → 비밀번호 입력 → 다음 → 파일 위치를 지정 → 완료 과정을 거쳐 인증서를 파일로 백업할 수 있다로그인에 필요한 인증서가 브라우저에 저장된다.
  6. Login Now 버튼을 눌러 방금전 발급된 로그인 인증서를 선택하여 로그인 한다.
  7. 나중에 다른 브라우저에서 로그인 하려면 FAQ를 참고하여 로그인 인증서를 백업해둔다.

Domain Validation

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

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

인증서 생성

  1. 관리화면 상단의 Certificates Wizard 탭을 선택하고 Web Server SSL/TLS Certificate를 선택한 후 Continue 버튼을 누른 다음 인증서에 사용할 비밀번호를 입력하고 나머지 옵션은 그대로 둔 채 Continue 버튼을 클릭한다. (비밀번호는 10자 이상 32자 이하의 숫자와 영문자만 사용 가능하다.)
  2. 경고창이 하나 뜨는데 서버에서 직접 생성한 개인키와 CSR 파일을 사용하고 싶다면 이 단계를 진행하지 말고 건너뛰라는 내용이다. 별도로 생성하지 않을거라면 확인 버튼을 클릭해 계속 진행한다.
  3. 생성된 개인키가 보여지는데 텍스트 박스의 내용을 긁어 불필요한 공백이 생기지 않도록 주의하여 ssl.key 파일로 저장한다.
  4. 인증서를 생성할 도메인을 선택하고 Continue 버튼을 클릭한 후 탑 레벨 도메인 외에 서브도메인을 추가로 하나 입력해야 한다. 딱히 사용할게 없다면 그냥 www 라고 입력 후 Continue 버튼을 클릭한다.
  5. 이제 최종 확인 화면이 나오고 Continue 버튼을 클릭하면 인증서가 생성된다. 아까처럼 텍스트 박스의 내용을 긁어 ssl.crt 파일로 저장한다.
  6. 추가로 intermediate, root CA 인증서를 다운로드 해야 한다. 아래처럼 두 파일을 다운로드 받는다.

    Code Block
    languagebash
    wget https://www.startssl.com/certs/sub.class1.server.ca.pem
    wget https://www.startssl.com/certs/ca.pem

Configure

이제 4개의 파일이 모두 준비 되었으면 Apache Server Setup 페이지에 나온 아래의 내용처럼 Apache 설정을 변경해주면 된다.

  1. 누른다.
  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의 경우 아래와 같은 식.

Code Block
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:!ADHDH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
	:!LOW:!aNULL:!eNULL
   SSLCertificateFile /usr/local/apache/conf/ssl2_mydomain.com.crt
	   SSLCertificateKeyFile /usr/local/apache/conf/ssl.key
	SSLCertificateChainFile /usr/local/apache/conf/sub.class1.server.ca.pem 	SSLCACertificateFile SSLCertificateChainFile /usr/local/apache/conf/ca.pem
	SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
	1_root_bundle.crt
   CustomLog /usr/local/apache/logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

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

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

Test

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