우선 비밀키를 사용하려면 openssl를 설치해야한다.
간단한 명령
# openssl genrsa -des3 -out server.key 1024 # openssl rsa -in server.key -out server.key.insecure # openssl req -new -key server.key -out server.csr # openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
생성된 파일들을 apache ssl관련 디렉토리에 이동 시킨다.
apache config 파일을 설정해야 하는데 ssl 443번을 이용하기에 가상호스트로 설정을 한다.
가상 호스트 설정에서
SSLEngine ON SSLCertificateFile crt 파일 절대 경로명 SSLCertificateKeyFile key파일 절대 경로명
이 상위에 나오고 그 다음에 필요한 사항들을 설정해주면 된다.
특정 디렉토리만 ssl을 사용하게 되면 편하게 사용할 수 있을 것이다.
(Directory "~/~/~/ssl") SSLRequireSSL (/Directory) (Directory "~/~/~/cgi-bin) SSLOptions +StdEnvVars (/Directory)
StdEnvVars에 대해서는 When this option is enabled, the standard set of SSL related CGI/SSI environment variables are created. This per default is disabled for performance reasons, because the information extraction step is a rather expensive operation. So one usually enables this option for CGI and SSI requests only. 이렇다는데...
마무리로 인증서를 설정하고 나서 apache를 실행이나 재시작 하는경우 ssl관련 패스워드를 물어본다. 이 부분을 없앨려면 openssl rsa -in filename.key-out new_filename.key으로 key파일을 변경해서 사용하면 된다.
관련 url :
http://kldp.org/HOWTO/html/SSL-RedHat-HOWTO/ssl-redhat-howto-2.html