dukDukz

Open SSL 을 이용한 인증서 발행 / 검증 본문

웹 개발

Open SSL 을 이용한 인증서 발행 / 검증

헤일리_HJ 2023. 1. 5. 14:46

Openssl 인증서를 통한 유효성 인증

  1. 비밀키를 기반으로 인증서 생성
  2. Client 에게 인증서 전송
  3. Client가 서버에 접속할 인증서 or 인증서의 hash를 제시
  4. 서버는 해당 인증서 or 인증서의 hash가 서버의 비밀키로부터 발행 된 것이 맞는지 확인

 

Openssl 기반 비대칭 키 생성하기 (비밀키만 생성해도 OK)

1. 비밀키 생성

  $ openssl genrsa -des3 -out 비밀키이름.pem 1024

 

2. 비밀키를 기반으로 공개키 생성

$ openssl rsa -in 비밀키이름.pem -out 공개키이름.pem -pubout

 

 

3. 생성된 비밀키와 공개키 확인

 

 

 

 

Openssl 기반 비밀키 생성 후 인증서(CSR) 생성

1. 비밀키 생성

 

2. 인증서 서명 요청 생성

$ openssl req -key 비밀키이름.pem -new -out 인증서이름.csr

 

3. 자체 서명된 인증서 생성

$ openssl x509 -signkey 비밀키이름.pem -in 인증서이름.csr -req -days 365 -out 인증서이름.crt

 

4. 인증서 내용 확인

$ openssl x509 -text -noout -in 인증서이름.crt

 

 

5. 인증서 유효성 체크

인증서와 비밀키의 MD5 값이 일치하는지 체크

(동일하면 해당 SSL 인증서가 해당 비밀키가 매치됨을 의미함) 

-> 유효성 체크 X

-> 어느 비밀키 파일로 부터 발행된 인증서인지 체크하는 기능

 

1) 비밀키의 MD5 값 출력

$ openssl rsa -noout -modulus -in test.key | openssl md5

 

2) 인증서의 MD5 값 출력

$ openssl x509 -noout -modulus -in test.crt | openssl md5

 

 

 

참고자료

더보기

 1. open ssl 로 개인키 공개키 발행

https://cornswrold.tistory.com/405

 

openssl을 이용한 개인키,공개키 생성(RSA)

RHEL/CentOS Linux는 기본 패키지에 포함되어 있으므로, 별도 설치가 필요 x Windows나 기타 Unix에서는 별도의 설치가 필요함 개인키(PrivateKey) 생성 암호화하지 않은 개인키 생성 $ openssl genrsa -out private_k

cornswrold.tistory.com

 

 

2. open ssl로 인증서 (.scr) 생성

https://recordsoflife.tistory.com/928

 

OpenSSL로 자체 서명된 인증서 생성

1. 개요 OpenSSL은 사용자가 다양한 SSL 관련 작업을 수행할 수 있도록 하는 오픈 소스 명령줄 도구입니다. 이 사용방법(예제)에서는 OpenSSL을 사용하여 자체 서명된 인증서를 만드는 방법을 배웁니

recordsoflife.tistory.com

 

 

3. csr 인증서 - 비밀키와 매칭

https://www.ssl247.com/knowledge-base/detail/how-do-i-verify-that-a-private-key-matches-a-certificate-openssl-1527076112539/ka03l0000015hscaay/

 

How do I verify that a private key matches a certificate? (OpenSSL)

SSL247.com

www.ssl247.com

https://lindevs.com/check-if-private-key-matches-ssl-certificate-using-openssl

 

Check If Private Key Matches SSL Certificate using OpenSSL

lindevs.com

https://www.shellhacks.com/openssl-check-private-key-matches-ssl-certificate-csr/

 

OpenSSL: Check If Private Key Matches SSL Certificate & CSR - ShellHacks

Check whether an SSL Certificate or a CSR match a Private Key using the OpenSSL utility from the Linux command line. Compare modulus to check compatibility.

www.shellhacks.com

 

 

4. 자주 사용되는 open ssl commands

https://pleasantpasswords.com/info/pleasant-password-server/b-server-configuration/3-installing-a-3rd-party-certificate/openssl-commands

 

OpenSSL Commands - Pleasant Solutions

See why customers choose Pleasant Password Server with a KeePass client General OpenSSL Commands These commands allow you to generate CSRs, Certificates, Private Keys and do other miscellaneous tasks. Generate a new private key and Certificate Signing Requ

pleasantpasswords.com

 

 

 

'웹 개발' 카테고리의 다른 글

쿠키, 로컬스토리지, 세션스토리지 - 브라우저 간 공유 여부  (0) 2023.05.09
RSA 암호화  (0) 2023.01.03
To be.. FE developer  (0) 2022.09.29
[error] 카카오맵 API 캐시 에러  (0) 2022.08.31
21.04.16 Git / GitHub  (0) 2021.04.18