Next: , Previous: , Up: Main Menu   [Contents][Index]


3 Protocols and Engines

GPGME supports several cryptographic protocols, however, it does not implement them. Rather it uses backends (also called engines) which implement the protocol. GPGME uses inter-process communication to pass data back and forth between the application and the backend, but the details of the communication protocol and invocation of the backend is completely hidden by the interface. All complexity is handled by GPGME. Where an exchange of information between the application and the backend is necessary, GPGME provides the necessary callback function hooks and further interfaces.

Data type: enum gpgme_protocol_t

The gpgme_protocol_t type specifies the set of possible protocol values that are supported by GPGME. The following protocols are supported:

GPGME_PROTOCOL_OpenPGP
GPGME_PROTOCOL_OPENPGP

This specifies the OpenPGP protocol.

GPGME_PROTOCOL_CMS

This specifies the Cryptographic Message Syntax.

GPGME_PROTOCOL_GPGCONF

Under development. Please ask on gnupg-devel@gnupg.org for help.

GPGME_PROTOCOL_ASSUAN

SINCE: 1.2.0

This specifies the raw Assuan protocol.

GPGME_PROTOCOL_G13

SINCE: 1.3.0

Under development. Please ask on gnupg-devel@gnupg.org for help.

GPGME_PROTOCOL_UISERVER

Under development. Please ask on gnupg-devel@gnupg.org for help.

GPGME_PROTOCOL_SPAWN

SINCE: 1.5.0

Special protocol for use with gpgme_op_spawn.

GPGME_PROTOCOL_UNKNOWN

Reserved for future extension. You may use this to indicate that the used protocol is not known to the application. Currently, GPGME does not accept this value in any operation, though, except for gpgme_get_protocol_name.

Function: const char * gpgme_get_protocol_name (gpgme_protocol_t protocol)

The function gpgme_get_protocol_name returns a statically allocated string describing the protocol protocol, or NULL if the protocol number is not valid.


Next: Algorithms, Previous: Preparation, Up: Main Menu   [Contents][Index]