RSA Key Generation
------------------

openssl genrsa -out private.pem 1024
openssl rsa -in private.pem -out public.pem -pubout


Signing Data Fragments
----------------------

openssl rsautl -in sum -out sig -inkey private.pem -sign
or
openssl rsautl -in sum -out sig -inkey public.pem -pubin -sign


Verifying Signature
-------------------

openssl rsautl -in sig -verify -inkey public.pem -pubin
or
openssl rsautl -in sig -verify -inkey private.pem


Because signing can only be performed on small data fragments (due to using the
RSA algorithm) we would probably sign the MD5 signature of documents.


-----------------------------------

DSA Key Generation
------------------

Generate dsa param info :
(This appears to contain a private key as well....)

openssl dsaparam -genkey -rand dsaparam.pem -out dsakey 1024


Generate private/public key from dsa parameters:

openssl gendsa -out dsaprivate.pem dsaparam.pem
openssl dsa -in dsaprivate.pem -out dsapub.pem -pubout


