I cannot find any good (complete) documentation on how to exchange a public/private key signed message in Java. I have yet to find a concise document on the minimum steps needed to generate a public key and private key using DSA, sign a byte[], and verify it. The documentation from Oracle is too broken up and requires running across multiple