리눅스의 openssl 을 사용하여  자체 서명 인증서를 만들어 보자....

자체 인증서는 웹브라우저에서는 신뢰할 수 없는 사이트라고 나오지만, SSL 보안 기능은 잘 동작한다.



1. openssl 의 설치 여부를 확인하자...


[root@smtp tls]# rpm -qa openssl

openssl-1.0.2k-8.el7.x86_64




2. 개인키 생성


[root@smtp tmp]# 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:      -----------> 비밀번호 확인 입력.

[root@smtp tmp]#


private.key 라는  개인키가 생성된다.



3. 인증 요청서 생성 ( CSR - Certificate  Signing  Request )


[root@smtp tmp]# openssl req -new -key private.key  -out server.csr

Enter pass phrase for private.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) [XX] KR

State or Province Name (full name) []:Daejeon
Locality Name (eg, city) [Default City]:Seogu
Organization Name (eg, company) [Default Company Ltd]:NETRA
Organizational Unit Name (eg, section) []:Service
Common Name (eg, your name or your server's hostname) []:mail.weschool.kr
Email Address []:master@weschool.kr

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:    --------------> 그냥 패스~.
An optional company name []:    --------------> 패스 ~.
[root@smtp tmp]# 



4. 개인키 패스워드 제거.

   

   key에 패스워드가 들어 있으면 웹데몬 구동시 마다 물어본다. 패스워드를 제거하더라도 SSL 암호화 통신에는 문제가 없다.

 

[root@smtp tmp]# cp -a private.key  private.key_org

[root@smtp tmp]# openssl rsa -in private.key_org  -out private.key

Enter pass phrase for private.key_org:  --------------> 개인키 비밀번호 입력.   

writing RSA key

[root@smtp tmp]# ls

private.key  private.key_org  server.csr

[root@smtp tmp]#





5. 인증서 생성

   

   개인키와 인증요청서를 가지고 인증서를 생성한다.

 

[root@smtp tmp]# openssl x509 -req -days 365 -in server.csr -signkey private.key -out server.crt

Signature ok

subject=/C=KR/ST=Daejeon/L=Seogu/O=NETRA/OU=Service/CN=mail.weschool.kr/emailAddress=master@weschool.kr

Getting Private key

[root@smtp tmp]# 




6. 확인

   

   생성된  사설인증서(crt)를 확인해 보자

 

[root@smtp tmp]# more private.key | head -3

-----BEGIN RSA PRIVATE KEY-----

MIIEogIBAAKCAQEAx/+LzN+U5Xn2/sz9MQFY83WU4nma95zo9WvIPc0H7OlhI2hO

MKcWjbRnD7w3zPw1rYvt+2keZeRKp1B8lq+9HlZnCmS6DWNCajW6c9kcLbWI65I7

[root@smtp tmp]#

[root@smtp tmp]# more server.crt | head -3

-----BEGIN CERTIFICATE-----

MIIDnDCCAoQCCQDAlK1Edjlw/jANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMC

S1IxEDAOBgNVBAgMB0RhZWplb24xDjAMBgNVBAcMBVNlb2d1MQ4wDAYDVQQKDAVO

[root@smtp tmp]#


+ Recent posts