Apache + mod_ssl을 설치하면 기본적으로 30일간 사용할수 있는 Certificate가 /path/to/apache/conf/ssl.crt 디렉토리에 설치되어 있다. 이것을 자신의 CA에서 인증한다면 여러분이 원하는 기간동안 사용할수 있는 Certificate가 생성된다. 그러나 공인인증기관에서 인증서를 받기를 원한다면, 아래와 같이 CSR을 생성하여 인증서를 신청해야 한다. 당신이 서비스 하는 도메인을 www.virtualhost.com이라고 하고 다음과 같이 한다.
1. openssl명령어를 이용하여 Web Server의 RSA키를 생성한다.
$ openssl genrsa -des3 -out www.virtualhost.com.key 1024
이때 생성되는 키는 Web Server를 운용하기위한 비밀키가 됨으로 반드시 백업을 받아놓고 사용하는 것이 좋다. 생성된 키는 다음 명령을 이용하여 내용을 확인할수 있다.
$ openssl rsa -noout -text -in www.virtualhost.com.key
2. 생성된 RSA키를 이용하여 Certificate Signing Request(CSR)을 생성한다.
$ openssl req -new -days 365 -key www.virtualhost.com.key -out www.virtualhost.com.csr
CSR 생성중 키의 길이를 묻는 질문에는 1024bit를 선택하고 그외는 모두 Default를 선택한다. 질문에 다음과 같이 답한다.
- Common Name: 서비스 도메인명 www.virtualhost.com
- Organization: 소유 회사명 Virtual Corp.
- Organization Unit : 부서명 EC Team
- Locality: 시/군/구 Gangnamgu
- State : 지역 Seoul
- Country : 국가코드 2자리 KR
생성된 화일은 다음 명령으로 내용을 확인 할 수 있다.
$ openssl req -noout -text -in server.csr
3. 생성된 CSR화일은 유료서비스를 하는 VeriSign이나 Thawte등의 rootCA로 보내면 server.crt화일을 받을수 있다.
4. 생성된 server.crt와 server.key(==server.csr)화일을 적절한 위치(/usr/local/apache/conf/)에 복사하고 백업한다. Apache의 conf/httpd.conf에 보면, SSLCertificateFile 항목이 지시하는곳이 server.crt화일을 나타내는 곳이고 SSLCertificateKeyFile 항목이 server.key화일을 지시한다.
</usr/local/apache/conf/extra/httpd-ssl.conf>
SSLCertificateFile /path/to/your/www.virtualhost.com.crt
SSLCertificateKeyFile /path/to/your/www.virtualhost.com.key
댓글 달기