이야기박스

netty-grpc ssl 통신 인증 문제 본문

Computer & Data/Network

netty-grpc ssl 통신 인증 문제

박스님 2018. 9. 7. 15:06
반응형

배경

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으로 요청을 해야한다.

결론

해당 CN을 가진 VIP를 구성하고, 해당 방화벽을 오픈해줘야 ssl통신이 가능할 것으로 보인다.


반응형