Function: mml-smime-epg-sign

mml-smime-epg-sign is a byte-compiled function defined in mml-smime.el.gz.

Signature

(mml-smime-epg-sign CONT)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/mml-smime.el.gz
(defun mml-smime-epg-sign (cont)
  (let ((boundary (mml-compute-boundary cont)))
    (goto-char (point-min))
    (let* ((pair (mml-secure-epg-sign 'CMS cont))
	   (signature (car pair))
	   (micalg (cdr pair)))
      (insert (format "Content-Type: multipart/signed; boundary=\"%s\";\n"
		      boundary))
      (if micalg
	  (insert (format "\tmicalg=%s; "
			  (downcase
			   (cdr (assq micalg
				      epg-digest-algorithm-alist))))))
      (insert "  protocol=\"application/pkcs7-signature\"\n")
      (insert (format "\n--%s\n" boundary))
      (goto-char (point-max))
      (insert (format "\n--%s\n" boundary))
      (insert "Content-Type: application/pkcs7-signature; name=smime.p7s
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=smime.p7s

")
      (insert (base64-encode-string signature) "\n")
      (goto-char (point-max))
      (insert (format "--%s--\n" boundary))
      (goto-char (point-max)))))