We can enhance an already rich set of functions in the current Java language with third-party libraries, also called providers. Providers add additional security algorithms.
As an example of a library, we'll be working with the Bouncy Castle provider (see Resources). The Bouncy Castle library provides other cryptographic algorithms, including the popular RSA algorithm discussed in What is public key cryptography? and What are digital signatures? of this tutorial.
While your directory names and java.security files might be a bit different, here is the template for installing the Bouncy Castle provider. To install this library, download the bcprov-jdk14-112.jar file and place it in the j2sdk1.4.0\jre\lib\ext and the Program Files\Java\J2re1.4.0\lib\ext directories. In both java.security files, which are in the same directories as above but use "security" instead of "ext", add the following line:
security.provider.6=org.bouncycastle.jce.provider.BouncyCastleProvider
to the end of this group of lines:
security.provider.1=sun.security.provider.Sun
security.provider.2=com.sun.net.ssl.internal.ssl.Provider
security.provider.3=com.sun.rsajca.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=org.bouncycastle.jce.provider.BouncyCastleProvider