Forum Linux.debian/ubuntu Compatibilité openssl [résolu]

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
0
7
jan.
2017

Bonjour à tous.

Je suis en train de tester openssl, pour transmettre une info entre deux machines, et les deux machines ne me donnent pas le même résultat.

$ # encodons une chaine de données 
$ echo 'hello word' | openssl aes-256-cbc -a -e -nosalt -pass pass:5636 -out out.enc
$ md5sum out.enc
ec620b153cc6f59f38a148488324753a  out.enc
$ cat out.enc 
tUtAyysAqseDZJYmCTqdag==

Tout va bien, quand je déchiffre le message, j'obtiens bien mon résultat :

$ # déchiffrons le message
$ openssl version
OpenSSL 0.9.8k 25 Mar 2009 (Library: OpenSSL 0.9.8o 01 Jun 2010)
$ openssl aes-256-cbc -a -d -nosalt -pass pass:5636 -in out.enc
hello word

Si je passe sur une autre machine

$ openssl version
OpenSSL 1.1.0c  10 Nov 2016
$ md5sum out.enc # le fichier est bon
ec620b153cc6f59f38a148488324753a  out.enc
$ openssl aes-256-cbc -a -d -nosalt -pass pass:5636 -in out.enc      
bad decrypt
139871930868864:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:529:

Qu'est-ce que cela veut dire ? Il faut avoir la même version de la librairie sur les machines pour pouvoir échanger les données ? Ou est-ce qu'il y a un bug sur l'une des deux ? Merci de vos lumières car là je m'inquiète un peu…

  • # versions et paramètres 0.9.8k et 1.1.0c

    Posté par  . Évalué à -10. Dernière modification le 07 janvier 2017 à 13:39.

    je constate par le moteur de recherche qu'il y a beaucoup d'entrées sur ce sujet

    aes-256-cbc digital envelope routines:EVP_DecryptFinal_ex:bad decrypt

  • # Solution

    Posté par  (site web personnel) . Évalué à 3.

    En fait la commande de condensé de message par défaut a changé entre les deux version.

    La commande réalisée avec openssl 0.9.8k utilise md5, soit l'équivalent de la commande suivante :

    echo 'hello word' | openssl aes-256-cbc -e -a -md md5 -nosalt -pass pass:5636

    Les versions récentes se base sur sha512 pour réaliser l'encodage et le décodage.

    Une fois les bon paramètres mis en place, on arrive à échanger les messages correctement (avec une préférence pour le sha512 sur md5 bien sûr !)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.