Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / crypto / external / bsd / netpgp / dist / doc / spec.txt
blob1882fd9c00f32d246ca8630ddd6ee799790c7b7e
1 Nominet's requirements
2 ----------------------
4 We currently use the PGP APIs to do the following:
5 - Load a key ring into memory.
6 - Find a key in a key ring and store a reference to it.
7 - Use a secure key to sign a message in clear text ascii armour
8   (equiv.  of pgp -sta)
9 - Check the signature on a clear text signed message, giving back
10   the contents, the key that signed it and the time at which it was
11   signed. If the check fails, we need to know the reason why e.g. Was
12   the signature corrupt, did it match the text, was the message in
13   the correct format, has the key be revoked etc.
14 - Add an ascii armoured key to a key ring held in memory.
15 - Store a key ring held in memory back to disk.
17 We may also want to use standard encryption and decryption in the future.
19 Our requirements
20 ----------------
22 - encrypting, signing, decrypting, verifying documents.
23 - creating keys
24 - issuing key certifications and revocations
25   - key signing
26   - user id: add, remove, revoke
27 - keyring handling (on disk storage)
28 - keyserver querying fu
29 - trust handling (a la gpg)
30 - export of <everything>
31 - import of <everything>
33 Specific non-requirements
34 -------------------------
36 X We will not use GPG slave processes to do keyserver queries - nor
37   any other slave process, this will be done entirely in-process.