리눅스 개인서명(사설) SSL 인증서 생성
1. 개요
개인 인증서를 만들고 인증서를 발급 받아 사용해본다. 브라우저에서 신뢰할 수 없는 사이트로 표시되지만, SSL 보안 기능을 사용할 수 있다.
2. 확인
리눅스 서버에 Openssl 패키지를 설치한다.
[root@localhost ~]# rpm -qa | grep openssl
openssl-libs-1.0.1e-60.el7_3.1.x86_64
openssl-1.0.1e-60.el7_3.1.x86_64
openssl098e-0.9.8e-29.el7.centos.3.x86_64
openssl-devel-1.0.1e-60.el7_3.1.x86_64
3. 개인키 생성
[root@localhost ~]# openssl genrsa -des3 -out server.key 2048
Generating RSA private key, 2048 bit long modulus
.....+++
.......................................................................................................................+++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
[root@localhost ~]#
4. 인증요청서 생성
[root@localhost ~]# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.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]:colt357
Organizational Unit Name (eg, section) []:colt357
Common Name (eg, your name or your server's hostname) []:web1.com
Email Address []:admin@web1.com
---------> 적당히 자신의 경우게 맞게 입력
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
----------> 그냥 Enter, Enter
서버 인증요청서인 server.csr 파일이 생성되었다.
5. (Optional) 개인키에서 패스워드 제거
- 키에 패스워드가 들어 있으면 아파치 구동시마다 물어본다. 패스워드를 제거하더라도 SSL 암호화 통신 에는 문제가 없으므로 제거하자.
[root@localhost ~]# cp server.key server.key.origin
[root@localhost ~]# ls
anaconda-ks.cfg server.csr server.key server.key.origin
[root@localhost ~]# openssl rsa -in server.key.origin -out server.key
Enter pass phrase for server.key.origin: ----> 개인키 패스워드를 입력
writing RSA key -----> 패스워드가 제거된 개인키 파일 server.key 가 생성된다.
[root@localhost ~]#
패스워드가 제거된 파일(server.key)은 원래 파일(server.key.origin)에 비해 용량이 조금 줄었다.
6. 인증서 생성
- 개인키와 인증요청서를 가지고 인증서를 생성해 보자.
[root@localhost ~]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=kr/ST=daejeon/L=seogu/O=colt357/OU=colt357/CN=web1.com/emailAddress=admin@web1.com
Getting Private key
[root@localhost ~]#
7. 확인
- 개인키
[root@localhost ~]# head -3 server.key
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyyIIj70AxbZmWKeL7vTg0cDouD8U+Fxt5046YFYh6bUXbev0
tILTBRZBeGJzeL1GJ2NB1nkPQ4uaIPGCghhD/4ttvKFbH09quPLWFZ44Pth0kCwN
- 사설인증서
[root@localhost ~]# head -3 server.crt
-----BEGIN CERTIFICATE-----
MIIDiDCCAnACCQDyRS6tuMObrDANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMC
a3IxEDAOBgNVBAgMB2RhZWplb24xDjAMBgNVBAcMBXNlb2d1MRAwDgYDVQQKDAdj
[root@localhost ~]#
'배워서 남주자 > Linux 명령' 카테고리의 다른 글
[네크워크 ] 네트워크 명령 (0) | 2018.03.23 |
---|---|
[명령어 실행 기록] history 확인시 작업 날짜 표시하기 (0) | 2018.03.23 |
[대용량 Disk 사용] parted GPT (1) | 2018.03.23 |
[접속기록] 접속 성공/실패 기록 확인하기 (0) | 2018.03.23 |
[vi 편집] paste 붙여넣기 옵션 (0) | 2018.03.23 |