LoginSignup
2
3

More than 5 years have passed since last update.

Jenkins + JDK1.8で"Signature verification failed in update site 'default'"の対処

Posted at

Jenkinsサーバを久しぶりに構築した時に発生したトラブルと対処について。

発生した事象

  • 「プラグインマネージャー」のページで、「利用可能」欄に何も表示されない。
  • データ更新ボタンを押すと、Signature verification failed in update site 'default' というメッセージ。
  • アップデートサイト http://updates.jenkins-ci.org/update-center.json にはもちろん繋がる。
  • ログには以下のようなメッセージ。
SEVERE: ERROR: Signature verification failed in update site &#039;default&#039; <a href='#' class='showDetails'>(show details)</a><pre style='display:none'>java.security.cert.CertPathValidatorException: Algorithm constraints check failed: MD5withRSA<br>   at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.j(略)

結論から言うと、JDKの影響でした。
久しぶりにインストールしたので、Jenkinsのバージョンが悪いのか、それとも設定が悪いのかで試行錯誤したのですが、まさかJDKの影響だとは…。

環境

  • CentOS 6.6
  • Jenkins 1.645
  • OpenJDK 1.8.0_71

対処

以下のいずれか1つを行えば良さそうです。

JDKのデフォルトシステムプロパティの変更

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.el6_7.x86_64/jre/lib/security/java.security
# 変更前
# jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

# 変更後
jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

「参考」のURLでは別の対処になっていますが、試した環境ではこちらの対処にしないと解消しませんでした。

Jenkinsの起動オプションのシステムプロパティを変更

# 変更前
# JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"

# 変更後
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DownloadService.noSignatureCheck=true"

JDKのバージョンを落とす

JDK1.8.0-71だとダメですが、1.8.0-60ではOKでした。

参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3