브라우저에서는 CA 인증서를 잘 가져오는데, 자바 클라이언트는 아무리 신뢰할 수 있는 CA 인증서를 걸어도 제대로 안 되길래 -Djavax.net.debug=all 걸어서 봤더니 CA 인증서가 아파치에 기본 설치된 인증서를 가져오고 있었고 와이어샤크 떠보니 TLS 1.0에 추가된 SNI 때문에 차이가 발생하는 것이더라.
아래는 크롬에서 HTTPS 접속했을 때의 ClientHello 메시지 내용이다.

server_name 확장 항목으로 krakenapps.org가 들어가는 것을 볼 수 있다. 그러나 아래는 자바 클라이언트의 ClientHello 화면.

그리고 아무리 SSL 관련된 인터페이스 명세를 뒤져봐도 서버 이름 설정할 방법이 없다. OTL.. 진작에 SSL 디버그 옵션 찾아서 걸었으면 좀 일찍 발견했을텐데 이것저것 해본다고 3시간이나 날려.. 미쳐 내가.. 우울하다 -_-




덧글