Function: smime-verify-region

smime-verify-region is a byte-compiled function defined in smime.el.gz.

Signature

(smime-verify-region B E)

Documentation

Verify S/MIME message in region between B and E.

Returns non-nil on success. Any details (stdout and stderr) are left in the buffer specified by smime-details-buffer.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/smime.el.gz
;; Verify+decrypt region

(defun smime-verify-region (b e)
  "Verify S/MIME message in region between B and E.
Returns non-nil on success.
Any details (stdout and stderr) are left in the buffer specified by
`smime-details-buffer'."
  (smime-new-details-buffer)
  (let ((CAs (append (if smime-CA-file
			 (list "-CAfile"
			       (expand-file-name smime-CA-file)))
		     (if smime-CA-directory
			 (list "-CApath"
			       (expand-file-name smime-CA-directory)))))
	(input-buffer (current-buffer)))
    (unless CAs
      (error "No CA configured"))
    (if smime-crl-check
	(cl-pushnew smime-crl-check CAs :test #'equal))
    (with-temp-buffer
      (let ((result-buffer (current-buffer)))
	(with-current-buffer input-buffer
	  (if (apply #'smime-call-openssl-region b e (list result-buffer
							  smime-details-buffer)
		     "smime" "-verify" "-out" "-" CAs)
	      (with-current-buffer result-buffer
		(buffer-string))
	    nil))))))