지난번 [Tomcat8 : SSL 인증서 적용하기 (WoSign 무료 인증서)] 글에 이어 이번에는 Apache2에 SSL 인증서를 적용하는 절차를 알아본다.


1. 개인키 파일 생성

# openssl genrsa -des3 -out private.key 2048


Generating RSA private key, 2048 bit long modulus

..................+++

................+++

e is 65537 (0x10001)

Enter pass phrase for private.key: (개인키 패스워드 입력)

Verifying - Enter pass phrase for private.key: (개인키 패스워드 입력)

2. CSR 생성

# openssl req -new -key private.key -out out.csr


Enter pass phrase for pri.kery: (개인키 패스워드 입력)

Loading 'screen' into random state - done 

You are about to be asked to enter information that will be incorporated 

into your certificate request. 

What you are about to enter is what is called a Distinguished Name or a DN. 

There are quite a few fields but you can leave some blank 

For some fields there will be a default value, 

If you enter '.', the field will be left blank. 

----- 

Country Name (2 letter code) [AU]:KR (국가코드 C)

State or Province Name (full name) [Some-State]:Seoul (시,도 ST)

Locality Name (eg, city) []:Gu-ro (구,군 L)

Organization Name (eg, company) [Internet Widgits Pty Ltd]:Finkle (기관명 O)

Organizational Unit Name (eg, section) []:RnD (조직명 OU)

Common Name (eg, YOUR name) []:mydomain.co.kr (도메인명 CN)

Email Address []:my@email.com (이메일)


Please enter the following 'extra' attributes 

to be sent with your certificate request 

A challenge password []: enter

An optional company name []: enter


3. https://buy.wosign.com/free/ 접속 후 위에서 생성한 CSR 파일 내용 붙여넣기


4. zip 파일 다운로드

mydomain.co.kr_sha256_en.zip


5. 압축 파일 내 [for Apache.zip] 파일의 내용 추출 후 적용대상 서버에 업로드

1_root_bundle.crt

2_mydomain.co.kr.crt


6. 아파치 설정파일 변경


<VirtualHost *:443>

    SSLEngine on

    SSLCertificateKeyFile  /my/path/ssl/private.key

    SSLCertificateFile       /my/path/ssl/2_mydomain.co.kr.crt

    SSLCACertificateFile   /my/path/ssl/1_root_bundle.crt

</VirtualHost>


7. 아파치 재기동


무료로 SSL 인증서를 배포하는 wosign(회원가입 필요)에서 인증서를 생성해 Tomcat 서버에 적용하는 과정에서 몇 번의 삽질 끝에 성공한 절차를 기록해본다.



1. 개인키 파일 생성

# keytool -genkey -keyalg RSA -sigalg SHA1withRSA -alias mySSL -keysize 2048 -keystore mySSL.jks


키 저장소 비밀번호 입력:  

새 비밀번호 다시 입력: 

이름과 성을 입력하십시오.

  [Unknown]:  Finkle

조직 단위 이름을 입력하십시오.

  [Unknown]:  Finkle

조직 이름을 입력하십시오.

  [Unknown]:  RND

구/군/시 이름을 입력하십시오?

  [Unknown]:  Seoul

시/도 이름을 입력하십시오.

  [Unknown]:  Seoul

이 조직의 두 자리 국가 코드를 입력하십시오.

  [Unknown]:  KR

CN=Finkle, OU=Finkle, O=RND, L=Seoul, ST=Seoul, C=KR이(가) 맞습니까?

  [아니오]:  y


<mySSL>에 대한 키 비밀번호를 입력하십시오.

(키 저장소 비밀번호와 동일한 경우 Enter 키를 누름):  

새 비밀번호 다시 입력:


2. 생성된 파일 확인

# keytool -list -keystore mySSL.jks 


3. CSR 생성

# keytool -certreq -alias mySSL -keyalg RSA -sigalg SHA1withRSA -file mySSL.csr -keystore mySSL.jks

키 저장소 비밀번호 입력: 


4. https://buy.wosign.com/free/ 접속 후 위에서 생성한 CSR 파일 내용 붙여넣기


5. zip 파일 다운로드

mydomain.co.kr_sha256_en.zip


6. 압축 파일 내 [for Other Server.zip] 파일의 내용 추출 후 적용대상 서버에 업로드

root.crt

1_cross_Intermediate.crt

2_issuer_Intermediate.crt

3_user_mydomain.co.kr.crt


7. Tomcat에 적용할 정보 키스토어 파일에 적용

# keytool -import -trustcacerts -alias WoSignROOT -file root.crt -keystore mySSL.jks

# keytool -import -trustcacerts -alias CrossINTER -file 1_cross_Intermediate.crt -keystore mySSL.jks

# keytool -import -trustcacerts -alias IssuerINTER -file 2_issuer_Intermediate.crt -keystore mySSL.jks

# keytool -import -alias mySSL-file 3_user_mydomain.co.kr.crt -keystore mySSL.jks



8. 내용 확인

# keytool -list -v -keystore mySSL.jks


9. 톰캣 설정 파일 변경

$ vi server.xml

<Connector port="443" protocol="HTTP/1.1"

       maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

       clientAuth="false" sslProtocol="TLS" 

       keystoreFile="/home/path/tools/ssl/mySSL.jks" keystorePass="xxxx" />


10. 톰캣 재기동

+ Recent posts