Function: mm-view-pkcs7-verify

mm-view-pkcs7-verify is a byte-compiled function defined in mm-view.el.gz.

Signature

(mm-view-pkcs7-verify HANDLE)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/mm-view.el.gz
(defun mm-view-pkcs7-verify (handle)
  (let ((verified nil))
    (if (eq mml-smime-use 'epg)
	;; Use EPG/gpgsm
	(insert
	 (with-temp-buffer
	   (insert-buffer-substring (mm-handle-buffer handle))
	   (goto-char (point-min))
	   (let ((part (base64-decode-string (buffer-string)))
		 (context (epg-make-context 'CMS)))
	     (prog1
		 (epg-verify-string context part)
	       (let ((result (car (epg-context-result-for context 'verify))))
		 (mm-sec-status
		  'gnus-info (epg-signature-status result)
		  'gnus-details
		  (format "%s:%s" (epg-signature-validity result)
			  (epg-signature-key-id result))))))))
      (with-temp-buffer
	(insert "MIME-Version: 1.0\n")
	(mm-insert-headers "application/pkcs7-mime" "base64" "smime.p7m")
	(insert-buffer-substring (mm-handle-buffer handle))
	(setq verified (smime-verify-region (point-min) (point-max))))
      (if verified
	  (insert verified)
	(insert-buffer-substring smime-details-buffer)))
    t))