tree f5ae931052c7657dc7b511d90189f0b4285398e3
parent c25dbf88fc21c707b72502c43695c2c31ff22a23
author Chung-yih Wang <cywang@google.com> 1246216376 +0800
committer Chung-yih Wang <cywang@google.com> 1246514900 +0800

Implement the generic mini-keystore for security.

1. We will progressively migrate to this implementation.
2. For richc to have a quick review on the keymgmt part.
3. Add remove_key and make sure all functions are working.
4. Add permission check for get operation.
5. Return the retry count if unlock failed.
6. Add the reset operation for keystore reset.
7. Add the putfile shell command for putting the key value from file.
8. Fix the boundary issue during parsing command.
9. Use the ' ' as delimiter and reset the reply structure for each request.
10. Add change password retry count check.
11. Extract the read_marshal/write_marshal for certtool.h.
12. Remove the old implementation.
