Reputation: 3538
I just installed Ubuntu 15.10 and their openjdk-8-jdk (by apt-get).
Now I am missing the cacerts file.
There is a link at the usual location:
ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
lrwxrwxrwx 1 root root 27 Oct 22 01:47 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -> /etc/ssl/certs/java/cacerts
but nothing at /etc/ssl/certs/java/cacerts:
stat /etc/ssl/certs/java/cacerts
stat: cannot stat ‘/etc/ssl/certs/java/cacerts’: No such file or directory
Upvotes: 24
Views: 33050
Reputation: 4122
Just to add an error here that Gergely answer solved, if you trying to call external apis with ssl and got this error:
java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1903)
This solved
$ sudo dpkg --purge --force-depends ca-certificates-java
$ sudo apt-get install ca-certificates-java
Upvotes: 2
Reputation: 14661
This is due to a bug already reported here: Ubuntu bug ticket
The ticket above links another similar issue, which provides a workaround:
$ sudo dpkg --purge --force-depends ca-certificates-java
$ sudo apt-get install ca-certificates-java
Upvotes: 45