Можем ли мы предоставить SSL-сертификат как часть кода или pom. xml, чтобы избежать «При построении пути PKIX не удалось найти действительный путь сертификации для запрошенной цели» - PullRequest
0 голосов
/ 16 апреля 2020

Для проекта Selen- java maven у нас есть задание Jenkins, созданное для запуска тестовых случаев на модуле-концентраторе селена, размещенном на машинах Amazon EC2

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)
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:328)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:322)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1614)
    at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052)
    at sun.security.ssl.Handshaker.process_record(Handshaker.java:987)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
    at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:318)
    at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:282)
    at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:167)

Мы обнаружили, что на машине Jenkins нет Сертификат SSL в нем для доступа к модулю, работающему на машине EC2.

И мы не можем предоставить сертификат SSL в коробке Jenkins .

Это их способ предоставить сертификат как часть пом. xml? и преодолеть этот javax. net .ssl.SSLHandshakeException.

Я попытался импортировать сертификат с помощью keytool-maven-plugin, но он не работал

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>keytool-maven-plugin</artifactId>
                <version>1.5</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>importCertificate</goal>
                        </goals>
                        <phase>package</phase>
                    </execution>
                </executions>
                <configuration>
                    <keystore>${project.build.directory}/certs/MyCert.jks</keystore>
                    <storepass>storepass</storepass>
                    <alias>alias</alias>
                    <file>ca.pem</file>
                    <noprompt>true</noprompt>
                </configuration>
            </plugin>

Пожалуйста, дайте мне знать, есть ли способ передать сертификат как часть сборки?

...