Sommario

Introduzione

Problema

Soluzione

Introduzione

In questo documento viene descritto come importare il certificato CloudCenter nel keystore Java Jenkins.

Contributo di Deepak Sukhiya, Cisco TAC Engineer.

Versione applicazione

CloudCenter Manager

4.0 / 4.2.x /4.4.x /4.5.x / 4.6.x/ 4.7.x / 4.8.0

Problema

Come importare il certificato CloudCenter nel keystore Java Jenkins

o

Convalida connessione dal menu Progetto > Configura non riuscita con questo errore nel log Jenkins:

Building in workspace /var/lib/jenkins/workspace/C3-Cent7

ERROR: Build step failed with exception

javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

at org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:229)

at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:224)

at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:656)

at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:653)

at org.glassfish.jersey.internal.Errors.process(Errors.java:315)

at org.glassfish.jersey.internal.Errors.process(Errors.java:297)

at org.glassfish.jersey.internal.Errors.process(Errors.java:228)

at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:424)

at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:653)

at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:388)

at org.glassfish.jersey.client.JerseyInvocation$Builder.get(JerseyInvocation.java:292)

at cliqr.jenkins.plugin.CliQrJenkinsClient.RestUtils.getAppDetails(RestUtils.java:156)

at cliqr.jenkins.plugin.CliQrJenkinsClient.CliQrJenkinsClientBuilder.perform(CliQrJenkinsClientBuilder.java:243)

at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)

at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)

at hudson.model.Build$BuildExecution.build(Build.java:205)

at hudson.model.Build$BuildExecution.doRun(Build.java:162)

at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)

at hudson.model.Run.execute(Run.java:1728)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)

at hudson.model.ResourceController.execute(ResourceController.java:98)

at hudson.model.Executor.run(Executor.java:404)

Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)

Soluzione

1. Accedere al computer CloudCenter Manager (CCM) tramite Firefox.

2. Visualizzare il certificato CloudCenter utilizzando l'icona a forma di lucchetto sul browser e salvarlo.

3. Copiare il salvataggio del certificato sul computer Jenkins.

4. Accedere al computer Jenkins tramite SSH (Secure Shell).

5. Eseguire questo comando sul computer Jenkins:
keytool -import -trustcacerts -alias esempio -keystore <Sostituire il percorso del percorso java>/jre/lib/security/cacerts -file <percorso del file del certificato salvato>.

6. L'autenticazione di CloudCenter verrà convalidata correttamente.