Created
October 20, 2015 12:42
-
-
Save Firefishy/b2e606c42edcc4f513ba to your computer and use it in GitHub Desktop.
Java test HTTPS request to https://helloworld.letsencrypt.org/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Based on java example: http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html | |
// save as: URLConnectionReader.java | |
// compile using JDK: javac URLConnectionReader.java | |
// run: java URLConnectionReader | |
// good path: returns HTML | |
// bad path: throws an exception | |
import java.net.*; | |
import java.io.*; | |
public class URLConnectionReader { | |
public static void main(String[] args) throws Exception { | |
URL oracle = new URL("https://helloworld.letsencrypt.org/"); | |
URLConnection yc = oracle.openConnection(); | |
BufferedReader in = new BufferedReader(new InputStreamReader( | |
yc.getInputStream())); | |
String inputLine; | |
while ((inputLine = in.readLine()) != null) | |
System.out.println(inputLine); | |
in.close(); | |
} | |
} |
Confirmed working with Oracle JDK >= 8u101 (final release)
Also Oracle JDK >= 7u111
Error still here.
$ java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
After copy /usr/local/linux-oracle-jdk1.8.0/jre/lib/security/cacerts to /usr/local/openjdk8/jre/lib/security/cacerts all work fine => OpenJDK have old cacerts without trust for letsencrypt.
java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
Error still there.
This SO-answer shows how to import the letsencrypt security chain, which "solves" the issue, even on a Raspberry Pi with jre 1.8.0_65:
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@chrisDeFouRire Letsencrypt is not in the default list of CAs in the Oracle Java JDK. Discussion here: https://community.letsencrypt.org/t/will-the-cross-root-cover-trust-by-the-default-list-in-the-jdk-jre/134