semi: Missing mandatory MIME parameter in multipart/signed entities

Tatsuya Kinoshita tats at vega.ocn.ne.jp
Wed Jun 2 06:17:53 JST 2010


Hi SEMI developers,

Forwarding a bug report from Debian:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=584113

On June 1, 2010 at 1:36PM +0200,
dmaus (at ictsoc.de) wrote:

> Package: semi
> Version: 1.14.6+0.20100207-1
> Severity: normal
> 
> A multipart/signed MIME entity requires the MIME parameter "micalg" to
> be set to the digest algorithm used to create the digital signature
> (cf. RFC 1847, 2.1 (3)).
> 
> When creating a signed internet message using GnuPG, SEMI does no
> insert this parameter in the multipart/signed entity for recent
> version of GnuPG.
> 
> The problem is, that the library responsible for detecting digest
> algorithm uses the list of defined (digest) algorithms according to RFC
> 2440.  This RFC was obsoleted by RFC 4880 which extends the list of
> digest, encryption and compression algorithms.  Thus, algorithms
> defined in 4880 are not recognized by current SEMI.
> 
> Attached patch for pgg-parse.el extends the lists of signature types,
> digest, encryption and compression algorithms to match RFC 4880 and
> adds RFC 4880 as reference in the comment section of pgg-parse.el.
> 
> Please note: I've sent this patch upstream on April 13th without
> getting a response, neither was the patch applied in the cvs
> repository.

> Content-Disposition: attachment; filename="semi-pgg-parse-4880.diff"

> diff --git a/semi/pgg-parse.el b/semi/pgg-parse.el
> index 10b2419..f4fa7e8 100644
> --- a/semi/pgg-parse.el
> +++ b/semi/pgg-parse.el
> @@ -27,6 +27,13 @@
>  
>  ;;    This module is based on
>  
> +;;	[OpenPGP] RFC 4880: "OpenPGP Message Format"
> +;;	    by Derek Atkins <derek at ihtfp.com>,
> +;;          Jon Callas <jon at callas.org>, Lutz Donnerhacke <lutz at iks-jena.de>,
> +;;          Hal Finney <hal at finney.org>, David Shaw <dshaw at jabberwocky.com>
> +;;          and Rodney Thayer <rodney at canola-jones.com>
> +;;	    (2007/11)
> +;;
>  ;;	[OpenPGP] RFC 2440: "OpenPGP Message Format"
>  ;;	    by John W. Noerenberg, II <jwn2 at qualcomm.com>,
>  ;;          Jon Callas <jon at pgp.com>, Lutz Donnerhacke <lutz at iks-jena.de>,
> @@ -54,13 +61,15 @@
>    :type 'alist)
>  
>  (defcustom pgg-parse-symmetric-key-algorithm-alist
> -  '((1 . IDEA) (2 . 3DES) (4 . CAST5) (5 . SAFER-SK128))
> +  '((1 . IDEA) (2 . 3DES) (3 . CAST5) (4 . BLOWFISH) (5 . SAFER-SK128)
> +    (7 . AES) (8 . AES192) (9. AES256) (10 . TWOFISH))
>    "Alist of the assigned number to the simmetric key algorithm."
>    :group 'pgg-parse
>    :type 'alist)
>  
>  (defcustom pgg-parse-hash-algorithm-alist
> -  '((1 . MD5) (2 . SHA1) (3 . RIPEMD160) (5 . MD2))
> +  '((1 . MD5) (2 . SHA1) (3 . RIPEMD160) (5 . MD2)
> +    (8 . SHA256) (9 . SHA384) (10 . SHA512) (11 . SHA224))
>    "Alist of the assigned number to the cryptographic hash algorithm."
>    :group 'pgg-parse
>    :type 'alist)
> @@ -68,7 +77,8 @@
>  (defcustom pgg-parse-compression-algorithm-alist
>    '((0 . nil); Uncompressed
>      (1 . ZIP)
> -    (2 . ZLIB))
> +    (2 . ZLIB)
> +    (3 . BZip2))
>    "Alist of the assigned number to the compression algorithm."
>    :group 'pgg-parse
>    :type 'alist)
> @@ -82,11 +92,13 @@
>      (18 . "Casual certification of a User ID and Public Key packet")
>      (19 . "Positive certification of a User ID and Public Key packet")
>      (24 . "Subkey Binding Signature")
> +    (25 . "Primary Key Binding Signature")
>      (31 . "Signature directly on a key")
>      (32 . "Key revocation signature")
>      (40 . "Subkey revocation signature")
>      (48 . "Certification revocation signature")
> -    (64 . "Timestamp signature."))
> +    (64 . "Timestamp signature")
> +    (80 . "Third-Party Confirmation signature"))
>    "Alist of the assigned number to the signature type."
>    :group 'pgg-parse
>    :type 'alist)

Thanks,
-- 
Tatsuya Kinoshita





More information about the Emacs-mime-en mailing list