Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/04/2013, à 19:09

dg34

Opendkim + Postfix > dkim=neutral (bad format)

Bonjour à tous,

J'ai des problèmes dans ma configuration de postfix et opendkim.

J'ai suivi les tutos suivants :
https://www.isalo.org/wiki.debian-fr/in … des_quotas
et
http://blog.tjitjing.com/index.php/2012 … ebian.html

L'ensemble fonctionne correctement sauf quand le corps de mon mail comporte plusieurs lignes (crlf).
J'ai donc bêtement enlevé les \n, \r dans mon script ($message_final = preg_replace("/(\\n\\r|\\r\\n|\\n|\\t|\\r)/", "", $message_final)."\n";) afin de tout mettre sur une seul ligne.
J'ai conscience que cette pratique ne correspond pas au standard rfc (ca ne me plait pas) et de toute façon postfix me coupe ma belle ligne en deux, du coup "dkim=neutral (bad format)" :x

http://www.postfix.org/postconf.5.html# … ngth_limit
Augmenter cette valeur serait du bricolage et j'aimerai bien collé au standard.



Je sais pas trop si c'est la faute de Opendkim, Postfix, amavis ou spamassassin mais la signature ne retourne pas d'erreur sur le serveur donc je présume que le mail est altéré après avoir été signé...? et ceci uniquement lorsque j'ai plusieurs lignes dans mon corps!?



J'ai essayé de formater mon corps avec pas mal de fonction php et d'envoyer avec mb_send_mail mais rien n'y fait.
Ca fait un bon moment que je cherche donc si vous avez une idée je suis preneur!!
Je vous épargne tout mes fichiers de config dans ce post mais je pourrai les fournir en cas de besoin.


Par avance merci

Hors ligne

#2 Le 04/04/2013, à 09:53

bruno

Re : Opendkim + Postfix > dkim=neutral (bad format)

Il faut déjà regarder si cela fonctionne sans passer par PHP, en envoyant directement un courriel pour vérifier la présence de la signature DKIM.
Et en premier lieu vérifier l'enregistrement DNS :
http://dkimcore.org/tools/

Hors ligne

#3 Le 04/04/2013, à 11:11

dg34

Re : Opendkim + Postfix > dkim=neutral (bad format)

Merci Bruno pour votre participation.

Dkimcoretools me dit que l'enregistrement est valide.
Quand j'envoie un body sur une seule ligne tout fonctionne correctement google me dit dkim=pass...

J'ai envoyer un mail avec un corps sur plusieurs ligne a check-auth@verifier.port25.com et je reçoit ca

DKIM check details:
----------------------------------------------------------
Result:         fail (wrong body hash: expected tAVPN8/oO0U4lFb1oY16RXDcrZXFf043oBsDf6dbhfs=)
ID(s) verified: 
Canonicalized Headers:
    to:<check-auth@verifier.port25.com>'0D''0A'
    subject:test'0D''0A'
    mime-version:1.0'0D''0A'
    content-type:text/plain;'20'charset=UTF-8'0D''0A'
    content-transfer-encoding:8bit'0D''0A'
    date:Thu,'20'04'20'Apr'20'2013'20'10:08:04'20'+0200'0D''0A'
    from:<admin@domain.fr>'0D''0A'
    message-id:<cb4b111bd4ebb8e1236c44243fe66445@domain.fr>'0D''0A'
    dkim-signature:v=1;'20'a=rsa-sha256;'20'c=relaxed/relaxed;'20'd=domain.fr;'20's=mail;'20't=1365062884;'20'bh=10sP5uNoJqpwXUbQjtlFL3Spz9/FHRImuvXYFy1ZmJ8=;'20'h=To:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:'20'Date:From:Message-ID;'20'b=

Canonicalized Body:
    test'0D''0A'
    test'0D''0A'
    test'0D''0A'
    

DNS record(s):

NOTE: DKIM checking has been performed based on the latest DKIM specs
(RFC 4871 or draft-ietf-dkim-base-10) and verification may fail for
older versions.  If you are using Port25's PowerMTA, you need to use
version 3.2r11 or later to get a compatible version of DKIM.

Dans ce cas j'utilise Roundcube mais PHP a le même comportement

Hors ligne

#4 Le 04/04/2013, à 11:59

bruno

Re : Opendkim + Postfix > dkim=neutral (bad format)

Il faudrait voir le contenu de ton fichier opendkim.conf
je te suggère d'y ajouter cette directive :

