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