Function: smime-encrypt-region
smime-encrypt-region is a byte-compiled function defined in
smime.el.gz.
Signature
(smime-encrypt-region B E CERTFILES)
Documentation
Encrypt region for recipients specified in CERTFILES.
If encryption fails, the buffer is not modified. Region is assumed to have proper MIME tags. CERTFILES is a list of filenames, each file is expected to contain of a PEM encoded certificate.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/smime.el.gz
(defun smime-encrypt-region (b e certfiles)
"Encrypt region for recipients specified in CERTFILES.
If encryption fails, the buffer is not modified. Region is assumed to
have proper MIME tags. CERTFILES is a list of filenames, each file
is expected to contain of a PEM encoded certificate."
(smime-new-details-buffer)
(let ((buffer (generate-new-buffer " *smime*"))
(tmpfile (make-temp-file "smime")))
(prog1
(when (prog1
(apply #'smime-call-openssl-region b e (list buffer tmpfile)
"smime" "-encrypt" smime-encrypt-cipher
(mapcar #'expand-file-name certfiles))
(with-current-buffer smime-details-buffer
(insert-file-contents tmpfile)
(delete-file tmpfile)))
(delete-region b e)
(insert-buffer-substring buffer)
(goto-char b)
(when (looking-at "^MIME-Version: 1.0$")
(delete-region (point) (progn (forward-line 1) (point))))
t)
(with-current-buffer smime-details-buffer
(goto-char (point-max))
(insert-buffer-substring buffer))
(kill-buffer buffer))))