....

SSL CA 루트기관 구성하기.. 본문

Linux

SSL CA 루트기관 구성하기..

idkook 2010. 2. 17. 14:26

참고 링크..
http://wiki.kldp.org/wiki.php/DocbookSgml/SSL-Certificates-HOWTO#AEN182

개발서버에서 각각의 역활마다 별도로 인증서를 발급하는건 그다지 어렵지 않지만..

개발자가 많아질수록 그 개발자들이 각각의 호스트들에 대한 인증서를 일일히 설치해야 하는건 번거로운 일이다.

개다가 자기자신을 서명한 인증서는 *.sample.co.kr 과 같은 와일드카드 도메인에 대해서 잘못된 인증서로 인식을 해버린다....

이럴땐 그냥 CA루트기관을 설치하고.. 작업자들은 CA인증서를 설치하게 하면....

하나의 인증서로 여러 호스트를 동시에 해치울 수 있다...

그리고 새로 발급하는 호스트에 대해서도... 인증서 설치하세요~~ 라고 소리치고 다닐 필요가 없다..

#1. /etc/pki/tls/openssl.cnf 을 설정합니다.

# 안해도 되는데, countryName_default, stateOrProvinceName_default, localityName_default 등을 수정하면
# crt, csr 만들 때 입력 안해도 됩니다.
# default_days 는 기본이 365인데, 1년마다 인증서 만들기 귀찮으면 값을 키워줍니다.
# 10년으로 하고 싶은 경우에는, 윤년 생각해서 3652쯤 하면 딱 10년짜리 인증서가 됩니다.
# 2020년이 윤년이니 3월부터는 3653을 주면 되겠죠.
# 특별히 건드리지 않으면 [ CA_default ] 섹션의 dir 값은 ../../CA 일겁니다. 이건 그냥 둬도 됩니다.

# 2. CA용 파일들을 생성합니다.
# CA 용 인증서를 만듭니다. 비밀번호 없이 사인을 하고 싶다면, 중간에 -nodes 옵션을 줍니다.
# openssl req -new -x509 -keyout /etc/pki/CA/private/ca.key -out /etc/pki/CA/ca.crt -config /etc/pki/tls/openssl.cnf -days 3650
# chmod 600 private/ca.key
# 그다음은 CA 부속품들을 만듭니다.
# cd /etc/pki/CA
# mkdir newcerts
# touch index.txt
# echo 01 > serial

openssl req -nodes -new -keyout /etc/pki/tls/private/$1.key -out /etc/pki/tls/certs/$1.csr
cd /etc/pki/tls/certs
openssl ca -in /etc/pki/tls/certs/$1.csr -out /etc/pki/tls/certs/$1.crt -keyfile /etc/pki/CA/private/ca.key -cert /etc/pki/CA/ca.crt

주석 처리된 부분은 CA 인증서를 생성하는 부분이다.

생성이 끝난뒤에...
> make_cert.sh localhost

요렇게 위 스크립트뒤에 파라매터를 주고 실행하면... 적절한 위치에 인증서를 뚝딱뚝딱~~~

httpd.conf 에서 인증서 위치에 아래 값을 셋팅해주면 끝이다.
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCACertificateFile /etc/pki/CA/ca.crt



Comments