Where to find Java 6 JSSE/JCE Source Code?

2020-03-01 03:11发布

问题:

Where can I download the JSSE and JCE source code for the latest release of Java? The source build available at https://jdk6.dev.java.net/ does not include the javax.crypto (JCE) packages nor the com.sun.net.ssl.internal (JSSE) packages.

Not being able to debug these classes makes solving SSL issues incredibly difficult.

回答1:

there: openjdk javax.net in the security group

src/share/classes/javax/net
src/share/classes/com/sun/net/ssl
src/share/classes/sun/security/ssl
src/share/classes/sun/net/www/protocol/https

also on this page:

src/share/classes/javax/crypto
src/share/classes/com/sun/crypto/provider
src/share/classes/sun/security/pkcs11
src/share/classes/sun/security/mscapi

These directories contain the core cryptography framework and three providers (SunJCE, SunPKCS11, SunMSCAPI). SunJCE contains Java implementations of many popular algorithms, and the latter two libraries allow calls made through the standard Java cryptography APIs to be routed into their respective native libraries.



回答2:

I downloaded the src jar from: http://download.java.net/jdk6/source/

NOTE: This is a self extracting jar, so just linking to it won't work.

... and jar -xvf <filename> won't work either.

You need to: java -jar <filename>

cheers, jer



回答3:

if you just want read the source code:

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/security/ssl/SSLSocketImpl.java



回答4:

Put Jad on your system path. Install JadClipse plugin for Eclipse. Use the force, read the decompiled source. :-)



回答5:

While this doesn't directly answer your question, using the javax.net.debug system property has helped me sort through SSL issues. -Djavax.net.debug=all pretty much gives you everything in gory detail. Documentation on this is at JSSE Debugging Utilities.

One note: I've seen that on Java 1.4 and maybe 1.5 levels, the output with option "all" is not as complete as it is using the same option on the Java 1.6 level. E.g., 1.6 shows the actual contents of network (socket) reads and writes. Maybe some levels of 1.4 and 1.5 do as well, but 1.6 was more consistent.



回答6:

For some unknown reason Orcale doesn't released source.jar and javadocs jar for JSE. I found only one place where you can find them http://jdk7src.sourceforge.net/ but it's outdated and unofficial. The only one way is to clone OpenJDK repository



标签: java jce jsse