On discussing with Ade and Endi on IRC on the documentation for using the Java KeyClient, there were some comments that required refactoring the code a bit. Please review the patch which addresses the following comments: (for both code and documentation) Documentation link: http://pki.fedoraproject.org/wiki/Using_Java_Key_Client. 1. NSS setup - copy the p12 file to pki-user's $HOME and set the ownership to the user. -- Doc 2. Provide auxiliary methods archiveSymmetricKey and archivePassphrase -- Code 3. Remove try-catch blocks from code samples -- Doc 4. Replace "client server" with "application" -- Doc 5. The reference to DRMTest.java should point to the source in git repo. -- Doc 6. Improve description for Client Key Id -- Doc 7. Use a convenience method getKeyId() for KeyRequestResponse -- Doc and Code 8. Rename method archiveWrappedData to archiveEncryptedData -- Code. 9. Rename getWrappedData methods to getEncryptedData -- Code 10. Rename KeyClient.archiveOptionsData to archivePKIOptions -- Code 11. Replace "using" with "with" for all unwrap* and wrap* methods in CryptoProvider. -- Code 12. All base64 encode/decode should happen inside the client libraries. The user should not perform these operations. Add a new Key class which contains all the information in KeyData class but the base64 encoded attributes will already be decoded. All the retrieveKey* methods should return this object. -- Code 13. Rename archiving and retrieving data variables name to "secret" in cde snippets. -- Docs --Abhishek.