[WEB] HTTPS(SSL) 보안인증서 구매 및 설치하기(apache,IIS)

보안인증서를 한국에서 구매를 하면 잘 몰라도 구입처에 전화로 물어보면서 하면 되는데
외국에서 구매를 했더니 별거 아닌것도 괜히 당황하고 문의를 하려고 해도 외국으로 메일이나 전화를 영어로 해야 하니 난감할때가 있음.

스샷을 못 찍어서 생각나는대로 글로 작성.
순서가 이리저리 왔다갔다 할수 있음. 
추후 갱신때에는 스샷도 찍으면서 기록예정.

19.12 1년짜리 갱신이 있어. 갱신 했는데 스샷은 못 찍음.
구입(구매/갱신) 시 기존과 다르게 주는 파일이 변경 되었음.
(큰 상관은 없음. 사이트에서 알려주는데로 했음.)
https://cheapsslsecurity.com/p/how-do-you-reissue-an-ssl-certificate/

1. 구입 (COMODO SSL)
외국 보안인증서 판매 사이트에서 구입 (https://cheapsslsecurity.com)
한국보다 3배 이상은 저렴하다.   
(내가 사용하는 제품으로 2021년 1월 기준 2년 기준으로 10만원 정도 저렴한거 같음.)


>> 해당 상품을 클릭하고 구매.
>> 기본적인 정보 기입.
>> 체크 부분에 new는 처음 구입, renew는 갱신.
>> COMODO 인증서 DCV
     1)EMAIL : 이메일로 인증하는 방법.
     2)HTTP,HTTPS : web sorce 파일로 인증하는 방법.
     3)CNAME : 도메인 CNAME으로 인증하는 방법.
     간단한거는 이메일 같인데 해당 도메인에 이메일은 사용하지 않아서 
     CNAME으로 하였음.
     CNAME으로 설정을 하면 CNAME 이름과 거기에 들어갈 값을 줌. 
     그거 그대로 ZONE에 추가하면 알아서 확인하여 인증함. 

>> CSR 값 넣으라고 하는데 CSR 파일 생성해서 그 안에 있는 값 넣으면 됨. 

>> CSR 파일 생성
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

아래와 같은 입력란이 나옴.

Country Name (국가코드)  : KR
State or Province Name ( 지역 )  : Seoul
Locality Name ( 시/군/구 )  : Mapo
Organization Name ( 회사명 )  : 영문 회사이름
Organizational Unit Name ( 부서명 ) [] : 영문 팀이름
Common Name ( 서비스도메인명 )  : (서브 or www)도메인주소
(와일드카드로 구매 시 도메인주소는  *.도메인주소)
Email Address (메일 받을수 있는 메일주소) : 메일주소

끝 부분에 아래와 항목 나오는 그냥 엔터로 패스 
A challenge password :
An optional company name :

그러면 csr 파일과 key 파일이 만들어짐.

>> 설정 및 입력을 다 하면 인증서 파일이 첨부된 메일이 옴.

참고 : 
https://www.comodossl.co.kr/products/comodo-ssl-dcv.aspx

보안인증서 구매 업체 관련 re-issue 관련
https://knowledge.cheapsslsecurity.com/support/solutions/articles/22000216235-how-to-re-issue-your-ssl-certificate-in-your-account


2. 보안인증서 설치 (Amazon linux)

1) sudo yum install -y mod24_ssl 설치.
2) 원하는곳에 디렉토리 만들고 메일로 받은 보안인증서 복사.
    (메일에 첨부 된 파일은 4개 있다. 또는 서버에 추가 할 파일로 만들고 복사.)
     
3) 그리고 httpd.conf 파일이나 vhost 파일을 아래 내용 추가. 

 SSLEngine On
 SSLCertificateKeyFile "/파일있는 폴더/STAR_도메인.key"
 (아까 CSR 했을때 나왔던 Private Server Key 파일을 .key로 만들면 됨.)
 SSLCertificateFile "/파일있는 폴더/STAR_도메인명.crt"
 SSLCertificateChainFile "/파일있는 폴더l/STAR_도메인명.ca-bundle"
 ( 첨부된 4개의 파일중 STAR_도메인명.crt를 제외한 3개 파일 내용 통합)

실제 적용 예)
경로나 파일이름은 알아서 만들면 됨.



DocumentRoot "/var/www/html/site home"
ServerName site domain
ServerAdmin admin email
ErrorLog "/home/logs/file name"
TransferLog "/home/logs/file name"
SSLEngine On
SSLCertificateKeyFile "/파일있는 폴더/STAR_도메인.key"
SSLCertificateFile "/파일있는 폴더/STAR_도메인명.crt"
SSLCertificateChainFile "/파일있는 폴더l/STAR_도메인명.ca-bundle"

참고 : 
https://support.comodo.com/index.php?/Knowledgebase/Article/View/1145/1/how-do-i-make-my-own-bundle-file-from-crt-files

3. 확인 

1) https 접속 하면 됨. 
2) https://www.ssllabs.com/ssltest/ 
   위 사이트에 접속해서 도메인 입력 하면 B등급 받음.  
   더 높은 등급 받을려면 개별 설정 필요.


추가 IIS 인증서 설치 하기

1) IIS용 PFX 파일 만들기
판매 사이트에서 구매 후 준 파일에서 해당도메인.crt 파일과 CRS 파일 만들었을때 같이 나온
Private Server Key(Key 파일)을 가지고 

openssl pkcs12 -export -in 도메인.crt -inkey 도메인.key -out 해당도메인.pfx

PFX 파일 생성

2) IIS에 보안인증서 설치하기

가) IIS 홈 >> 서버 인증서 >> 기능열기 >> (작업) 가져오기 >> 만들었던 PFX 선택 (암호는 PFX 파일 만들때 암호 생성하지 않았음) >> 등록 완료.

나) IIS >> 사이트 >> 해당 사이트 >> 바인딩 >> 추가 >> HTTPS 선택, 인증서 선택  후 확인. >> 완료  


댓글

이 블로그의 인기 게시물

[DB] Mysql 숫자 기준으로 정렬하기.

[WEB] ASP.NET System.NullReferenceException: 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.

[문서] excel 체크박스 삭제