본문 바로가기
  • Java - developer
  • code start
  • code
ssl

SSL 인증서 정리(jks,pem,crt) https

by Rhi_co 2024. 11. 21.

SSL 인증서 란

SSL 인증서는 웹사이트와 사용자의 브라우저 간의 안전한 통신을 보장하기 위해 사용되는 디지털 인증서입니다. SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 통해 데이터가 암호화되어 전송되며, 이를 통해 중간에서 데이터가 도청되거나 변조되는 것을 방지합니다.

 

SSL 인증서 종류(주로 사용하는것만)

  1. 인증서 및 인증키 타입
    1. certificate.crt
    2. private.key
  2. jks 타입
    1. .jks
    2. jks 를 적용할 패스워드가 필요
  3. pk12 타입
    1. .p12

 

OpenSSL 이란

OpenSSL은 암호화 및 보안 통신을 위한 오픈 소스 소프트웨어 라이브러리입니다.

주로 SSL(Secure Sockets Layer) 및 TLS(Transport Layer Security) 프로토콜을 구현하는 데 사용됩니다.

OpenSSL은 상황에 따라서 필요한 타입의 ssl 키로 변환이 가능합니다.

 

OpenSSL 설치 방법

아래 링크를 통해서 브라우저에 맞추어서 설치를 해주면 됩니다.

Light  버전을 사용해도 키 변환은 잘되는 것을 확인 하였습니다.

https://slproweb.com/products/Win32OpenSSL.html

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space October 22, 2024 - OpenSSL 3.4 is available. Users should currently

slproweb.com

 

OpenSSL 설치 상세한 과정은 아래 링크를 참고하여, 설치를 해주면 됩니다.

(아래를 참고하여, 설치를 해주었습니다.)

https://warmdeveloper.tistory.com/64

 

[Windows] 윈도우 10 OpenSSL 설치하는 방법

[Windows] 윈도우 10 OpenSSL 설치하는 방법 1. OpenSSL 다운로드하기 아래의 링크로 들어가서 최신 버전의 OpenSSL을 다운로드 받는다. EXE를 눌러 다운로드 받으면 된다. http://slproweb.com/products/Win32OpenSSL.htm

warmdeveloper.tistory.com

 

 

설치를 완료하면 아래와 같이 검색하여 prompt 를 접속해주면 됩니다.

openssl prompt 열기

 

아래와 같은 prompt 창이 뜨면 변환하고자 하는 파일이 있는 폴더로 이동하여, 변환 작업을 해주면 됩니다.

openssl prompt 창 화면

 

 

인증서 및 인증서 키(nginx)를 jks(tomcat) 변환

p12 생성

openssl pkcs12 -export -out keystore.p12 -inkey private.key -in certificate.crt -certfile ca_bundle.crt

 

jks 생성

keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore keystore.jks -deststoretype jks -deststorepass [패스워드입력] -destalias [별칭입력]

💡 JKS 로 변환시 주의 사항
jks로 변환하기 위해서는 jdk17버전이 설치 되어 있어야 합니다.

jdk 17 에서만 pk12 을 jks 로 변환이 가능

jdk8: C:\Program Files\Java\jdk1.8.0_202
jdk17:  C:\Program Files\Java\jdk-17

 

 

jks(tomcat) 를 인증키과 인증서(nginx)로 변환

JKS 를 PKCS#12 로 변환

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -deststoretype PKCS12

 

PKCS#12 로 부터 개인키 추출

openssl pkcs12 -in keystore.p12 -nokeys -out cert.pem

 

 

.p12 별칭 보는법

keytool -list -v -keystore keystore.p12 -storetype PKCS12 -storepass [설정한 패스워드입력]

 

 

참고

https://takudaddy.tistory.com/507

 

OpenSSL 윈도우 설치 및 사용법

[목차] 1. OpenSSL 2. 설치방법 3. 사용법 [OpenSSL] 전자금융기반시설 취약점 분석평가 보안권고문 항목 중에 취약한 HTTPS 시리즈가 있다. 진단 작업을 수행하는 대상이 외부에서도 접근이 가능한 경우

takudaddy.tistory.com

https://feccle.tistory.com/142

 

OPENSSL 에 대해 알아보도록 하겠습니다.

Ⅰ. OPENSSL 이란 ? OpenSSL은 암호화와 보안 프로토콜을 구현하는 오픈 소스 라이브러리입니다. 주로 SSL/TLS 프로토콜을 지원하여 안전한 데이터 통신을 제공합니다. 이 라이브러리는 다양한 암호화

feccle.tistory.com

 

'ssl' 카테고리의 다른 글

tomcat https 적용 및 SSL 인증서  (0) 2024.11.20

댓글