1 An open source library and command-line tools, licensed under the BSD
2 licence, written in C, using the OpenSSL library and providing
3 approximately the functionality specified below.
5 The libraries and tools will compile and run on the following
9 Linux (Debian and Red Hat)
12 but will be written such that porting to other operating systems
13 supported by OpenSSL will be possible.
15 As is usual with software, there will be no guarantee of 100% correct
16 functionality, but the software will be written to professional
17 standards. This specification does not constitute a commitment to
18 fixing bugs or adding enhancements once the initial version is
21 The library will comply with the IETF specification currently known as
35 * Find key in loaded keyring (by key ID, by UID)
45 * Delete key from keyring
51 * Revoke certification
55 * Verify, using any key in the keyring
57 * Verify, using specified key
59 * Encrypt, using a key
61 * Decrypt, using a key
63 * Import any object to GPG/PGP (key, keyring)
67 * (?)Query keyservers for keys
69 * (?)Export keys to keyservers
71 Keyserver stuff will be done if time/budget permits, otherwise will be
72 a to-do item, since we can always use GPG externally to do it.
74 Also, "save/load/find/add/import/export keyring" will be pluggable, so
75 we can use databases instead of flat files and in-memory keyrings.
77 We will support verification of signatures using v3 keys, and
78 decryption of messages encrypted to v3 keys, but not signing or
110 * Revoke certification
120 Note that at least the first phase is not aiming at super-smooth
121 command-line utilities - these will be good enough for testing, rather
122 than for general use.