Three schemes are implemented in this library: the Digital Signature Scheme (DSS), RSA-PSS, and RSA-PKCS1 version 1.5.
The following diagram shows the important classes participating in this package:
The next diagram shows the sequences involved in using keypairs to sign and verify a message stream.
The following example shows the code involved in the above sequence diagram
ISignature dss = SignatureFactory.getInstance("DSS"); Map attrib = new HashMap(); attrib.put(ISignature.SIGNER_KEY, privateDsaKey); dss.setupSign(attrib); dss.update(message, 0, message.length); Object sig = dss.sign(); ISignatureCodec codec = new DSSSignatureRawCodec(); byte[] encoded = codec.encodeSignature(sig); Object sig2 = codec.decodeSignature(encoded); attrib.clear(); attrib.put(ISignature.VERIFIER_KEY, publicDsaKey); dss.setupVerify(attrib); dss.update(message, 0, message.length); boolean valid = dss.verify(sig);