Exception on download: sun.security.validator.ValidatorException: No trusted certificate found
sbt, scala, ubuntu-16.04
Solution
On Ubuntu, when you have the package `openjdk-9-jre-headless` installed, sbt can't verify its downloads because they're not signed against the OpenJDK 9 certificates. To fix this, you need to uninstall OpenJDK 9:
$ apt-get remove openjdk-9-*
Then make sure you have `openjdk-8-jre-headless` installed, and use `update-java-alternatives` to select it as the default JRE (see https://askubuntu.com/a/731862/459610 for details).
Answer found at https://medium.com/@henricook/solution-to-sun-security-validator-validatorexception-e300dd7dba70#.wn7uh2z9q
(Note: I'm not on an Ubuntu machine now, so I can't verify this, but: you may be able to get away with just setting the default Java to JDK 8.)
Problem
I'm trying to use sbt on Ubuntu 16.04, but am getting errors when trying to run it. I did a fresh install, then followed the directions exactly from the sbt site, but get the following when I do `sbt`: ``` Getting org.scala-sbt sbt 0.13.12 ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main/0.13.12/jars/main.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/0.13.12/jars/compiler-interface.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.13.12/jars/actions.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main-settings/0.13.12/jars/main-settings.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/io/0.13.12/jars/io.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/ivy/0.13.12/jars/ivy.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/command/0.13.12/jars/command.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/completion/0.13.12/jars/completion.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/api/0.13.12/jars/api.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/collections/0.13.12/jars/collections.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/incremental-compiler/0.13.12/jars/incremental-compiler.jar ... downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compile/0.13.12/jars/compile.jar ... :: problems summary :: :::: WARNINGS [FAILED ] org.scala-sbt#main;0.13.12!main.jar: sun.security.validator.ValidatorException: No trusted certificate found (1180ms) [FAILED ] org.scala-sbt#main;0.13.12!main.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/main/0.13.12/jars/main.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/main/0.13.12/main-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main/0.13.12/jars/main.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/main/0.13.12/jars/main.jar [FAILED ] org.scala-sbt#compiler-interface;0.13.12!compiler-interface.jar: sun.security.validator.ValidatorException: No trusted certificate found (577ms) [FAILED ] org.scala-sbt#compiler-interface;0.13.12!compiler-interface.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/compiler-interface/0.13.12/jars/compiler-interface.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/compiler-interface/0.13.12/compiler-interface-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/0.13.12/jars/compiler-interface.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/compiler-interface/0.13.12/jars/compiler-interface.jar [FAILED ] org.scala-sbt#actions;0.13.12!actions.jar: sun.security.validator.ValidatorException: No trusted certificate found (569ms) [FAILED ] org.scala-sbt#actions;0.13.12!actions.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/actions/0.13.12/jars/actions.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/actions/0.13.12/actions-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.13.12/jars/actions.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/actions/0.13.12/jars/actions.jar [FAILED ] org.scala-sbt#main-settings;0.13.12!main-settings.jar: sun.security.validator.ValidatorException: No trusted certificate found (666ms) [FAILED ] org.scala-sbt#main-settings;0.13.12!main-settings.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/main-settings/0.13.12/jars/main-settings.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/main-settings/0.13.12/main-settings-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main-settings/0.13.12/jars/main-settings.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/main-settings/0.13.12/jars/main-settings.jar [FAILED ] org.scala-sbt#io;0.13.12!io.jar: sun.security.validator.ValidatorException: No trusted certificate found (597ms) [FAILED ] org.scala-sbt#io;0.13.12!io.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/io/0.13.12/jars/io.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/io/0.13.12/io-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/io/0.13.12/jars/io.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/io/0.13.12/jars/io.jar [FAILED ] org.scala-sbt#ivy;0.13.12!ivy.jar: sun.security.validator.ValidatorException: No trusted certificate found (644ms) [FAILED ] org.scala-sbt#ivy;0.13.12!ivy.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/ivy/0.13.12/jars/ivy.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/ivy/0.13.12/ivy-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/ivy/0.13.12/jars/ivy.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/ivy/0.13.12/jars/ivy.jar [FAILED ] org.scala-sbt#command;0.13.12!command.jar: sun.security.validator.ValidatorException: No trusted certificate found (762ms) [FAILED ] org.scala-sbt#command;0.13.12!command.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/command/0.13.12/jars/command.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/command/0.13.12/command-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/command/0.13.12/jars/command.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/command/0.13.12/jars/command.jar [FAILED ] org.scala-sbt#completion;0.13.12!completion.jar: sun.security.validator.ValidatorException: No trusted certificate found (594ms) [FAILED ] org.scala-sbt#completion;0.13.12!completion.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/completion/0.13.12/jars/completion.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/completion/0.13.12/completion-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/completion/0.13.12/jars/completion.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/completion/0.13.12/jars/completion.jar [FAILED ] org.scala-sbt#api;0.13.12!api.jar: sun.security.validator.ValidatorException: No trusted certificate found (585ms) [FAILED ] org.scala-sbt#api;0.13.12!api.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/api/0.13.12/jars/api.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/api/0.13.12/api-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/api/0.13.12/jars/api.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/api/0.13.12/jars/api.jar [FAILED ] org.scala-sbt#collections;0.13.12!collections.jar: sun.security.validator.ValidatorException: No trusted certificate found (568ms) [FAILED ] org.scala-sbt#collections;0.13.12!collections.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/collections/0.13.12/jars/collections.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/collections/0.13.12/collections-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/collections/0.13.12/jars/collections.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/collections/0.13.12/jars/collections.jar [FAILED ] org.scala-sbt#incremental-compiler;0.13.12!incremental-compiler.jar: sun.security.validator.ValidatorException: No trusted certificate found (672ms) [FAILED ] org.scala-sbt#incremental-compiler;0.13.12!incremental-compiler.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/incremental-compiler/0.13.12/jars/incremental-compiler.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/incremental-compiler/0.13.12/incremental-compiler-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/incremental-compiler/0.13.12/jars/incremental-compiler.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/incremental-compiler/0.13.12/jars/incremental-compiler.jar [FAILED ] org.scala-sbt#compile;0.13.12!compile.jar: sun.security.validator.ValidatorException: No trusted certificate found (587ms) [FAILED ] org.scala-sbt#compile;0.13.12!compile.jar: (0ms) ==== local: tried /home/james/.ivy2/local/org.scala-sbt/compile/0.13.12/jars/compile.jar ==== Maven Central: tried https://repo1.maven.org/maven2/org/scala-sbt/compile/0.13.12/compile-0.13.12.jar ==== typesafe-ivy-releases: tried https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compile/0.13.12/jars/compile.jar ==== sbt-ivy-snapshots: tried https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/compile/0.13.12/jars/compile.jar :::::::::::::::::::::::::::::::::::::::::::::: :: FAILED DOWNLOADS :: :: ^ see resolution messages for details ^ :: :::::::::::::::::::::::::::::::::::::::::::::: :: org.scala-sbt#main;0.13.12!main.jar :: org.scala-sbt#actions;0.13.12!actions.jar :: org.scala-sbt#io;0.13.12!io.jar :: org.scala-sbt#completion;0.13.12!completion.jar :: org.scala-sbt#collections;0.13.12!collections.jar :: org.scala-sbt#api;0.13.12!api.jar :: org.scala-sbt#incremental-compiler;0.13.12!incremental-compiler.jar :: org.scala-sbt#compile;0.13.12!compile.jar :: org.scala-sbt#ivy;0.13.12!ivy.jar :: org.scala-sbt#main-settings;0.13.12!main-settings.jar :: org.scala-sbt#command;0.13.12!command.jar :: org.scala-sbt#compiler-interface;0.13.12!compiler-interface.jar :::::::::::::::::::::::::::::::::::::::::::::: :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS download failed: org.scala-sbt#main;0.13.12!main.jar download failed: org.scala-sbt#actions;0.13.12!actions.jar download failed: org.scala-sbt#io;0.13.12!io.jar download failed: org.scala-sbt#completion;0.13.12!completion.jar download failed: org.scala-sbt#collections;0.13.12!collections.jar download failed: org.scala-sbt#api;0.13.12!api.jar download failed: org.scala-sbt#incremental-compiler;0.13.12!incremental-compiler.jar download failed: org.scala-sbt#compile;0.13.12!compile.jar download failed: org.scala-sbt#ivy;0.13.12!ivy.jar download failed: org.scala-sbt#main-settings;0.13.12!main-settings.jar download failed: org.scala-sbt#command;0.13.12!command.jar download failed: org.scala-sbt#compiler-interface;0.13.12!compiler-interface.jar Error during sbt execution: Error retrieving required libraries (see /home/james/.sbt/boot/update.log for complete log) Error: Could not retrieve sbt 0.13.12 ``` I'm not sure what would be causing this. I also tried `sudo sbt`, which made no difference (in case it was a permissions error). I should note that some downloads succeed. Edit: Here's some proof I'm doing it right: