Project

General

Profile

« Previous | Next » 

Revision 0a2010c8

Added by Marc Dequènes about 15 years ago

  • ID 0a2010c8f3bfce182daa7f7e71dfe5019c68d300

[evol] set the 'micalg' parameter in signed mails

View differences:

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