FixCRLF 		yes

Hors ligne

#5 Le 04/04/2013, à 12:23

dg34

Re : Opendkim + Postfix > dkim=neutral (bad format)

J'avais déjà essayé cette directive et elle n'avait rien résolu car les CRLFs me causaient le même problème

FixCRLF (Boolean)
              Requests that the DKIM library convert bare CRs and LFs to CRLFs
              during body canonicalization, anticipating that an MTA somewhere
              before delivery will do that conversion anyway.  The default  is
              to leave them as-is.

Ce "problème" vient sans doute d'une modification du message après le chiffrement par opendkim (postfix ou amavis).

Du coup j'ai décidé de chiffrer mes messages avec amavis-new, qui la fonctionnalité dkim intégrée et la MIRACLE tous mes messages sont signés quelque soit le format du body smile
https://www.isalo.org/wiki.debian-fr/Am … ew_et_DKIM

En plus, ca fait un service en moins qui tourne...

Merci en tout cas Bruno

Hors ligne

#6 Le 24/07/2013, à 13:53

mijsoot

Re : Opendkim + Postfix > dkim=neutral (bad format)

Bonjour,
Alors la discussion date un peu, mais vu le peu d'information que l'on trouve sur le web je pense que je peux me permettre de mettre mon grain de sel.
Alors je ne suis pas un expert en RFC, donc je ne sais pas exactement comment doit être normé un email. Par contre après plusieurs jours de galère j'ai enfin compris pourquoi ma signature DKIM n'était pas valide. En fait, je pense que c'est le même problème que toi dg34, PostFix modifié le message après qu'il ait été signé !
Les erreurs par les services de tests étaint les suivantes (pour ceux qui ne connaissent pas, il suffit d'envoyer un email à ces adresses et on reçoit en retour une analyse de l'email) :

auth-results@verifier.port25.com : DKIM Result: fail (wrong body hash: expected xiRjOAvF35tsBL7dnKXyENS8xE/OovcpIL7Sf7O5hsw=)

auth-report@appmaildev.com : DKIM result: fail (wrong body hash: gciiWjV6+07Zb4UsMYa/BDmBosSwG0Z1o/52tk7q7ok=)

En fait, Postfix n'est pas très intelligent sur ce coup là, on pourrait même dire que c'est un bug, il considère les retours chariots comme des caractères comme les autres et donc les \n ou \r ou les 2 sont compté comme des caractères et non comme des césures. Donc pour lui il n'y a qu'une seule et unique ligne donc il créé des césures avec des <CR><LF><SPACE>, comme le dit la directive : smtp_line_length_limit

http://postfix.traduc.org/index.php/pos … ngth_limit

Ou en anglais plus à jour :
http://www.postfix.org/postconf.5.html# … ngth_limit

Donc c'est un barbare, mais j'ai mis la directive smtp_line_length_limit=1000000 et donc vu que mes messages HTML sont bien moins long que ça PostFix n'insère plus de caractères, donc mes messages signés sont les mêmes que ceux envoyés et donc ma signature est valide. En même temps, mes messages sont normés puisque je gère moi même les retours chariots dans le Header et le corps du mail. Bien évidement il faut penser à redémarrer PostFix

Voilà, j'espère que cela en aidera certains wink

Hors ligne

#7 Le 04/12/2015, à 09:00

phil-ok

Re : Opendkim + Postfix > dkim=neutral (bad format)

Bonjour,
Grâce à vos contributions, j'ai résolu mon problème.
Je rappelle le problème et la solution.

Problème :
* j'envoie des mails via php/opendkim/postfix,
* ils passent dkim sauf si j'incorpore une pièce jointe encodée chunk_split(base64_encode(file_get_contents(...))) et annoncée Content-Transfer-Encoding: base64.

J'ai constaté que lors de l'envoi, les sauts de ligne CR LF sont doublés (uniquement au niveau de cette partie encodée).

La solution d'augmenter smtp_line_length_limit dans les paramètres POSTFIX n'a pas fonctionné.
La solution de passer à yes les paramètres disable_mime_input_processing et disable_mime_output_conversion  de POSTFIX n'a pas fonctionné.

Mais la solution de placer FixCRLF yes dans opendkim.conf a résolu le problème.
Les CRLF sont toujours doublés, mais cela ne casse plus la signature.

Merci encore
Philippe

Hors ligne