From 56ac43826508049d0dd4784d871a42f1f3cda8fe Mon Sep 17 00:00:00 2001 From: curry772 Date: Wed, 8 Apr 2026 09:57:51 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=B9=84-mTLS=20https=20=EC=97=B0?= =?UTF-8?q?=EA=B2=B0=20=EC=8B=9C=20testMode=EC=97=90=EC=84=9C=20hostname?= =?UTF-8?q?=20=EA=B2=80=EC=A6=9D=20=EC=9A=B0=ED=9A=8C=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TrustAllStrategy 사용 시에도 DefaultHostnameVerifier가 적용되어 외부 testmaster 인증서 hostname mismatch 오류 발생. testMode(-Duse.test.trust=y)일 때 NoopHostnameVerifier 적용하여 해결. Co-Authored-By: Claude Sonnet 4.6 --- .../client/HttpClient5AdapterServiceSupport.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java b/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java index 98d890c..336c051 100644 --- a/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java +++ b/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java @@ -366,8 +366,20 @@ public abstract class HttpClient5AdapterServiceSupport implements HttpClientAdap } else { sslContext = SSLContextBuilder.create().loadTrustMaterial(new TrustAllStrategy()).build(); - SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext); - cmBuilder.setSSLSocketFactory(csf); + SSLConnectionSocketFactory sslSocketFactory = null; + if(testMode) { + // Hostname verifier 비활성화 (테스트용) + sslSocketFactory = new SSLConnectionSocketFactory( + sslContext + , NoopHostnameVerifier.INSTANCE + ); + } + else { + sslSocketFactory = new SSLConnectionSocketFactory( + sslContext + ); + } + cmBuilder.setSSLSocketFactory(sslSocketFactory); } } catch (KeyManagementException | NoSuchAlgorithmException | KeyStoreException