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
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.
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
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
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.
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
Put Jad on your system path. Install JadClipse plugin for Eclipse. Use the force, read the decompiled source. :-)