This section specifies the protocol used between clients and a User Interface Server (UI server). This protocol helps to build a system where all cryptographic operations are done by a server and the server is responsible for all dialogs. Although GPGME has no direct support for this protocol it is believed that servers will utilize the GPGME library; thus having the specification included in this manual is an appropriate choice. This protocol should be referenced as ‘The GnuPG UI Server Protocol’.
A server needs to implement these commands:4
• UI Server Encrypt: | Encrypt a message. | |
• UI Server Sign: | Sign a message. | |
• UI Server Decrypt: | Decrypt a message. | |
• UI Server Verify: | Verify a message. | |
• UI Server Set Input Files: | Specifying the input files to operate on. | |
• UI Server Sign/Encrypt Files: | Encrypting and signing files. | |
• UI Server Verify/Decrypt Files: | Decrypting and verifying files. | |
• UI Server Import/Export Keys: | Managing certificates. | |
• UI Server Checksum Files: | Create and verify checksums for files. | |
• Miscellaneous UI Server Commands: | Commands not related to a specific operation. |
In all examples we assume that the connection has already been established; see the Assuan manual for details.