Function: mml-secure-epg-encrypt
mml-secure-epg-encrypt is a byte-compiled function defined in
mml-sec.el.gz.
Signature
(mml-secure-epg-encrypt PROTOCOL CONT &optional SIGN)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/mml-sec.el.gz
(defun mml-secure-epg-encrypt (protocol _cont &optional sign)
;; Based on code appearing inside mml2015-epg-encrypt.
(let* ((context (epg-make-context protocol))
(config (epg-find-configuration 'OpenPGP))
(sender (message-options-get 'message-sender))
(recipients (mml-secure-recipients protocol context config sender))
(signer-names (mml-secure-signer-names protocol sender))
cipher signers)
(when sign
(setq signers (mml-secure-signers context signer-names))
(setf (epg-context-signers context) signers)
(when (and (eq 'OpenPGP protocol) mml-secure-openpgp-sign-with-sender)
(setf (epg-context-sender context) sender)))
(when (eq 'OpenPGP protocol)
(setf (epg-context-armor context) t)
(setf (epg-context-textmode context) t))
(when (mml-secure-cache-passphrase-p protocol)
(epg-context-set-passphrase-callback
context
(cons 'mml-secure-passphrase-callback protocol)))
(condition-case error
(setq cipher
(if (eq 'OpenPGP protocol)
(epg-encrypt-string context (buffer-string) recipients sign
mml-secure-openpgp-always-trust)
(epg-encrypt-string context (buffer-string) recipients))
mml-secure-secret-key-id-list nil)
(error
(mml-secure-clear-secret-key-id-list)
(signal (car error) (cdr error))))
cipher))