Next: Getting output, Previous: Initializing, Up: Architecture

### 4.2 Back end methods

In each back end, these methods must be present. The output of these methods is stored in special buffers (Getting output), so that these methods must tell the status of the execution.

— Method: pgg-scheme-lookup-key scheme string &optional type

> Return keys associated with string. If the optional third argument type is non-`nil`, it searches from the secret keyrings.

— Method: pgg-scheme-encrypt-region scheme start end recipients &optional sign passphrase

> Encrypt the current region between start and end for recipients. If sign is non-`nil`, do a combined sign and encrypt. If encryption is successful, it returns `t`, otherwise `nil`.

— Method: pgg-scheme-encrypt-symmetric-region scheme start end &optional passphrase

> Encrypt the current region between start and end using a symmetric cipher and a passphrases. If encryption is successful, it returns `t`, otherwise `nil`. This function is currently only implemented for GnuPG.

— Method: pgg-scheme-decrypt-region scheme start end &optional passphrase

> Decrypt the current region between start and end. If decryption is successful, it returns `t`, otherwise `nil`.

— Method: pgg-scheme-sign-region scheme start end &optional cleartext passphrase

> Make the signature from text between start and end. If the optional third argument cleartext is non-`nil`, it does not create a detached signature. If signing is successful, it returns `t`, otherwise `nil`.

— Method: pgg-scheme-verify-region scheme start end &optional signature

> Verify the current region between start and end. If the optional third argument signature is non-`nil`, it is treated as the detached signature of the current region. If the signature is successfully verified, it returns `t`, otherwise `nil`.

— Method: pgg-scheme-insert-key scheme

> Retrieve the user's public key and insert it as ASCII-armored format. On success, it returns `t`, otherwise `nil`.

— Method: pgg-scheme-snarf-keys-region scheme start end

> Collect public keys in the current region between start and end, and add them into the user's keyring. On success, it returns `t`, otherwise `nil`.