Мы используем Spring Integration для подключения к https / ssl внешней системе.После добавления сертификата используйте внешний хост и порт 443, и получите из порта.Сертификат существует.
Но приложение продолжает сбой
> ERROR 2886 --- [ebContainer : 1] c.i.w.w.servlet.ServletWrapper : SRVE0014E: Uncaught service() exception root cause
> dispatcherServlet:
> org.springframework.web.util.NestedServletException: Request
> processing failed; nested exception is
> org.springframework.ws.client.WebServiceIOException: I/O error:
> com.ibm.jsse2.util.h: PKIX path building failed:
> java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl
> could not build a valid CertPath.; internal cause is:
> java.security.cert.CertPathValidatorException: The certificate issued by CN=ODC somest Root CA - G1, O=ODC sonst, C=TR is
> not trusted; internal cause is:
> java.security.cert.CertPathValidatorException: Certificate chaining error; nested exception is
> javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path
> building failed: java.security.cert.CertPathBuilderException:
> PKIXCertPathBuilderImpl could not build a valid CertPath.; internal
> cause is:
> java.security.cert.CertPathValidatorException: The certificate issued by CN=ODC somest Root CA - G1, O=ODC sonst, C=PR is
> not trusted; internal cause is:
> java.security.cert.CertPathValidatorException: Certificate chaining error
Если я запускаю keytool и импортирую сертификат в cacert, приложение работает.Но это решение не принимается группой обслуживания, поскольку оно не отображается в консоли websphere.Есть ли что-то, что я могу изменить в весеннем запросе на интеграцию? Могу ли я попросить кого-нибудь помочь мне разобраться в проблеме и ее решении.
ОБНОВЛЕНИЕ
/ srv/ opt / IBM / WebSphere / AppServer / java / bin / keytool -list -v -keystore /srv/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/K1Node01Cell/nodes/K1Node01/trust.p12 -stoWebAS-тип PKCS12
показывает запись сертификата ... не уверен, как подтвердить, является ли она полной или неправильной
Вопрос:
Нужно ли извлекать из порта файл обновления cacert?cacert находится внутри безопасности websphere jre, тогда как trust.p12 находится внутри профиля /../ узлы
ОБНОВЛЕНИЕ 2 :
Я включил трассировку и вижуниже журналы.Это весна, которая пытается заглянуть в cacerts ... или это нормально, потому что это часть JRE, используемая WebSphere
> [18-2-19 13:44:59:154 ] 00000063 SystemOut O 2019-02-18
> 13:44:59.153 INFO 30426 --- [ver.startup : 0]
> pertySourcedRequestMappingHandlerMapping : Mapped URL path
> [/v2/api-docs] onto method [public
> org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json>
> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
> [18-2-19 13:44:59:826 ] 00000063 SystemOut O keyStore is:
> /srv/opt/IBM/WebSphere/AppServer/java/8.0/jre/lib/security/cacerts
> [18-2-19 13:44:59:826 ] 00000063 SystemOut O keyStore type is: jks
> [18-2-19 13:44:59:827 ] 00000063 SystemOut O keyStore provider is:
> [18-2-19 13:44:59:827 ] 00000063 SystemOut O init keystore
> [18-2-19 13:44:59:906 ] 00000063 SystemOut O SSLContextImpl:
> Using X509ExtendedKeyManager com.ibm.jsse2.ay [18-2-19 13:44:59:908 ]
> 00000063 SystemOut O trustStore is:
> /srv/opt/IBM/WebSphere/AppServer/java/8.0/jre/lib/security/cacerts