본문 바로가기

Linux

[ CentOS ] SSL 적용기 (2) - OpenSSL 을 이용한 무료 인증서 만들기(RootCA 편)

 

 

앞 장에서도 말했듯이, 율토리는 가난한 촌마을이다 ㅠ_ㅠ

지금부터 SSC ( Self Signed Certificate ) 를 만들어 SSL 을 적용하자.

 

 

1.  [ RootCA 편 ] OpenSSL 을 이용한 RootCA 개인 Key 파일 생성.

    - RHEL/CentOS 의 경우는 OpenSSL 이 기본 설치되어있으므로 별도 설치를 하지 않아도 된다.

    - OpenSSL 설치 버전 확인 : $ openssl version

openssl genrsa -aes256 -out RootCA 키 파일 위치/RootCA 키 파일명.key 2048
ex) openssl genrsa -aes256 -out /etc/pki/tls/private/yultory-rootca.key 2048

RootCA 개인 Key 생성

          * 여기서 입력하는 Password 는 잊어버리면 개인키(Private Key) 를 얻을 수 없다고하니 잊으면 안된다!!!

          * genrsa : RSA방식으로 개인기 생성

          * aes256bit : 개인키를 AES128 로 암호화

 

 

2. [ RootCA ]  RootCA 개인 Key생성 후, Key 의 권한을 600으로 변경해준다. ( 유출 방지를 위해서 )

chmod 600  생성한 개인키 파일
ex) chmod 600  /etc/pki/tls/private/yultory-rootca.key

 

3. [ RootCA ]  CSR (인증서 발급 신청서) 위한 설정 파일을 생성하자.

[ req ]
default_bits                = 2048
default_md                 = sha1
default_keyfile             = 1번에서 생성한 RootCA 개인키 파일명
distinguished_name      = req_distinguished_name
extensions                  = v3_ca
req_extensions             = v3_ca
  
[ v3_ca ]
basicConstraints             = critical, CA:TRUE, pathlen:0
subjectKeyIdentifier         = hash
##authorityKeyIdentifier   = keyid:always, issuer:always
keyUsage                     = keyCertSign, cRLSign
nsCertType                   = sslCA, emailCA, objCA
[req_distinguished_name ]
countryName                     = Country Name (2 letter code)
countryName_default           = KR
countryName_min               = 2
countryName_max               = 2
 
# 회사명 입력
organizationName              = Organization Name (eg, company)
organizationName_default    = yultory Inc.
  
# 부서 입력
#organizationalUnitName            = Organizational Unit Name (eg, section) # 부서 입력
#organizationalUnitName_default  = yultory Project
  
# SSL 서비스할 domain 명 입력
commonName                       = Common Name (eg, your name or your server's hostname)
commonName_default             = yultory's Self Signed CA
commonName_max                  = 64 

vi 에디터에서 yultory_openssl.conf 작성 화면

 

  4. [ RootCA  ]  이제 CSR을 (인증서 발급 신청서) 만들어주자.

openssl req -new -key 개인키 위치/개인키 파일 -out 생성할 인증서 위치/생성할 인증서 파일명 -config 인증서 설정 파일
ex)
openssl req -new -key /etc/pki/tls/private/yultory-rootca.key -out /etc/pki/tls/certs/yultory-rootca.csr -config yultory-openssl.conf

인증서 생성 요청 & 생성된 화면 ( yultory-rootca.csr 로 생성된 것을 확인 할 수 있다. )

 

5.  [ RootCA  ]  위에서 만든 개인키(key), 인증서 발급 신청서(CSR), 인증서 발급 신청서 설정 파일서 생성 요청이(CSR) 끝났으니,  Self 서명 인증서 (CRT) 를 생성해보자.

openssl x509 -req \
-days 3650 \
-extensions v3_ca \
-set_serial 1 \
-in 인증서 발급 신청서 \
-signkey 개인키파일 \
-out 발급할 인증서 \
-extfile 인증서 발급 신청서 설정 파일

기간 10년 짜리 인증서 생성 화면

 

 

 

6. 생성된 인증서를 확인해보고 싶다면 ?

openssl x509 -text -in /etc/pki/tls/certs/yultory-rootca.crt

 

여기까지 RootCA (최상위기관) 의 인증서를 만들어 보았다.

다음 편에서 내 사이트에 적용할 인증서, 즉 RootCA 개인키로 서명받은 호스트 인증서를 발급해보자.

 

☞ 내 사이트에 적용할 인증서 발급하러 가기

 

- 관련 포스트 -

1. [CentOS] SSL 적용기 (1) - 사전 개념 이해  바로가기

2. [CentOS] SSL 적용기 (2) - OpenSSL 을 이용한 무료 인증서 만들기 (RootCA 편)  바로가기

3. [CentOS] SSL 적용기 (3) - OpenSSL 을 이용한 무료 인증서 만들기 (Host 편)  바로가기

4. [CentOS] SSL 적용기 (4) - 인증서 적용하기 (Apache)  바로가기