Function: epa-sign-file
epa-sign-file is an autoloaded, interactive and byte-compiled function
defined in epa.el.gz.
Signature
(epa-sign-file FILE SIGNERS MODE)
Documentation
Sign FILE by SIGNERS keys selected.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/epa.el.gz
;;;###autoload
(defun epa-sign-file (file signers mode)
"Sign FILE by SIGNERS keys selected."
(interactive
(let ((verbose current-prefix-arg))
(list (expand-file-name (read-file-name "File: "))
(if verbose
(epa-select-keys (epg-make-context epa-protocol)
"Select keys for signing.
If no one is selected, default secret key is used. "
nil t))
(if verbose
(epa--read-signature-type)
'clear))))
(let ((signature (concat file
(if (eq epa-protocol 'OpenPGP)
(if (or epa-armor
(not (memq mode
'(nil t normal detached))))
".asc"
(if (memq mode '(t detached))
".sig"
".gpg"))
(if (memq mode '(t detached))
".p7s"
".p7m"))))
(context (epg-make-context epa-protocol)))
(setf (epg-context-armor context) epa-armor)
(setf (epg-context-textmode context) epa-textmode)
(setf (epg-context-signers context) signers)
(epg-context-set-passphrase-callback context
#'epa-passphrase-callback-function)
(epg-context-set-progress-callback context
(cons
#'epa-progress-callback-function
(format "Signing %s..."
(file-name-nondirectory file))))
(message "Signing %s..." (file-name-nondirectory file))
(condition-case error
(epg-sign-file context file signature mode)
(error
(epa-display-error context)
(signal (car error) (cdr error))))
(message "Signing %s...wrote %s" (file-name-nondirectory file)
(file-name-nondirectory signature))))