25. Work With SSL Certificates
tags:
- linux
- ssl
- openssl
- certificates
- lfcs
โฌ Go to Home
25. Work With SSL Certificates
๋ช ๋ น์ดโ
req โ CSR (์ธ์ฆ์ ์๋ช
์์ฒญ) ์์ฑโ
openssl req -newkey rsa:2048 -keyout key.pem -out req.pem
| ํ๋๊ทธ | ์ค๋ช |
|---|---|
-newkey rsa:2048 | RSA 2048๋นํธ ๊ฐ์ธํค๋ฅผ ์๋ก ์์ฑ |
-keyout key.pem | ๊ฐ์ธํค๋ฅผ key.pem์ ์ ์ฅ |
-out req.pem | CSR์ req.pem์ ์ ์ฅ |
x509 โ ์์ฒด ์๋ช
์ธ์ฆ์ ์์ฑโ
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem
| ํ๋๊ทธ | ์ค๋ช |
|---|---|
-x509 | CSR ๋์ ์์ฒด ์๋ช ์ธ์ฆ์๋ฅผ ์ถ๋ ฅ |
-newkey rsa:2048 | RSA 2048๋นํธ ๊ฐ์ธํค๋ฅผ ์๋ก ์์ฑ |
-keyout key.pem | ๊ฐ์ธํค๋ฅผ key.pem์ ์ ์ฅ |
-out req.pem | ์ธ์ฆ์๋ฅผ req.pem์ ์ ์ฅ |
astuce
-days 365 ๋ก ์ ํจ๊ธฐ๊ฐ ์ค์
openssl req -x509 -newkey rsa:4096 -keyout myprivate.key -out mycertificate.crt -noenc
์ต์ ์ค๋ช -newkey rsa:4096RSA 4096๋นํธ ํค ์์ฑ (2048๋ณด๋ค ๊ฐ๋ ฅ) -keyout myprivate.key๊ฐ์ธํค๋ฅผ myprivate.key์ ์ ์ฅ-out mycertificate.crt์ธ์ฆ์๋ฅผ mycertificate.crt์ ์ ์ฅ-noenc๊ฐ์ธํค์ ํจ์คํ๋ ์ด์ฆ ์ํธํ ์๋ต
EXAMPLES (man openssl-req)โ
man ํ์ด์ง์์ ์์ ์น์
์ผ๋ก ๋ฐ๋ก ์ด๋ํ๋ ๋ฐฉ๋ฒ
man openssl-req
์ด๋ฆฐ ํ /EXAMPLE ์
๋ ฅ โ Enter โ ์์ ์น์
์ผ๋ก ๋ฐ๋ก ์ด๋
/โ man ํ์ด์ง ๋ด ๊ฒ์nโ ๋ค์ ๊ฒ์ ๊ฒฐ๊ณผ๋ก ์ด๋qโ ์ข ๋ฃ
# ์ธ์ฆ์ ์์ฒญ ํ์ธ ๋ฐ ๊ฒ์ฆ
openssl req -in req.pem -text -verify -noout
# ๊ฐ์ธํค๋ฅผ ๋จผ์ ๋ง๋ค๊ณ , ๊ทธ ํค๋ก CSR ์์ฑ
openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out req.pem
# ์์ ๋์ผํ์ง๋ง req ํ๋๋ก ํค+CSR ๋์ ์์ฑ
openssl req -newkey rsa:2048 -keyout key.pem -out req.pem
# ์์ฒด ์๋ช
๋ฃจํธ ์ธ์ฆ์ ์์ฑ
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem
# ์๋ธ์ ํธ๋ฅผ ์ง์ ์ง์ ํด ์ธํฐ๋ํฐ๋ธ ํ๋กฌํํธ ์์ด ์์ฑ
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem \
-days 365 -noenc \
-subj "/C=FR/ST=Paris/L=Paris/O=MyOrg/CN=example.com"
# ์์ฑ๋ ์ธ์ฆ์ ๋ด์ฉ ํ์ธ
openssl x509 -in req.pem -text -noout
# ์ค์ ์ธ์ฆ์ ํ์ผ๋ก ๋ด์ฉ ํ์ธ
openssl x509 -in mycertificate.crt -text
ํต์ฌ ๊ฐ๋ โ
- CSR (Certificate Signing Request) โ CA์ ์ ์ถํด ์๋ช ๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธฐ ์ํ ์์ฒญ ํ์ผ
- ์์ฒด ์๋ช
(
-x509) โ CA ์์ด ์์ ์ ํค๋ก ์ง์ ์๋ช ; ๊ฐ๋ฐ/๋ด๋ถ ํ๊ฒฝ์ ์ ํฉ key.pemโ ๊ฐ์ธํค (์ ๋ ์ธ๋ถ ์ ์ถ ๊ธ์ง)req.pemโ ์ฌ์ฉํ ๋ช ๋ น์ ๋ฐ๋ผ CSR ๋๋ ์ธ์ฆ์
.crt vs req.pemโ
.crt | req.pem | |
|---|---|---|
| ๋ด์ฉ | ์๋ช ๋ ์ธ์ฆ์ (Certificate) | CSR ๋๋ ์ธ์ฆ์ |
| ์ฉ๋ | ์๋ฒ์ ๋ฐฐํฌํด ์ฌ์ฉํ๋ ์ต์ข ์ธ์ฆ์ | CA์ ์ ์ถํ๊ฑฐ๋ ์์ ์ถ๋ ฅ ํ์ผ |
| ํ์ | PEM ํ์ (๋ด์ฉ์ ๋์ผ) | PEM ํ์ (๋ด์ฉ์ ๋์ผ) |
| ๊ด๋ก | .crt = ์ธ์ฆ์์์ ๋ช
ํํ ํํ | .pem = ํ์๋ง ๋ํ๋, ๋ด์ฉ์ ๋ถ๋ถ๋ช
|
remarque
ํ์ฅ์๋ ๋จ์ํ ๊ด๋ก(convention) ์ผ ๋ฟ, ์ค์ ํ์ผ ํ์(PEM)์ ๋์ผํ๋ค.
-x509 ์ฌ์ฉ ์ โ ์ธ์ฆ์์ด๋ฏ๋ก .crt ๊ถ์ฅ
-x509 ์์ด ์ฌ์ฉ ์ โ CSR์ด๋ฏ๋ก .csr ๋๋ req.pem ์ฌ์ฉ
์ ํจ๊ธฐ๊ฐ (Expiration)โ
attention
์ด๋ฏธ ์์ฑ๋ ์ธ์ฆ์์ ์ ํจ๊ธฐ๊ฐ์ ๋ณ๊ฒฝ ๋ถ๊ฐํ๋ค. ์ ํจ๊ธฐ๊ฐ์ ์๋ช ๋ ๋ฐ์ดํฐ์ ํฌํจ๋๋ฏ๋ก, ์์ ํ๋ฉด ์๋ช ์ด ๋ฌดํจ๊ฐ ๋๋ค. ๋ฐ๋์ ์ฌ์์ฑํด์ผ ํ๋ค.
# ๊ธฐ์กด ์ธ์ฆ์๋ฅผ 365์ผ ์ ํจ๊ธฐ๊ฐ์ผ๋ก ์ฌ์์ฑ (๋ฎ์ด์ฐ๊ธฐ)
openssl req -x509 -newkey rsa:4096 -keyout myprivate.key -out kodekloud.crt -noenc -days 365
# ์ ํจ๊ธฐ๊ฐ ํ์ธ
openssl x509 -in kodekloud.crt -text -noout | grep "Not After"