Building and Running JSS with JDK 1.1
JSS only supports JDK version 1.2 and later. If you try to build and run with JDK 1.1, you are on your own. Don't expect any help beyond what's on this page, and please don't file bugs if something doesn't work.
Future versions of JSS may not work at all with JDK 1.1. JDK 1.1 compatibility is not a design goal for JSS, and it is only by chance that it still works.
Here's what you need to do:
- If your applications are to run under JDK 1.1, you must build JSS
with JDK 1.1. Although class files are generally compatible between
different JDK versions, the Java shared libraries changed after JDK 1.1.
So, before building JSS:
setenv JAVA_HOME <your JDK 1.1 installation directory>
- JSS uses many JDK 1.2 classes. To build and run it with JDK 1.1, you'll
have to copy these classes out of a JDK 1.2 (or JRE 1.2) distribution and
include them in your classpath. You'll also have to bundle them with your
application. Make sure you do this in accordance with Sun's licensing terms.
The JDK 1.2 classes used by JSS 3.1 are:
java/security/GeneralSecurityException.class java/security/spec/AlgorithmParameterSpec.class java/security/spec/DSAParameterSpec.class java/security/spec/DSAPrivateKeySpec.class java/security/spec/DSAPublicKeySpec.class java/security/spec/EncodedKeySpec.class java/security/spec/InvalidKeySpecException.class java/security/spec/InvalidParameterSpecException.class java/security/spec/KeySpec.class java/security/spec/PKCS8EncodedKeySpec.class java/security/spec/RSAPrivateCrtKeySpec.class java/security/spec/RSAPrivateKeySpec.class java/security/spec/RSAPublicKeySpec.class java/security/spec/X509EncodedKeySpec.class java/security/cert/CRL.class java/security/cert/CRLException.class java/security/cert/Certificate.class java/security/cert/CertificateEncodingException.class java/security/cert/CertificateException.class java/security/cert/CertificateExpiredException.class java/security/cert/CertificateNotYetValidException.class java/security/cert/CertificateParsingException.class java/security/cert/CertificateFactorySpi.class java/security/cert/X509CRL.class java/security/cert/X509CRLEntry.class java/security/cert/X509Certificate.class java/security/cert/X509Extension.class java/security/interfaces/DSAParams.class java/security/interfaces/DSAPublicKey.class java/security/interfaces/RSAPublicKey.class java/security/InvalidAlgorithmParameterException.class java/security/AccessController.class java/security/SecureRandomSpi.class java/util/Collection.class java/util/Iterator.class java/util/Set.class java/lang/UnsupportedOperationException.class java/net/SocketPermission.class sun/misc/BASE64Decoder.class sun/misc/BASE64Encoder.class sun/misc/CharacterDecoder.class sun/misc/CharacterEncoder.class
- The build system needs to know that you're using JDK 1.1, so it knows
which shared libraries to link to libjss3.so. So before building JSS,
setenv JDK_VERSION 1.1
And that's it. It should work. If it doesn't, you've got some debugging to do. Wouldn't you really rather upgrade to a later JDK version? 1.2 came out over three years ago!