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.