Реактивный веб-клиент Spring использует хранилище доверенных сертификатов IBM WAS по умолчанию вместо хранилища по умолчанию, расположенного по адресу jre \ lib \ security \ cacerts - PullRequest
0 голосов
/ 26 марта 2020

Как мне сделать, чтобы org.springframework.web.reactive.function.client.WebClient использовал доверенное хранилище IBM по умолчанию, которое обычно находится в $ {WAS_INSTALL_ROOT} / profile / default / config / cell / myhostNode01Cell / node / myhostNode01 / trust .p12

По умолчанию он просматривает C: \ Program Files \ IBM \ WebSphere \ AppServer \ java \ 8.0 \ jre \ lib \ security \ cacerts

Наша команда поддержки не хотите использовать местоположение java для хранения сертификатов, поскольку каждый раз, когда они выполняют обновление java или обслуживание WAS, им приходится переустанавливать все. Теперь они не хотят устанавливать javax. net .ssl.trustStore ни в свойствах системы, поскольку путь WAS имеет значение Dynami c и может измениться в будущем. Более того, его необходимо установить на каждом узле производства. Вот как я строю WebClient для общения с остальным API

    WebClient webClient = WebClient.builder().build();

, и ниже приведено исключение, которое я получаю, когда пытаюсь вызвать конечную точку REST с помощью веб-клиента. Как я уже говорил выше, если я импортирую сертификат в Java cacerts, он работает нормально.

Причина: java .security.cert.CertPathValidatorException: ошибка цепочки сертификатов в com.ibm.security.cert.CertPathUtil.findIssuer (CertPathUtil. java: 316) ~ [?: 8.0 build_20180821] в com.ibm.security.cert.BasicChecker. (BasicChecker. java: 108) ~ [?: 8.0 build_20180821] в com.ibm.security.cert.PKIXCertPathValidatorImpl.engineValidate (PKIXCertPathValidatorImpl. ~ 1020: * 220) ?: 8.0 build_20180821] по адресу com.ibm.security.cert.PKIXCertPathBuilderImpl.myValidator (PKIXCertPathBuilderImpl. java: 749) ~ [?: 8.0 build_20180821] по адресу com.ibm.security.cert.PBIberBerCert *: 661) ~ [?: 8.0 build_20180821] в com.ibm.security.cert.PKIXCertPathBuilderImpl.buildCertPath (PKIXCertPathBuilderImpl. java: 607) ~ [?: 8.0 build_20180821] в com.ibm.Philcer engineBuild (PKIXCertPathBuilderImpl. java: 368) ~ [?: 8.0 build_20180821] в java .security.cert.CertPathBuilder.build (CertPathBuilder. java: 268) ~ [?:?] в com.ibm.jse , util.fa (ф. java: 54) ~ [?: 8.0 build_20181010] на com.ibm.jsse2.util.fb (ф. java: 89) ~ [?: 8.0 build_20181010] на com.ibm. jsse2.util.ea (e. java: 17) ~ [?: 8.0 build_20181010] на com.ibm.jsse2.aD.a (aD. java: 90) ~ [?: 8.0 build_20181010] на ком. ibm.jsse2.aD.a (aD. java: 107) ~ [?: 8.0 build_20181010] на com.ibm.jsse2.aD.checkServerTrusted (aD. java: 102) ~ [?: 8.0 build_20181010] в com.ibm.jsse2.Ea (E. java: 322) ~ [?: 8.0 build_20181010] на com.ibm.jsse2.Ea (E. java: 401) ~ [?: 8.0 build_20181010] на ком. ibm.jsse2.Dr (D. java: 444) ~ [?: 8.0 build_20181010] на com.ibm.jsse2.D $ ba (D $ b. java: 2) ~ [?: 8.0 build_20181010] в com.ibm.jsse2.D $ b.run (D $ b. java: 3) ~ [?: 8.0 build_20181010] в java .security.AccessController.doPrivileged (AccessController. java: 739) ~ [ ?: 1.8.0] на com.ibm.jsse2.D $ c .run (D $ c. java: 12) ~ [?: 8.0 build_20181010] на io.netty.handler.ssl.SslHandler .runAllDelegatedTasks (SslHandler. java: 1494) ~ [netty-handler-4.1.45.Final.jar: 4.1.45.Final] в io.netty.handler.ssl.SslHandler.runDelegat edTasks (SslHandler. java: 1508) ~ [netty-handler-4.1.45.Final.jar: 4.1.45.Final] на io.netty.handler.ssl.SslHandler.unwrap (SslHandler. java: 1392 ) ~ [netty-handler-4.1.45.Final.jar: 4.1.45.Final] на io.netty.handler.ssl.SslHandler.decodeJdkCompatible (SslHandler. java: 1219) ~ [netty-handler-4.1. 45.Final.jar: 4.1.45.Final] на io.netty.handler.ssl.SslHandler.decode (SslHandler. java: 1266) ~ [netty-handler-4.1.45.Final.jar: 4.1.45 .Final] at io.netty.handler.code c .ByteToMessageDecoder.decodeRemovalReentryProtection (ByteToMessageDecoder. java: 498) ~ [netty-код c -4.1.45.Final.jar: 4.1.45.Final] at io.netty.handler.code c .ByteToMessageDecoder.callDecode (ByteToMessageDecoder. java: 437) ~ [netty-code c -4.1.45.Final.jar: 4.1.45.Final]

...