SSL μΈμ¦μ μμ
μ νλ€ λ³΄λ©΄ .crtμ .pemμ΄λΌλ νμ₯μλ₯Ό κ°μ§ νμΌλ€μ μμ£Ό μ νκ² λ©λλ€. μ΄ λμ μ°¨μ΄μ κ³Ό λ³νμ λν΄ μμλ³΄κ² μ΅λλ€.
-
.crt(Certificate File)-
.crtλ μ£Όλ‘ μΈμ¦μ(Certificate) μ체λ₯Ό λ΄κ³ μλ νμΌμ λνλ΄λ νμ₯μμ λλ€. -
μ΄ νμΌμ λ°μ΄λ리(DER μΈμ½λ©) νμμ΄κ±°λ, Base64λ‘ μΈμ½λ©λ ν μ€νΈ(PEM μΈμ½λ©) νμμΌ μ μμ΅λλ€.
-
μ£Όλ‘ PEM μΈμ½λ©λ νμΌμ μ¬μ©λμ§λ§, κ°νΉ DER μΈμ½λ©λ λ°μ΄λ리 μΈμ¦μ νμΌμλ μ¬μ©λ μ μμ΅λλ€.
-
λ΄μ©λ¬Όμ 곡κ°ν€, μΈμ¦μ μμ μ μ 보, λ°κΈμ μ 보, μ ν¨ κΈ°κ° λ± μΈμ¦μμ ν΅μ¬ μ 보λ₯Ό ν¬ν¨ν©λλ€.
-
-
.pem(Privacy Enhanced Mail)-
.pemμ μλ μ΄λ©μΌ 보μμ μν΄ κ°λ°λ νμμ νμΌ νμ₯μμ΄μ§λ§, νμ¬λ λ€μν μνΈν ν€, μΈμ¦μ, μΈμ¦ μμ² λ±μ μ μ₯νλ λ° λ리 μ¬μ©λ©λλ€. -
PEM νμΌμ νμ Base64λ‘ μΈμ½λ©λ ASCII ν μ€νΈ νμμ΄λ©°,
-----BEGIN CERTIFICATE-----μ-----END CERTIFICATE-----κ°μ ν€λμ νΈν° λΌμΈμΌλ‘ κ° λ°μ΄ν° λΈλ‘μ ꡬλΆν©λλ€. -
νλμ
.pemνμΌ μμλ λ¨μΌ μΈμ¦μλΏλ§ μλλΌ, κ°μΈ ν€(Private Key), κ³΅κ° ν€(Public Key), μ 체 μΈμ¦μ 체μΈ(λλ©μΈ μΈμ¦μ + μ€κ° μΈμ¦μ(λ€) + λ£¨νΈ μΈμ¦μ) λ± μ¬λ¬ κ°μ μνΈν κ°μ²΄λ₯Ό ν¨κ» ν¬ν¨ν μ μμ΅λλ€. μ΄κ²μ΄.pemνμΌμ μ€μν νΉμ§ μ€ νλμ λλ€.
-
-
μ£Όμ μ°¨μ΄μ λ° νΌμ© κ°λ₯μ±:
-
μΈμ½λ©:
.crtλ λ°μ΄λ리(DER) λλ ν μ€νΈ(PEM)μΌ μ μμ§λ§,.pemμ νμ ν μ€νΈ(PEM)μ λλ€. -
λ΄μ©λ¬Ό:
.crtλ μ£Όλ‘ λ¨μΌ μΈμ¦μλ₯Ό μλ―Ένμ§λ§,.pemμ μΈμ¦μ, κ°μΈ ν€, μ 체 μ²΄μΈ λ± λ€μν λ΄μ©μ λ΄μ μ μμ΅λλ€. -
νμ₯μ κ΄ν: μ€μ λ‘λ νμ₯μλ§μΌλ‘ νμΌ νμμ λ¨μ νκΈ° μ΄λ €μΈ λκ° λ§μ΅λλ€. μλ₯Ό λ€μ΄,
.crtνμ₯μλ₯Ό κ°μ§ νμΌμ΄ μ€μ λ‘λ PEM μΈμ½λ©λ ν μ€νΈ νμΌμΌ μ μκ³ , λ°λλ‘.pemνμΌμ΄ λ¨μΌ μΈμ¦μλ§ ν¬ν¨ν μλ μμ΅λλ€. -
Nginxμμμ μ¬μ©: Nginxμ κ°μ λ§μ μΉ μλ²λ PEM μΈμ½λ©λ μΈμ¦μ νμΌμ μ νΈν©λλ€. λ°λΌμ
.crtνμΌμ΄ λ°μ΄λ리 DER νμμ΄λΌλ©΄ PEM νμμΌλ‘ λ³νν΄μΌ ν μ μμ΅λλ€. λ§μ½.crtνμΌμ΄ μ΄λ―Έ PEM μΈμ½λ©λ ν μ€νΈ νμΌμ΄λΌλ©΄, νμ₯μλ₯Ό.pemμΌλ‘ λ³κ²½νκ±°λ κ·Έλλ‘ μ¬μ©ν΄λ 무방ν κ²½μ°κ° λ§μ΅λλ€. μ€μν κ²μ νμΌμ νμ₯μκ° μλλΌ μ€μ λ΄μ©κ³Ό μΈμ½λ© νμμ λλ€.
-
-
λ³ν (openssl μ¬μ©):
-
DER(.crt, .cer) to PEM:
openssl x509 -inform DER -in certificate.crt -out certificate.pem -
PEM to DER:
openssl x509 -inform PEM -in certificate.pem -out certificate.der -
PKCS#12(.pfx, .p12) to PEM (μΈμ¦μ + κ°μΈν€):
openssl pkcs12 -in certificate.pfx -out certificate_bundle.pem -nodes(
-nodesμ΅μ μ κ°μΈν€ μνΈνλ₯Ό μ κ±°ν©λλ€. νμμ λ°λΌ μνΈνλ μνλ‘ λ μλ μμ΅λλ€.)
-
-
κ°μΈ ν€ νμΌ(.key)μ PEM λ³ν:
κ°μΈ ν€ νμΌ μμ PEM νμμΌλ‘ μ μ₯λλ κ²½μ°κ° λ§μΌλ©°, -----BEGIN PRIVATE KEY-----μ κ°μ ν€λλ₯Ό κ°μ§λλ€.
# RSA κ°μΈν€λ₯Ό PEM νμμΌλ‘ λ³ν (μ΄λ―Έ PEM νμμ΄μ§λ§, λ΄μ©μ νμΈνκ±°λ μ¬ν¬λ§·) openssl rsa -in private.key -text -out private.key.pemμλ³Έ κΈμμλ
bundle.keyλ₯Όbundle.key.pemμΌλ‘ λ³ννλ μμκ° μμλλ°, μ΄λ.keyνμΌμ΄ μ΄λ―Έ PEM νμμ΄μ§λ§ λͺ μμ μΌλ‘.pemνμ₯μλ₯Ό μ¬μ©νκ±°λ λ΄μ©μ νμΈνκΈ° μν κ³Όμ μΌ μ μμ΅λλ€. Nginxλ PEM νμμ κ°μΈ ν€ νμΌμ μ¬μ©ν©λλ€.
κ²°λ‘ μ μΌλ‘, Nginxμ SSL μΈμ¦μλ₯Ό μ€μ ν λλ ssl_certificate μ§μμ΄μ μ¬μ©λ νμΌμ΄ PEM μΈμ½λ©λ μΈμ¦μ(λλ μΈμ¦μ 체μΈ)μ¬μΌ νκ³ , ssl_certificate_key μ§μμ΄μ μ¬μ©λ νμΌμ΄ PEM μΈμ½λ©λ κ°μΈ ν€μ¬μΌ ν©λλ€. νμ₯μκ° .crtλΌλ λ΄μ©μ΄ PEM νμμ΄λ©΄ κ·Έλλ‘ μ¬μ© κ°λ₯ν μ μμ§λ§, νΌλμ νΌνκΈ° μν΄ .pemμΌλ‘ ν΅μΌνκ±°λ, νμΌ λ΄μ©μ μ§μ νμΈνλ κ²μ΄ μ’μ΅λλ€.