JCE : Java Glossary
home J words local find no local find frame, full screen Google search web for topic jump to footer translate with Babelfish 2008-01-30 by Roedy Green ©1996-2008 Canadian Mind Products
Go to : punctuation 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (all)
JCE
Java Cryptographic Extension API spec from SUN. The implementation for USA is from SUN. The JCE comes bundled with JDK 1.4+.
Sun’s JDK Technote Guide on JCE : available:
Protocols Supported Where to Find the Classes
Implementations Links
Discovering Installed Providers

Protocols Supported

The default SUN JCE supports among other things:
  1. AES
  2. Blowfish
  3. CBC
  4. DES
  5. DES3
  6. DESede
  7. Diffie-Hellman(DH)
  8. DSA
  9. ECB
  10. IDEA
  11. MD5
  12. RC2
  13. RC4
  14. RC5
  15. RSA (signature and encryption)
  16. SHA-0: 160 bit, obsolute
  17. SHA-1: 160 bit
  18. SHA-256
  19. SHA-384
  20. SHA-512
  21. SSL
  22. TLS
  23. Twofish
Note that PGP is not on the list.

Implementations

JCE is designed as a plug-in to be replaced by a third party provider with additional protocols. For example, BouncyCastle.org add PGP support.

Americans have a silly law that code written in the USA that does strong encryption cannot be exported outside the USA and Canada, even though the algorithms are published. This has had the effect of stimulating European and Australians to provide such software which is immune to the restriction, taking business away from American companies. In particular, BouncyCastle.org is located in Australia. You can use Sun’s weak or strong JCE, but if you use the strong JCE, you can’t export your product. The solution is to plug-replace Sun’s JCE with one written outside the USA.

The ABA (Australian Business Access) provided a clean room implementation of JCE 1.2, including a cryptographic service provider, for international use. ABA seems to have disappeared.

BouncyCastle, another Australian group, has a free cleanroom implementation of JCE 1.2.1.

An Austrian university foundation with the unlikely name of SIC IAIK TUG (which stands for Stiftung Secure Information and Communication Technologies Institute for Applied Information Processing and Communications) has produced a large commercial JCE implementation that includes SSL and AES.

Discovering Installed Providers

Here is how to discover which providers are installed and what services they offer.
Here in the output of that program when run on Java 1.6 JCE on Windows:

Where to Find the Classes

You don't usually use the vendor classes directly. You get at them using standard interfaces and String specifiers much the way you get at JDBC drivers. Howvever, the class files live in J:\Program Files\java\jdk1.6.0_06\jre\lib\jce.jar. You could put the jar on your IDE's library path to use the classes directly.

CMP_homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[65.110.21.43]
Your face IP:[38.103.63.18] The information on this page is for non-military use only.
You are visitor number 11,798. Military use includes use by defence contractors.
You can get a fresh copy of this page from: or possibly from your local J: drive (Java virtual drive/Mindprod website mirror)
http://mindprod.com/jgloss/jce.html J:\mindprod\jgloss\jce.html