I'm going to implement digital signatures for corporate use. For that, I would develop an application for signatures, generate public/private keys for all employees and store private keys in the Active Directory database.
To sign the document in the application, an employee has to authenticate via LDAP, using his login/password. The application would get his private key from Active Directory, hash the document and encrypt it with the private key.
The generated cipher would be stored in the database. Users may download the signature list for a given document, and check the signatures if required (as public keys are known).
What are the cons of this method?