SSL 요약
- key gen을 이용해서 인증서를 만듬
- private / public key 생성
- ca에 public key를 가져감
- ca는 인증서 생성해줌 (인증서명 요청)
4-1. 도메인, 가져간 public key 를 ca private key로 암호화
- 나는 다운받은 인증서를 서버에 올림
- 서버에는 ca에서 발급된 인증서 , server private key
- 클라이언트는 인증서를 받음
- ca 공개키로 인증서를 해제함
- server public key 와 어떤 대칭키를 만듬 (브라우저가 하나?)
- 브라우저가 만든(?) 대칭키를 서버 퍼블릭키로 암호화함
- 암호화된 대칭키를 서버로 전달
- 서버의 프라이빗키로 암호화된 대칭키로 복호화
- 양쪽 모두 대칭키를 소유
사실 더 복잡함
handshake 1, 2단계에서 더 복잡한 대칭키 만드는 작업을 거친다. done 단계에서는 더 많은 작업이 이루어짐
carcerts jdk
- 사내 프록시 환경에서는 java 어플리케이션이 오류가 나는 경우가 있음 pkix 라는
- 사내 브라우저에서 웹사이트에 접속 후 인증서를 보면 사내 root인증서로 표시되는데 (아마존에서 발급받은 인증서라도)
- jdk는 사내 인증서를 가지고 있지 않음
- 때문에 java 어플리케이션에서 외부 사이트와 통신을 맺으려고한다면 신뢰할 수 없다는 오류가 발생함
- 8번에서 문제 (ssl 요약)
- 해제하고 싶지만 cacerts에는 ca의 공개키가 없으므로 (사내 인증서)