(mml2015-epg-sign): Reflect the value of mml2015-signers.
(mml2015-epg-encrypt): Allow to select signing keys.
* mml1991.el (mml1991-signers): New variable.
(mml1991-epg-sign): Reflect the value of mml1991-signers.
(mml1991-epg-encrypt): Allow to select signing keys.
+2006-07-28 Daiki Ueno <ueno@unixuser.org>
+
+ * mml2015.el (mml2015-signers): New user option.
+ (mml2015-epg-sign): Reflect the value of mml2015-signers.
+ (mml2015-epg-encrypt): Allow to select signing keys.
+
+ * mml1991.el (mml1991-signers): New variable.
+ (mml1991-epg-sign): Reflect the value of mml1991-signers.
+ (mml1991-epg-encrypt): Allow to select signing keys.
+
2006-07-27 Katsumi Yamaoka <yamaoka@jpl.org>
* nnheader.el (nnheader-insert-head): Make it work even if the file
2006-07-27 Katsumi Yamaoka <yamaoka@jpl.org>
* nnheader.el (nnheader-insert-head): Make it work even if the file
Whether the passphrase is cached at all is controlled by
`mml1991-cache-passphrase'.")
Whether the passphrase is cached at all is controlled by
`mml1991-cache-passphrase'.")
+(defvar mml1991-signers nil
+ "A list of key ID which will be used to sign a message.")
+
;;; mailcrypt wrapper
(eval-and-compile
;;; mailcrypt wrapper
(eval-and-compile
(if mml1991-verbose
(setq signers (epa-select-keys context "Select keys for signing.
If no one is selected, default secret key is used. "
(if mml1991-verbose
(setq signers (epa-select-keys context "Select keys for signing.
If no one is selected, default secret key is used. "
- nil t))
- (setq signers (list (car (epg-list-keys
- context
- (message-options-get 'mml-sender) t)))))
+ mml1991-signers t))
+ (setq signers (mapcar (lambda (name)
+ (car (epg-list-keys context name t)))
+ (or mml1991-signers
+ (list (message-options-get 'mml-sender))))))
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(epg-context-set-signers context signers)
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(epg-context-set-signers context signers)
(when cte
(mm-decode-content-transfer-encoding (intern (downcase cte))))))
(let ((context (epg-make-context))
(when cte
(mm-decode-content-transfer-encoding (intern (downcase cte))))))
(let ((context (epg-make-context))
+ recipients cipher signers)
(if (or mml1991-verbose
(null (message-options-get 'message-recipients)))
(setq recipients
(if (or mml1991-verbose
(null (message-options-get 'message-recipients)))
(setq recipients
(split-string
(message-options-get 'message-recipients)
"[ \f\t\n\r\v,]+"))))
(split-string
(message-options-get 'message-recipients)
"[ \f\t\n\r\v,]+"))))
+ (when sign
+ (if mml1991-verbose
+ (setq signers (epa-select-keys context "Select keys for signing.
+If no one is selected, default secret key is used. "
+ mml1991-signers t))
+ (setq signers (mapcar (lambda (name)
+ (car (epg-list-keys context name t)))
+ (or mml1991-signers
+ (list (message-options-get 'mml-sender))))))
+ (epg-context-set-signers context signers))
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(if mml1991-cache-passphrase
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(if mml1991-cache-passphrase
:group 'mime-security
:type 'integer)
:group 'mime-security
:type 'integer)
+(defcustom mml2015-signers nil
+ "A list of key ID which will be used to sign a message."
+ :group 'mime-security
+ :type '(repeat (string :tag "Key ID")))
+
;;; mailcrypt wrapper
(eval-and-compile
;;; mailcrypt wrapper
(eval-and-compile
(if mml2015-verbose
(setq signers (epa-select-keys context "Select keys for signing.
If no one is selected, default secret key is used. "
(if mml2015-verbose
(setq signers (epa-select-keys context "Select keys for signing.
If no one is selected, default secret key is used. "
- nil t))
- (setq signers (list (car (epg-list-keys
- context
- (message-options-get 'mml-sender) t)))))
+ mml2015-signers t))
+ (setq signers (mapcar (lambda (name)
+ (car (epg-list-keys context name t)))
+ (or mml2015-signers
+ (list (message-options-get 'mml-sender))))))
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(epg-context-set-signers context signers)
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(epg-context-set-signers context signers)
(defun mml2015-epg-encrypt (cont &optional sign)
(let ((inhibit-redisplay t)
(context (epg-make-context))
(defun mml2015-epg-encrypt (cont &optional sign)
(let ((inhibit-redisplay t)
(context (epg-make-context))
+ recipients cipher signers
(boundary (mml-compute-boundary cont)))
(boundary (mml-compute-boundary cont)))
- (if (or mml2015-verbose
- (null (message-options-get 'message-recipients)))
(setq recipients
(epa-select-keys context "Select recipients for encryption.
If no one is selected, symmetric encryption will be performed. "
(setq recipients
(epa-select-keys context "Select recipients for encryption.
If no one is selected, symmetric encryption will be performed. "
(split-string
(message-options-get 'message-recipients)
"[ \f\t\n\r\v,]+"))))
(split-string
(message-options-get 'message-recipients)
"[ \f\t\n\r\v,]+"))))
+ (when sign
+ (if mml2015-verbose
+ (setq signers (epa-select-keys context "Select keys for signing.
+If no one is selected, default secret key is used. "
+ mml2015-signers t))
+ (setq signers (mapcar (lambda (name)
+ (car (epg-list-keys context name t)))
+ (or mml2015-signers
+ (list (message-options-get 'mml-sender))))))
+ (epg-context-set-signers context signers))
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(if mml2015-cache-passphrase
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(if mml2015-cache-passphrase