/** * generate a signature for the message we've been loaded with using * the key we were initialised with. */ public byte[] generateSignature() { if (forSigning) { MemoryStream bOut = new MemoryStream(); DEROutputStream dOut = new DEROutputStream(bOut); ASN1EncodableVector v = new ASN1EncodableVector(); byte[] dig = new byte[digest.getDigestSize()]; digest.doFinal(dig, 0); BigInteger[] sig = dsaSigner.generateSignature(dig); v.add(new DERInteger(sig[0])); v.add(new DERInteger(sig[1])); dOut.writeObject(new DERSequence(v)); dOut.Flush(); byte[] output = bOut.ToArray(); dOut.Close(); return(output); } throw new Exception("DSADigestSigner initialised for verification.."); }