Apache 웹서버(1.3.xx , 2.0.xx 공통) CSR(Certificate Signing Request) 생성
   
1. 개인키(비밀키) 생성

- $SSL_KEY_STORE 변수는 ssl 개인키를 보관하는 디렉토리를 가르킵니다.

[root@web1 root]# cd $SSL_KEY_STORE
[root@web1 root]# openssl md5 * > rand.dat
[root@web1 ssl]# openssl genrsa -rand rand.dat -des3 -out ssl2004.key 1024
Generating RSA private key, 1024 bit long modulus
.............++++++
...++++++
e is 65537 (0x10001)
Enter pass phrase for ssl2004.key: ******
Verifying - Enter pass phrase for ssl2004.key: ******
[root@web1 ssl]#

패스워드를 설정하라는 메시지가 나오면 원하는 패스워드를 입력합니다. 이 패스워드는 나중에 인증서를 설치할 때 필요하므로 반드시 기억해두셔야 합니다.
입력을 마치면 1024비트 RSA 키가 생성되어 ssl2004.key라는 이름으로 저장됩니다. ssl2004.key는 다른 적당한 이름으로 바꾸어도 무방합니다.
 
2. 개인키 확인

- 위의 작업과 계속 연관된 작업을 진행합니다.

[root@web1 ssl]# openssl rsa -noout -text -in ssl2004.key
Enter pass phrase for ssl.key: ******
Private-Key: (1024 bit)
modulus:
    00:da:bf:f3:39:d7:c6:1f:bd:6f:a7:b8:aa:67:f2:
...
coefficient:
    6b:26:51:9e:fb:77:cf:7e:d4:2a:a6:d2:7f:21:fa:
    42:e4:7c:54:2e:5e:e9:fb:03:a6:25:d0:6a:fc:e9:
    e1:1b:45:82:61:c0:35:a9:50:25:0a:75:2a:f8:cc:
    87:10:30:9d:bd:36:8e:4b:f6:55:0d:08:30:e8:55:
    e4:00:3b:ec
[root@web1 ssl]#


패스워드를 입력하라는 메시지가 나오면 개인키에 설정한 패스워드를 입력합니다. 그러면 위와 같이 생성된 개인키를 확인할 수 있습니다. 

3. CSR 생성

인증서를 신청하기 위한 정보를 입력합니다.
<주의사항>과 <입력예>를 반드시 읽어주시고 이에 따라서 정보를 입력하시기 바랍니다.

<주의사항>
① Organization(영문회사명)에는 < > ~ ! @ # $ % ^ * / \ ( ) ? 등의 특수 문자를 넣을 수 없습니다. 사업자 등록증에 기재된 회사명과 일치하는 영문회사명을 넣어 주시기 바랍니다. (예: 사업자 등록증에 '닷네임 코리아'이면 dotname korea 으로 넣어주셔야 합니다. dotname만 넣으시면 않됩니다.)
또한, 인증서를 설치할 Common Name(인증 받을 도메인 주소)에 해당하는 도메인의 등록정보를 반드시 참조하셔서 해당 등록정보에 기재된 회사명을 참고 하실 수 있겠습니다.
영문 회사명은 소유하고 계신 도메인이 com/net/org인 경우에는 Network Solutions에서, kr인 경우에는 KRNIC에서 확인할 수 있습니다.
② Common Name(인증 받을 도메인 주소)에는 IP 주소, 포트번호, 경로명, http:// 등을 포함할 수 없습니다.
③ 정보입력 과정에서 마지막에 나오는 Extra Attributes, 즉 A challenge password와 An optional company name은 입력하지 마시고 Enter키만 눌러주셔야 합니다. 두 항목에 내용을 입력하실 경우 잘못된 CSR이 생성될 수 있습니다.

<입력 예>
Country Name (국가코드) : KR
State or Province Name (시/도) : Seoul
Locality Name (구/군) : Songpa
Organization Name (회사명) : Dotname Korea
Organizational Unit Name (부서명) : Digital Certificate Team
Common Name (인증 받을 도메인 주소) : www.anycert.co.kr
Email Address :
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password :
An optional company name : anycert

- 위의 작업과 계속 연관된 작업을 진행합니다.

[root@web1 ssl]# openssl req -new -key ssl2004.key -out ssl2004.csr
Enter pass phrase for ssl.key: ******
...
Country Name (2 letter code) [KR]:kr
State or Province Name (full name) [Berkshire]:Seoul
Locality Name (eg, city) [Newbury]:Songpa
Organization Name (eg, company) [My Company Ltd]:Dotname Korea
Organizational Unit Name (eg, section) []:Digital Certificate Team
Common Name (eg, your name or your server's hostname) []:www.anycert.co.kr
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ******
An optional company name []:anycert
[root@web1 ssl]#

(개인키 파일인 ssl2004.key 로부터 CSR 파일인 ssl2004.csr이 생성됩니다. ssl2004.csr은 다른 이름으로 바꾸어도 됩니다.)
 
4. CSR 확인

- 위의 작업과 계속 연관된 작업을 진행합니다.

[root@web1 ssl]# openssl req -noout -text -in ssl2004.csr
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=kr, ST=Seoul, L=Songpa, O=Dotname Korea,
        OU=Digital Certificate Team, CN=www.anycert.co.kr
...
[root@web1 ssl]#
생성된 CSR 파일을 확인해 볼 수 있습니다.
 
5. 인증서 설치

Verisign 에서 보내준 인증서 파일 server.cert 과 개인키파일 ssl2004.key 를 ssl.conf 에 위치한 경로에 복사해두고 수정한 후 아파치를 실행한다.

ssl.conf 에서

SSLCertificateFile 항목이 지시하는곳이 server.cert화일을 나타내는 곳이고
SSLCertificateKeyFile 항목이 server.key화일을 지시한다.


루트인증서를 갱신해줘야한다. ssl.conf 중에 아래 주석을 수정하고 intermediate.pem 을
복사해준다.
SSLCACertificateFile /opt/hpws/apache/SSL/intermediate.pem

# apachectl startSSL

 
6. 개인키 및 인증서 백업


[root@web1 ssl]# cp ssl2004.key /root/ssl2004.key
[root@web1 ssl]# sftp xxx.xx.xx.xx > put ssl2004.key

안전한 곳에 개인키를 백업 복사를 해 놓습니다.
※ 개인키(ssl.key)파일과 패스워드는 결코 잃어버리시면 안 됩니다. 안전한 장소에 백업해두시기 바랍니다.


7. 네트웍 확인 사항 - SSL 적용에 따른 방화벽, L4 switch 설정 확인

고객님 웹서버에 SSL 을 적용하게 되면, http:// (기본 80 포트)통신과 https:// (기본 443 포트) 통신를 사용하게 됩니다.
그러므로, 웹서버에 설정된 방화벽이나 L4 switch의 설정을 기존 80 포트 설정과 같이 443 포트도 추가 설정해 주셔야 합니다.
정식 인증서를 발행하기까지 웹서버의 네트웍 환경설정에 443 포트를 열어주시는 계획을 세워주기 바랍니다.

-출처 : 우리회사 이익중 과장

Posted by
,