Compatibility changes

Incompatible changes between Cryptix V2.2 and V3.0

This documentation is not completed - it should go into more detail about each of the following:

Java 1.0.x and Java 1.1.x compatibility

This version of the Cryptix library will compile only under Java 1.1, although almost all features will work correctly when the code is run in a Java 1.0 VM. However, please note that there are a few exceptions:

CompressedData

The new CompressedData class (cryptix.pgp.CompressedData) relies on the new Java 1.1 compression classes in order to carry out the job of compression and decompression. Unfortunately, these classes are unavailable under Java 1.0.

This means that Java 1.0 users will still not be able to deal with PGP's compressed data (and in fact, will never be able to deal with compression).

If you are a Java 1.0 user, then, regrettably, you will not be able either to compress or to decompress anything. (One good reason for upgrading as soon as you can, perhaps?)

ElGamal and RSA algorithms for JCE

The packages cryptix.security.elgamal and cryptix.security.rsa contain some code that relies on the class java.math.BigInteger. This is only available in Java 1.1, so if you try to use ElGamal or the JCE version of RSA from Java 1.0, a NoClassDefFoundError will be thrown.

cryptix.security.rsa actually includes two separate RSA implementations, one of which uses cryptix.math.BigInteger, and will work under Java 1.0. However, this older implementation is deprecated.

SecureRandom class

The java.security.SecureRandom class is not supported under Java 1.0. Any code that uses it, directly or indirectly, will throw a NoClassDefFoundError. This includes JCE KeyGenerators and KeyPairGenerators (it is still possible to create Key objects in Java 1.0 by using cryptix.security.keys.RawSecretKey).


Cryptix Copyright © 1997 Systemics Ltd
on behalf of the Cryptix Development Team.
All rights reserved.
Cryptix is a trademark of Systemics Ltd.