Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where to find Java 6 JSSE/JCE Source Code?

Tags:

java

jce

jsse

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.


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


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


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


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.