Murray S. Kucherawy wrote:

> You could use an extension tag to capture the original 
> Content-Transfer-Encoding 
> as a hint to the canonical form that was signed, but that means the verifier 
> has to undo the conversion before computing the hashes, and it has to do that 
> bytewise precisely as well as reconstructing the original MIME header fields. 
>  
> Getting that even a byte off (modulo "relaxed") means you're toast.

The idea was to only do it for certain situations, i.e. when converted 
to base64.  Since a unbase64 function is already in your DKIM 
repertoire, no extra library is require and it would be one additional 
conditional statement.

> At that point I suspect you may as well bite the bullet and start down the 
> road of defining a new canonicalization that accommodates possible 
> downgrades in transit, picking either 7-bit or 8-bit as the canonical form, 
> and feeding that form to the hash to be used in signature generation.  But 
> once you consider that a multipart can have some 7-bit and some 8-bit, this 
> can get real messy real fast.

+1 (on the last sentence)

How would 7/8 bit be considered?

Personally, the STRIP C14N idea would work just fine by removing all 
trailing WSP (CR, LF, SP) and for QP text, decode it first.  I'm 
considering updating my 2006 I-D to include the QP decoding logic.

This, along with the et= idea, it would address at least three 
additional cases I have encountered.

    - MLM that add an extra line at the top (possibly because of any 
empty
      header file of size 2, crlf)
    - Intermediaries that expand QP to 8 bit
    - Intermediaries that reformat to BASE64

I personally have not seen anything else.

-- 
Hector Santos, CTO
http://www.santronics.com
http://santronics.blogspot.com


_______________________________________________
NOTE WELL: This list operates according to 
http://mipassoc.org/dkim/ietf-list-rules.html

Reply via email to