Mqtt 통신과 SSL 인증 작업을 하면서 javax.net.ssl.SSLHandshakeException: No subjectAltNames on the certificate match
라는 에러를 마주쳤다.
해당 에러는 인증서의 호스트 명과 접속하려는 호스트 명이 일치하지 않을 때 발생한다고 한다.
mqttv3의 1.2.1 버전 이상부터는 MqttConnectOptions().isHttpsHostnameVerificationEnabled에 false 값을 부여하면
호스트 명이 일치하는지를 무시한다.
정상적으로 인증을 처리한 것이 아닌 임시방편이기 때문에 근복적인 해결이 필요했다.
ca 파일을 열어서 인증서의 호스트 명을 확인해보니 127.0.0.1로 저장되어 있었고,
접속하려는 IP와 달라서 생기는 문제가 맞았다.
다행히 aws에서 발급된 인증서는 호스트 명이 일치했는지 해당 에러가 발생하지 않았고,
로컬 인증서는 테스트용이라 isHttpsHostnameVerificationEnabled=false를 사용하면 될 것 같다.
'작업 일지' 카테고리의 다른 글
[Android][Compose] Scaffold-topBar가 UI를 가리는 현상 (0) | 2023.05.31 |
---|---|
[Android] 리스트에서 아이템 삭제 후 페이징할 때 조심할 점 (0) | 2023.01.02 |
[Android] ExifInterface와 Matrix로 이미지 회전 시키기 (2) | 2022.11.29 |
[Android] 폴더블 기기를 접거나 폈을 때 UI 처리 (0) | 2022.11.24 |
[Android] 기기 화면을 가로, 세로로 회전 시키기 (0) | 2022.11.24 |
댓글