The JDK comes with a package written by Sun, however you can get other
packages from independant vendors. To install a new package,
create a classes directory in the JDK installation directory, and install
the provider classes (the .class files) in that directory. For example, if the
JDK is installed in a directory called jdk1.1.1, and the classes
implementing the provider are in the COM.acme.provider package,
install the classes in the directory
jdk1.1.1/classes/COM/acme/provider.
Alternatively, a zip or JAR (Java ARchive) file containing the classes can
be located anywhere on your CLASSPATH.
Signature dsa = Signature.getInstance("SHA/DSA", "PROVIDER_2");