You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



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:

  1. 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>
    

  2. 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
    

  3. 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!