이야기박스
netty-grpc ssl 통신 인증 문제 본문
배경
netty-grpc 서버의 ssl 통신을 시도하는 도중, 에러가 발생하였다.
해당 에러 코드
Caused by: javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem
Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching localhost found.
로그 레벨을 trace로 변경 후, 찍어보니
2018-09-07 15:01:29 DEBUG: io.netty.util.internal.NativeLibraryLoader - Unable to load the library 'netty_tcnative_windows_x86_64', trying other loading mechanism.
이런식으로, 찾을 수 없다고 찍히는 로그들이 발견되었다.
하지만, 큰 이슈는 없다. 왜냐하면,
2018-09-07 17:22:31 DEBUG: io.netty.util.internal.NativeLibraryLoader - Successfully loaded the library C:\Users\oringnam\AppData\Local\Temp\netty_tcnative_windows_x86_646569102677607634819.dll
이렇게 로그 발생... 몇 번 트라이 해보며, 잘 찾아가는 것 같다.
진짜 원인이 되는 것 같은 코드
2018-09-07 17:22:33 DEBUG: io.netty.handler.ssl.ReferenceCountedOpenSslContext - verification of certificate failed
java.security.cert.CertificateException: No subject alternative DNS name matching localhost found.
왜 DNS를 못찾고 있는 것일까?
이유는 구글링하다가 찾았다.
"At run-time,
Java check host name against the names specified in a digital certificate as required for TLS and LDAP."
런타임 중에, 인증서에 등록한 이름과 호스트 이름을 비교하기 때문이다.
--> 참고 링크
인증서를 발급 받을 때 등록한 CN으로 요청을 해야한다.
결론
'Computer & Data > Network' 카테고리의 다른 글
로드밸런서 inline/dsr 모드 및 remote-addr 구하기 (0) | 2020.06.15 |
---|---|
PKCS 공개키 암호 표준 ; InvalidKeySpecException (1) | 2020.06.03 |
tcp/ip 네트워크 스택 (0) | 2018.09.06 |
SSLProtocolException: handshake alert: unrecognized_name (0) | 2018.08.22 |
서브넷 마스크(Subnetmask) (0) | 2017.11.24 |