ошибка сертификата артефакта при загрузке из jcenter - PullRequest
0 голосов
/ 22 мая 2018

Мы используем артефакты oss, и через несколько дней у нас возникли проблемы с загрузкой jar-файлов из репозитория jcenter.Это не для всех загрузок и не понятно почему.При загрузке мы получаем следующую ошибку:

Failed retrieving resource from http://jcenter.bintray.com/commons-lang/commons-lang/2.6/commons-lang-2.6.jar: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Странно то, что мы пытаемся загружать данные с http-источника, а не с https, как и следовало ожидать при действительной сертификации.

При поискев журналах мы видим, что есть 2 различных метода, которые загружают один «httpRepo», который работает хорошо, и тот, который всегда терпит неудачу, является «RemoteRepoBase», но не ясно, почему иногда используется один, а иногда другой.

Это отрывок журналов рабочих и нерабочих загрузок:

2018-05-22 16:03:25,928 [https-jsse-nio-8060-exec-6] [INFO ] (o.a.r.HttpRepo      :414) - jcenter downloading http://jcenter.bintray.com/commons-lang/commons-lang/2.1/commons-lang-2.1.jar 202.85 KB
2018-05-22 16:03:25,992 [https-jsse-nio-8060-exec-6] [INFO ] (o.a.r.HttpRepo      :427) - jcenter downloaded  http://jcenter.bintray.com/commons-lang/commons-lang/2.1/commons-lang-2.1.jar 202.85 KB at 3,247.54 KB/sec
2018-05-22 16:03:52,322 [https-jsse-nio-8060-exec-12] [INFO ] (o.a.r.HttpRepo      :414) - jcenter downloading http://jcenter.bintray.com/commons-lang/commons-lang/2.5/commons-lang-2.5.jar 272.65 KB
2018-05-22 16:03:52,662 [https-jsse-nio-8060-exec-12] [INFO ] (o.a.r.HttpRepo      :427) - jcenter downloaded  http://jcenter.bintray.com/commons-lang/commons-lang/2.5/commons-lang-2.5.jar 272.65 KB at 807.36 KB/sec
2018-05-22 16:03:57,121 [art-exec-6] [INFO ] (o.a.s.a.ArchiveIndexerImpl:145) - Indexing archive: jcenter-cache:commons-lang/commons-lang/2.1/commons-lang-2.1.jar
2018-05-22 16:03:57,328 [art-exec-6] [INFO ] (o.a.s.a.ArchiveIndexerImpl:145) - Indexing archive: jcenter-cache:commons-lang/commons-lang/2.5/commons-lang-2.5.jar
2018-05-22 16:07:58,243 [https-jsse-nio-8060-exec-7] [WARN ] (o.a.r.RemoteRepoBase:433) - jcenter: Error in getting information for 'commons-lang/commons-lang/2.6/commons-lang-2.6.jar' (Failed retrieving resource from http://jcenter.bintray.com/commons-lang/commons-lang/2.6/commons-lang-2.6.jar: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target).
2018-05-22 16:08:10,319 [https-jsse-nio-8060-exec-7] [WARN ] (o.a.r.RemoteRepoBase:433) - jcenter: Error in getting information for 'commons-lang/commons-lang/2.6/commons-lang-2.6.jar' (Failed retrieving resource from http://jcenter.bintray.com/commons-lang/commons-lang/2.6/commons-lang-2.6.jar: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target).
2018-05-22 16:08:13,255 [https-jsse-nio-8060-exec-12] [WARN ] (o.a.r.RemoteRepoBase:433) - jcenter: Error in getting information for 'commons-lang/commons-lang/2.6/commons-lang-2.6.jar' (Failed retrieving resource from http://jcenter.bintray.com/commons-lang/commons-lang/2.6/commons-lang-2.6.jar: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target).
2018-05-22 16:08:13,874 [https-jsse-nio-8060-exec-7] [WARN ] (o.a.r.RemoteRepoBase:433) - jcenter: Error in getting information for 'commons-lang/commons-lang/2.6/commons-lang-2.6.jar' (Failed retrieving resource from http://jcenter.bintray.com/commons-lang/commons-lang/2.6/commons-lang-2.6.jar: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target).
2018-05-22 16:08:22,943 [https-jsse-nio-8060-exec-4] [WARN ] (o.a.r.RemoteRepoBase:433) - jcenter: Error in getting information for 'commons-lang/commons-lang/2.3/commons-lang-2.3.jar' (Failed retrieving resource from http://jcenter.bintray.com/commons-lang/commons-lang/2.3/commons-lang-2.3.jar: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target).
2018-05-22 16:08:35,290 [https-jsse-nio-8060-exec-5] [WARN ] (o.a.r.RemoteRepoBase:433) - jcenter: Error in getting information for 'commons-lang/commons-lang/2.3/commons-lang-2.3.jar' (Failed retrieving resource from http://jcenter.bintray.com/commons-lang/commons-lang/2.3/commons-lang-2.3.jar: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target).
2018-05-22 16:08:52,519 [https-jsse-nio-8060-exec-12] [WARN ] (o.a.r.RemoteRepoBase:433) - jcenter: Error in getting information for 'commons-lang/commons-lang/2.2/commons-lang-2.2.jar' (Failed retrieving resource from http://jcenter.bintray.com/commons-lang/commons-lang/2.2/commons-lang-2.2.jar: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target).

1 Ответ

0 голосов
/ 23 мая 2018

Ошибка пути сертификации, скорее всего, является результатом перенаправления на CDN Bintray по SSL независимо от того, что URL удаленного репо - http, а не https.Если вы попытались извлечь этот файл с помощью cURL, вы увидите, что он действительно перенаправляет на https://akamai.bintray.com.

Сертификат сервера выглядит нормально, то есть я лично могу извлечь файл как черезАртефактный экземпляр и использование cURL без каких-либо ошибок проверки SSL.

При этом мы обычно видим, что ошибки такого типа возникают по нескольким основным причинам:

  1. Кто-то (иногда это может быть ваш ИТ-отдел) закалибровался в 'cacerts'файл вашей установки JDK / JRE на сервере, на котором находится Artifactory.Этот файл содержит список доверенных ЦС, как это делает браузер, который сообщает вашей установке Java, каким сертификатам следует доверять при инициировании SSL-соединений.Вы можете использовать cURL или 'openssl' для проверки сертификата, представленного akamai.bintray.com или jcenter.bintray.com, когда вы пытаетесь подключиться к нему через SSL.Эти сертификаты были выпущены стандартным доверенным центром сертификации.
  2. Это менее распространено - но иногда использование поставщика JDK, который не является одним из основных (например, Oracle, openJDK и т. Д.), Влечет за собой устаревшие / нестандартные 'файл cacerts.Когда такие установки поставляются с файлом 'cacerts', который не содержит корневого сертификата стандартных доверенных ЦС, вы, скорее всего, увидите эту ошибку.
  3. Еще более надуманным, но я видел, как это происходит - ваши соединенияинициируется через корпоративный прокси, который облегчает что-то вроде «ssl-bumping» или ведет себя как MITM, который пытается подделать ваш трафик SSL, представляя поддельный сертификат, который имитирует сертификат целевого сервера, что приводит к ошибкам проверки SSL на клиенте.

Надеюсь, это поможет

...