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