Function: mm-view-pkcs7-decrypt
mm-view-pkcs7-decrypt is an autoloaded and byte-compiled function
defined in mm-view.el.gz.
Signature
(mm-view-pkcs7-decrypt HANDLE &optional FROM)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/mm-view.el.gz
(defun mm-view-pkcs7-decrypt (handle &optional from)
(insert-buffer-substring (mm-handle-buffer handle))
(goto-char (point-min))
(if (eq mml-smime-use 'epg)
;; Use EPG/gpgsm
(let ((part (base64-decode-string (buffer-string))))
(erase-buffer)
(insert
(let ((context (epg-make-context 'CMS)))
(prog1
(epg-decrypt-string context part)
(mm-sec-status 'gnus-info "OK")))))
;; Use openssl
(insert "MIME-Version: 1.0\n")
(mm-insert-headers "application/pkcs7-mime" "base64" "smime.p7m")
(smime-decrypt-region
(point-min) (point-max)
(if (= (length smime-keys) 1)
(cadar smime-keys)
(smime-get-key-by-email
(gnus-completing-read
"Decipher using key"
smime-keys nil nil nil (car-safe (car-safe smime-keys)))))
from))
(goto-char (point-min))
(while (search-forward "\r\n" nil t)
(replace-match "\n"))
(goto-char (point-min)))