Junit тестирует ответ JMS от mockserver.Junit не может найти путь сертификата во время сборки maven, но находит его и работает без исключения при индивидуальном запуске.
связанный с сертификатом application.yml
:
bridge:
conduit:
keystore:
type: pkcs12
password: ENC(l4/yeZUp8n4v7iArP1H9OWeVHUO5JCM2)
location: src/main/resources/config/certificatessl.p12
jasypt:
encryptor:
password: G;SobWzm9Z;zWOMQuUF
junit в тестовом классеиспользует следующий mockserver:
mockServer.when(HttpRequest.request("/gateway/spec").withSecure(true).withBody(Mockito.anyString()))
.respond(HttpResponse.response(myJsonObject));
Контекст загружает mockserver:
@Bean(destroyMethod = "stop")
@Lazy
public ClientAndServer mockServer() {
ConfigurationProperties.deleteGeneratedKeyStoreOnExit(true);
ClientAndServer mockServer = ClientAndServer.startClientAndServer(7071);
HttpsURLConnection
.setDefaultSSLSocketFactory(KeyStoreFactory.keyStoreFactory().sslContext().getSocketFactory());
return mockServer;
}
application-cxfconduit.xml
:
<http:conduit name="{/b2b/Services}PreparationPort.http-conduit">
<http:tlsClientParameters disableCNCheck="true" secureSocketProtocol="TLSv1.2">
<sec:keyManagers keyPassword="#{environment['bridge.conduit.keystore.password']}">
<sec:keyStore type="${bridge.conduit.keystore.type}"
password="#{environment['bridge.conduit.keystore.password']}"
file="${bridge.conduit.keystore.location}" />
</sec:keyManagers>
</http:tlsClientParameters>
<http:client Connection="close" ConnectionTimeout="${bridge.conduit.connectionTimeout:30000}"
ReceiveTimeout="${bridge.conduit.receiveTimeout:120000}" ProxyServer="${bridge.conduit.proxy.address:}"
ProxyServerPort="${bridge.conduit.proxy.port:}" ProxyServerType="HTTP" AutoRedirect="true" AllowChunking="false" />
<http:proxyAuthorization>
<sec:UserName>"${bridge.conduit.proxy.username:}"</sec:UserName>
<sec:Password>"${bridge.conduit.proxy.password:}"</sec:Password>
</http:proxyAuthorization>
</http:conduit>
Почему он дает sun.security.validator.ValidatorException
только во времяmaven build, тогда как junit успешно работает индивидуально?
Исключение, которое выдается при сборке maven:
sun.security.validator.ValidatorException: сбой при построении пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительныйпуть сертификации к запрошенной цели
Будут благодарны за любые предложения!