Revision 0a2010c8
Added by Marc Dequènes about 15 years ago
- ID 0a2010c8f3bfce182daa7f7e71dfe5019c68d300
lib/cyborghood/mail.rb | ||
---|---|---|
require 'delegate'
|
||
require 'tmail'
|
||
require 'tmail_extra'
|
||
require 'gpgme' # >= 1.0.2 needed for :always_trust sign option
|
||
require 'action_mailer/quoting'
|
||
require 'action_mailer/utils'
|
||
require 'net/smtp'
|
||
... | ... | |
|
||
def sign
|
||
data = build_intermediate_mail()
|
||
signature = data.pgp_sign([@config.mail.key_id]) do |uid_hint, passphrase_info, prev_was_bad|
|
||
sign_data = data.pgp_sign([@config.mail.key_id]) do |uid_hint, passphrase_info, prev_was_bad|
|
||
@config.mail.key_passphrase
|
||
end
|
||
|
||
... | ... | |
|
||
# build properly signed mail
|
||
# (modify original mail parts)
|
||
@mail.set_content_type("multipart", "signed", {'boundary' => TMail.new_boundary, 'protocol' => "application/pgp-signature"})
|
||
@mail.set_content_type("multipart", "signed", {'boundary' => TMail.new_boundary, 'protocol' => "application/pgp-signature", 'micalg' => sign_data[:micalg]})
|
||
@mail.transfer_encoding = "7bit"
|
||
@mail['content-disposition'] = nil
|
||
@mail.body = "This mail is a RFC3156 signed message.\n"
|
||
... | ... | |
p_signature.set_content_type("application", "pgp-signature")
|
||
p_signature.transfer_encoding = "7bit"
|
||
p_signature.content_disposition = "inline"
|
||
p_signature.body = signature
|
||
p_signature.body = sign_data[:signature]
|
||
@mail.parts << p_signature
|
||
end
|
||
|
Also available in: Unified diff
[evol] set the 'micalg' parameter in signed mails