+;;; It is based on draft-elkins-pem-pgp-02.txt
+
+(defvar tm-pgp::good-signature-regexp "Good signature from user.*$")
+
+(defvar tm-pgp::key-expected-regexp
+ "Key matching expected Key ID \\(\\S +\\) not found")
+
+(defun mime::article/call-pgp-to-check-signature (output-buffer orig-file)
+ (save-excursion
+ (set-buffer output-buffer)
+ (erase-buffer)
+ )
+ (let ((status
+ (call-process-region (point-min)(point-max)
+ "pgp" nil output-buffer nil orig-file)))
+ (if (= status 0)
+ (save-excursion
+ (set-buffer output-buffer)
+ (goto-char (point-min))
+ (message
+ (if (re-search-forward tm-pgp::good-signature-regexp nil t)
+ (buffer-substring (match-beginning 0) (match-end 0))
+ "Bad signature"
+ ))
+ ))))