본문으로 건너뛰기

openssl을 이용하여 CSR값을 생성하는 방법은 무엇인가요?

💡 요약 정리

  • 인증서 발급을 위해 CSR(Certificate Signing Request) 값을 생성해야 합니다.
  • CentOS 서버에서 openssl 명령어로 쉽게 생성할 수 있습니다.
  • 개인 키 파일 생성 후 해당 키를 기반으로 CSR을 생성합니다.
  • 선택적으로 rand.dat 파일을 사용할 수 있으나 필수는 아닙니다.

1. 설치 환경

  • CentOS 5.x (64bit)
  • 개인키파일: ssl.key
  • CSR파일: ssl.csr

2. openssl 패키지 확인

openssl 패키지가 설치되어 있는지 확인하고, 설치되지 않은 경우 아래처럼 yum을 통해 설치합니다.

[root@cafe24 ~]# rpm -qa | grep openssl
openssl-0.9.8e-22.el5_8.4
openssl-devel-0.9.8e-22.el5_8.4
openssl097a-0.9.7a-11.el5_8.2
openssl-perl-0.9.8e-22.el5_8.4
openssl-0.9.8e-22.el5_8.4
openssl097a-0.9.7a-11.el5_8.2
openssl-devel-0.9.8e-22.el5_8.4
[root@cafe24 ~]#

3. 개인키파일(ssl.key) 생성

  • rand.dat 생성은 선택 사항입니다.
  • key 파일 생성 시 고유한 암호를 입력해 주어야 합니다.
  • 최신 보안 환경에서는 2048bit 암호화를 사용합니다. (예전에는 1024bit 사용)

rand.dat 파일을 이용할 경우

[root@cafe24 ssl]# openssl md5 * > rand.dat
*: No such file or directory

[root@cafe24 ssl]# openssl genrsa -rand rand.dat -des3 2048 > ssl.key
0 semi-random bytes loaded
Generating RSA private key, 2048 bit long modulus
...........................+++
.....................................+++
e is 65537 (0x10001)
Enter pass phrase:               <--- 암호 입력
Verifying - Enter pass phrase:  <--- 암호 재입력
[root@cafe24 ssl]#

rand.dat 파일을 사용하지 않을 경우

[root@cafe24 ssl]# openssl genrsa -des3 2048 > ssl.key
Generating RSA private key, 2048 bit long modulus
.......................................................+++
........................+++
e is 65537 (0x10001)
Enter pass phrase:               <--- 암호 입력
Verifying - Enter pass phrase:  <--- 암호 재입력
[root@cafe24 ssl]#

4. ssl.key 파일을 이용하여 CSR 값 생성

CSR은 인증서 발급을 위해 사용자의 정보와 공개 키를 포함하는 요청 파일입니다.

[root@cafe24 ssl]# openssl req -new -key ssl.key > ssl.csr
Enter pass phrase for ssl.key:           <--- ssl.key 파일 생성 시 입력한 패스워드 입력
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) [GB]:kr         <--- 국가 코드 입력
State or Province Name (full name) [Berkshire]:seoul    <--- 시/도 입력
Locality Name (eg, city) [Newbury]:singpa-gu            <--- 시, 구, 군 입력
Organization Name (eg, company) [My Company Ltd]:cafe24  <--- 회사명
Organizational Unit Name (eg, section) []:Policy Development Division  <--- 부서명
Common Name (eg, your name or your server's hostname) []:www.cafe24.kr  <--- 도메인명
Email Address []:cafe24@cafe24.kr            <--- 도메인 관리자 이메일

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:                    <--- 그냥 Enter
An optional company name []:                <--- 그냥 Enter
[root@cafe24 ssl]#

5. CSR 값 확인

생성된 ssl.csr 파일 내용을 확인합니다. 이 CSR 값을 인증기관(CA)에 제출하면 CRT (Certificate) 파일을 받을 수 있습니다.

[root@cafe24 ssl]# cat ssl.csr
-----BEGIN CERTIFICATE REQUEST-----
MIIC5zCCAc8CAQAwgaExCzAJBgNVBAYTAmtyMQ4wDAYDVQQIEwVzZW91bDESMBAG
A1UEBxMJc2luZ3BhLWd1MQ8wDQYDVQQKEwZjYWZlMjQxJDAiBgNVBAsTG1BvbGlj
eSBEZXZlbG9wbWVudCBEaXZpc2lvbjEWMBQGA1UEAxMNd3d3LmNhZmUyNC5rcjEf
MB0GCSqGSIb3DQEJARYQY2FmZTI0QGNhZmUyNC5rcjCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBALZyeKXZMt+IkyfQL6Fl46tFVrei0Ru6xIKYkL+0727p
mQGQYPTUzHRAS4gKAskBFAAbOZwRt2CyTVecV8gSRz51g4f9XhLEhXHjgu9zL5CT
JtI/XJCBt9Rh5b2g98g+4aDNkSeqM+vNX1yefJSBLi/gFhdvxeYeWryWDxGltXo/
yI214lRQXTkyWbPRTTU44wmY1iPHGxAmY6TV8KAET8iC4TPjhYQxRQhTR54Mwv8p
QW1u7+nl/8ePC/CoP3pu6iaBs2S/GZeWKRIBZ8eblCJfGT+7Jt8u+r/5QuHa1thh
3yXB9EXWbOs0fFbcro3jWJu8R4nO7ap53U6s4ecrZEECAwEAAaAAMA0GCSqGSIb3
DQEBBQUAA4IBAQAnFWusar6j3nUo0KEklconUDmMQ6m9v1LUgRZNAAtV5d1YCHYu
fZXbE1iP7ldgFzL9xlHir0SU+Oa8/LMAnJPB7AR6m2WcmE1p67wcQDeFy8LjZXkJ
D1sn1QHuIPO+Hh41LJb5z/GVKcab884cG3bO7CWfPNmDzmeTsZfU1ZsNTog9BDah
FPJKQQkTSOa+9K69XxaXdryZjT5Rp9cwZ2Ez/e0PDN3IB1xR64HyTrHUBN0SCMO2
LFoQbEEweCC1TpqBxjKycb+BO5ndg7KwwAGwYCuCbbjoGaS9/XBkPrGci9nxuvz1
UQhStqQlxiuSZgSNkOCzq2Wczfbf9w44C9Bm
-----END CERTIFICATE REQUEST-----
[root@cafe24 ssl]#

CSR값이 정상적으로 생성되었으면, 아래 페이지에서도 내용을 확인할 수 있습니다.

CSR Decode 페이지 바로가기