+2000-11-11 Simon Josefsson <sj@extundo.com>
+
+ * mml2015.el (mml2015-gpg-verify): Set "OK" security status.
+
+ * smime.el (smime-details-buffer): New variable.
+ (smime-sign-region):
+ (smime-encrypt-region):
+ (smime-verify-region):
+ (smime-decrypt-region): Copy OpenSSL output to the buffer.
+
+ * mml-smime.el (mml-smime-verify): Support security info.
+
2000-11-10 17:11:22 ShengHuo ZHU <zsh@cs.rochester.edu>
* mm-decode.el (mm-verify-option): Set default to nil.
(mm-handle-multipart-ctl-parameter ctl 'micalg)))
(insert (format "boundary=\"%s\"\n\n"
(mm-handle-multipart-ctl-parameter ctl 'boundary)))
- (smime-verify-buffer)
+ (when (get-buffer smime-details-buffer)
+ (kill-buffer smime-details-buffer))
+ (if (smime-verify-buffer)
+ (progn
+ (mm-set-handle-multipart-parameter
+ mm-security-handle 'gnus-info "OK")
+ (kill-buffer smime-details-buffer))
+ (mm-set-handle-multipart-parameter
+ mm-security-handle 'gnus-info "Failed")
+ (mm-set-handle-multipart-parameter
+ mm-security-handle 'gnus-details (with-current-buffer smime-details-buffer
+ (buffer-string))))
handle))
(provide 'mml-smime)
(buffer-string)))
(mm-set-handle-multipart-parameter
mm-security-handle 'gnus-info "Failed")
- (throw 'error handle))))
+ (throw 'error handle)))
+ (mm-set-handle-multipart-parameter
+ mm-security-handle 'gnus-info "OK"))
handle)))
(defun mml2015-gpg-sign (cont)
;; This library perform S/MIME operations from within Emacs.
;;
;; Functions for fetching certificates from public repositories are
-;; NOT provided (yet).
+;; provided, currently only from DNS. LDAP support (via EUDC) is planned.
;;
-;; It uses OpenSSL (tested with version 0.9.5a) for signing,
+;; It uses OpenSSL (tested with version 0.9.5a and 0.9.6) for signing,
;; encryption and decryption.
;;
;; Some general knowledge of S/MIME, X.509, PKCS#12, PEM etc is
string)
:group 'dig)
+(defvar smime-details-buffer "*S/MIME OpenSSL output*")
+
;; OpenSSL wrappers.
(defun smime-call-openssl-region (b e buf &rest args)
(when (looking-at "^MIME-Version: 1.0$")
(delete-region (point) (progn (forward-line 1) (point))))
t)
+ (with-current-buffer (get-buffer-create smime-details-buffer)
+ (goto-char (point-max))
+ (insert-buffer buffer))
(kill-buffer buffer))))
(defun smime-encrypt-region (b e certfiles)
(when (looking-at "^MIME-Version: 1.0$")
(delete-region (point) (progn (forward-line 1) (point))))
t)
+ (with-current-buffer (get-buffer-create smime-details-buffer)
+ (goto-char (point-max))
+ (insert-buffer buffer))
(kill-buffer buffer))))
;; Sign+encrypt buffer
(message "S/MIME message verified succesfully.")
(message "S/MIME message NOT verified successfully.")
nil)
+ (with-current-buffer (get-buffer-create smime-details-buffer)
+ (goto-char (point-max))
+ (insert-buffer buffer))
(kill-buffer buffer))))
(defun smime-decrypt-region (b e keyfile)
"-recip" keyfile)
)
+ (with-current-buffer (get-buffer-create smime-details-buffer)
+ (goto-char (point-max))
+ (insert-buffer buffer))
(kill-buffer buffer)))
;; Verify+Decrypt buffer