dukDukz
Open SSL 을 이용한 인증서 발행 / 검증 본문
Openssl 인증서를 통한 유효성 인증
- 비밀키를 기반으로 인증서 생성
- Client 에게 인증서 전송
- Client가 서버에 접속할 인증서 or 인증서의 hash를 제시
- 서버는 해당 인증서 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
2. open ssl로 인증서 (.scr) 생성
https://recordsoflife.tistory.com/928
3. csr 인증서 - 비밀키와 매칭
https://lindevs.com/check-if-private-key-matches-ssl-certificate-using-openssl
https://www.shellhacks.com/openssl-check-private-key-matches-ssl-certificate-csr/
4. 자주 사용되는 open ssl commands
'웹 개발' 카테고리의 다른 글
쿠키, 로컬스토리지, 세션스토리지 - 브라우저 간 공유 여부 (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 |