Jump to content
JEAN PIERRE

Message Log serveur 1.6.1.20 : RIJNDAEL_IV_

Recommended Posts

Bonjour,

 

Depuis le passage à la version 1.6.1.20, les messages suivants sont présent dans les logs de notre serveur, pratiquement pour tous les accès  :

[Thu Jul 19 13:58:56.734315 2018] [fcgid:warn] [pid 10027] [client 90.28.157.243:57133] mod_fcgid: stderr: PHP Notice:  Use of undefined constant _RIJNDAEL_IV_ - assumed '_RIJNDAEL_IV_' in /var/www/vhosts/notreserveur.fr/httpdocs/classes/Cookies.php on line 79, 

 et 

[Thu Jul 19 12:25:46.304260 2018] [fcgid:warn] [pid 10025] [client 92.143.217.53:63227] mod_fcgid: stderr: PHP Warning:  openssl_decrypt(): IV passed is only 7 bytes long, cipher expects an IV of precisely 16 bytes, padding with \\0 in /var/www/vhosts/notreserveur.fr/httpdocs/classes/Rijndael.php on line 91, referer: https://notreserveur.fr/backoffice/index.php?controller=AdminOrders&token=43ee0aa269aa5ad25d03f3b46782e0cd

 

--> Pour le 1 er message cela semblerait être dû à une erreur de syntaxe dans le code du fichier Cookies.php à la ligne 79, pour le deuxième ?

 

Quelqu'un à -t-il une idée sur ces messages d'erreurs et sur les actions à mener ?

 

Merci par avance.

Jean Pierre

Share this post


Link to post
Share on other sites

Allez dans l'onglet du BO Performances et passez en option Rijndael le cookie

Share this post


Link to post
Share on other sites

mais il faut que l'extension mcrypt soit active sur votre hébergement (normalement oui mais on ne sait jamais...)

Share this post


Link to post
Share on other sites

Bonjour et merci de vos précisions.

 

Mon serveur (VPS) est sous debian / Plesk 12.5 :  Je viens de verifier l'extension mcrypt est bien active.

 

Par contre dans mon Prestashop 1.6.1.20  : Backoffice/Performance  (Voir copie écran ci-jointe) -->  Je n'ai pas d'option me permettant de choisir un mode d'encrypatge pour le cookies ( avec un chiffrement Rijndael ou autres ) ?

 

Vous en remerciant.

 

Jean Pierre

PERFORMANCE.docx

Share this post


Link to post
Share on other sites

Ok, ils ont encore fait n'importe quoi...

 

Copier (remplacer si elles existent) ces 2 lignes dans votre fichier /config/settings.inc.php:

define('_RIJNDAEL_KEY_', 'KKs8jBneDJKVwQo0bFHow5tpqUXdLWYE');
define('_RIJNDAEL_IV_', 'w2/az2xpUEMUKrgcb1oF+g==');

Dans la base de données, table configuration, rechercher la clé PS_CIPHER_ALGORITHM et donnez lui la valeur de 1

Share this post


Link to post
Share on other sites

Bonjour EOLIA,

 

Merci de votre aide.

 

Ci-dessous le contenu actuel du fichier  settings.inc.php :

 

<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', '--');
define('_DB_USER_', '--);
define('_DB_PASSWD_', '--');
define('_DB_PREFIX_', 'ps_');
define('_MYSQL_ENGINE_', 'MYISAM');
define('_PS_CACHING_SYSTEM_', 'CacheFs');
define('_PS_CACHE_ENABLED_', '0');
define('_COOKIE_KEY_', 'mewixY3wVg813y9Ps9qZbtwAgIZUO2bbXERT2yCfDWFy9gVOSyJr2j8mNMteeEUEW');
define('_COOKIE_IV_', 'LtuCm2EY');

define('_PS_CREATION_DATE_', '2013-04-02');
define('_PS_VERSION_', '1.6.1.20');
define('_PS_DIRECTORY_', '/');
 

--> Faut-il supprimer les lignes liés au Cookies avant de rajouter les 2 lignes suivantes :

define('_RIJNDAEL_KEY_', 'KKs8jBneDJKVwQo0bFHow5tpqUXdLWYE');
define('_RIJNDAEL_IV_', 'w2/az2xpUEMUKrgcb1oF+g==');

 

Merci de votre réponse.

 

Jean Pierre

Share this post


Link to post
Share on other sites

Non, je n'ai pas parlé des lignes COOKIE_KEY, copiez uniquement les 2 clés fournies

Share this post


Link to post
Share on other sites

Bonjour,

 

J'ai exactement la même erreur.

Apparemment la clé est à 7 bytes alors que sur la 1.6.1.19/20 celle ci est encodé sur 16 ? Comment donc transformer ou générer ce nouveau code ? (Car je n'ai aucune clé d'origine RIJNDAEL).

Auriez-vous la solution ? J'ai commencé votre explication mais j'ai toujours le problème concernant le "can't open file".
Merci bien.

 

Edited by EmmalucAnthony (see edit history)

Share this post


Link to post
Share on other sites

Non le problème c'est que vous n'étiez pas en Rijndael avant mais en blowfish donc effectivement cette clé n'existe pas et Prestashop ne contrôle pas ce point lors de la mise à jour (encore un truc testé, tiens^^)

Générez vos clés de manière aléatoire (comme dans mon exemple ci-dessus et enregistrez-les dans le fichier settings.inc.php

Share this post


Link to post
Share on other sites

Merci de votre retour rapide !

Décidément, passer en 1.6.1.20 n'était pas une bonne idée...

Pour générer les clés de manière aléatoire, vous faites comment ?
Car je ne sais pas si c'est bien sur 128 ou 16 vu les erreurs :


Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /home/www/vhosts/mondomaine.fr/www/classes/Rijndael.php on line 124

Warning: openssl_decrypt(): IV passed is only 7 bytes long, cipher expects an IV of precisely 16 bytes, padding with \0 in /home/www/vhosts/mondomaine.fr/www/classes/Rijndael.php on line 91

 

Merci

 

Share this post


Link to post
Share on other sites

Merci !
J'ai généré des nouvelles, mais apparemment le problème reste identique j'ai quand même le "can't open file" sur un module... Cela ne doit donc pas être lié à ceci.

En tout cas, un problème en moins, des clés sont générées !

(Je vais créer un autre fil de sujet pour éviter de polluer celui-ci, merci encore !)

Share this post


Link to post
Share on other sites

en même temps on a pas votre message d'erreur donc difficile de vous en dire plus, mais si Prestashop ne peut l'ouvrir c'est soit qu'il n'existe pas soit que les droits ne sont pas bons.

Share this post


Link to post
Share on other sites

En effet, voici les messages :

Notice: Use of undefined constant _RIJNDAEL_KEY_ - assumed '_RIJNDAEL_KEY_' in /home/www/vhosts/mondomaine.fr/www/classes/Cookie.php on line 79

Notice: Use of undefined constant _RIJNDAEL_IV_ - assumed '_RIJNDAEL_IV_' in /home/www/vhosts/mondomaine.fr/www/classes/Cookie.php on line 79

Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /home/www/vhosts/mondomaine.fr/www/classes/Rijndael.php on line 124

Warning: openssl_decrypt(): IV passed is only 7 bytes long, cipher expects an IV of precisely 16 bytes, padding with \0 in /home/www/vhosts/mondomaine.fr/www/classes/Rijndael.php on line 91

 

Je confirme que Mcrypt est bien installé (Plesk - Version 7.0.30 sur mon site)

Share this post


Link to post
Share on other sites

euh... z'êtes sûr ? Ca ce sont les messages concernant les clés pas votre problème de module.

Vous avez bien mis à jour le fichier settings.inc.php ?

Share this post


Link to post
Share on other sites

En fait j'ai ces messages qui apparaissent quand je sauvegarde une action sur le module, ceci dit, ils apparaissent depuis la mise à jour en 1.6.1.20 avec un beau "Can't open file".

Mais je viens de voir que cela est problématique en mode "Toutes les boutiques" (Je suis en multiboutique), alors que quand je cible une seule boutique, il n'y a plus le problème !

En tout cas c'est certainement grâce aux clés, merci encore du coup !

Share this post


Link to post
Share on other sites

Alors il y a 2 souci chez vous parce que:

- MCRYPT_RIJNDAEL_128 est une constante définie par mycrypt, donc si vous ne l'avez pas c'est un souci

- Si vous avez bien copié les clés, _RIJNDAEL_KEY_ est définie à présent

 

Pour info, j'utilise cette constante pour générer les clé dans le lien ci-dessus:

mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);

 

Share this post


Link to post
Share on other sites

Je rejoint ce post.. Je récupère également cette erreur com suite:

Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'

et aussi:

openssl_decrypt(): IV passed is only 7 bytes long, cipher expects an IV of precisely 16 bytes

alors je suis en version 1.6.1.20 et avec php 7.1

Je penche plutôt du coté du certificat ssl.. Mais je suis en local(127.0.0.1) sur ma machine..
j'ai essayé de créer un certificat ssl pour le localhost, mais j'ai pas encore testé..

Edited by sinzen (see edit history)

Share this post


Link to post
Share on other sites

Certificat ssl ???? Mais de quoi parlez-vous ? La fonction openssl_decrypt() n'a rien à voir avec un quelconque certificat, c'est une fonction de cryptage basée sur le chiffrage ssl.

Avez-vous ces 2 lignes concernant RIJNDAEL dans votre fichier /config/settings.inc.php ?

Share this post


Link to post
Share on other sites

http://php.net/manual/fr/migration71.deprecated.php

Ceci explique peut-être pourquoi vous n'avez pas de constante

MCRYPT_RIJNDAEL_128

MCRYPT_RIJNDAEL_128 (libmcrypt > 2.4.x uniquement)

 

Un jour peut-être les codeurs de presta prendront le temps de lire la doc, faire des tests au lieu de faire des truc mi-oiseau, mi-pingouin

openssl_cipher_iv_length('AES-128-CBC');

 

 

Share this post


Link to post
Share on other sites
On 7/20/2018 at 7:58 AM, Eolia said:

Ok, ils ont encore fait n'importe quoi...

 

Copier (remplacer si elles existent) ces 2 lignes dans votre fichier /config/settings.inc.php:


define('_RIJNDAEL_KEY_', 'KKs8jBneDJKVwQo0bFHow5tpqUXdLWYE');
define('_RIJNDAEL_IV_', 'w2/az2xpUEMUKrgcb1oF+g==');

Dans la base de données, table configuration, rechercher la clé PS_CIPHER_ALGORITHM et donnez lui la valeur de 1

Bonjour, je n'ai pas cette entrée dans ma base de données "PS_CIPHER_ALGORITHM" ..

Share this post


Link to post
Share on other sites

Bonsoir,

Suite à de trop nombreux problèmes avec la V1.7 j'ai décidé d'installer prestashop 1.6.1.24.

j'ai eu le problème décrit dans ce topic, j'ai suivi les recommandations et j'ai quasiment tout résolu sauf cette erreur :

Warning: openssl_decrypt(): IV passed is only 7 bytes long, cipher expects an IV of precisely 16 bytes, padding with \0 in /home/auda3074/test.arcadia-retrogaming.fr/classes/Rijndael.php on line 91

Je n'arrive pas à me connecter au Back Office....

 

Merci pour votre aide

Share this post


Link to post
Share on other sites

oui 

mcrypt est bien activé

php 7.2 sur mon serveur

j'ai généré les 2 clés et j'ai remplacé celles de mon fichier settings.inc.php par les nouvellement générées

Share this post


Link to post
Share on other sites
9 minutes ago, ptidav said:

php 7.2 sur mon serveur


Tu as une des réponses

Share this post


Link to post
Share on other sites

Ben php 7.1

7.0

5.6

y'a le même message !

essayé également en mode navigation privée au cas où

 

 

Share this post


Link to post
Share on other sites

Vous avez du rater votre copier coller ou alors vous avez édité le fichier setting avec un éditeur moisi qui a rajouté des caractères invisibles

Notepad++ is the best !

Share this post


Link to post
Share on other sites

Même pas !

j'ai édité avec l'éditeur de fichier en ligne de mon hébergeur qui fonctionne surper bien et çà donne çà :

<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'test');
define('_DB_USER_', 'test');
define('_DB_PASSWD_', '*************');
define('_DB_PREFIX_', 'pszn_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_PS_CACHE_ENABLED_', '0');
define('_RIJNDAEL_KEY_', 'yY6OvpDwxnHtX9z2kgroIVK0ZGMR5a0C');
define('_RIJNDAEL_IV_', 'R17+JlAsavXXJVxOZVi24A==');
define('_PS_CREATION_DATE_', '2020-01-29');
if (!defined('_PS_VERSION_'))
    define('_PS_VERSION_', '1.6.1.24');

 

Vois-tu quelque chose d'étrange  ?

Share this post


Link to post
Share on other sites

Quand vous lancez une installation vous devez vérifier d'avoir la bonne configuration, ensuite si vous avez bien fait ce qu'a écrit @Eolia ça devrait fonctionner.

 

Edited by okom3pom (see edit history)

Share this post


Link to post
Share on other sites

En copiant tes clés dans ma 1.6.1.24 de test ça fonctionne sans souci

image.png.0a5d322dff65572c9cb2a1cb524f9ad5.png

Share this post


Link to post
Share on other sites
1 minute ago, okom3pom said:

Il manquerait pas les constants COOKIE dans le fichier

oh p.... oui 

bien vu !

je viens de comprendre

j'ai remplacé les constants COOKIE par RIJNDAEL !

Share this post


Link to post
Share on other sites

Tout était encore écrit

On 7/21/2018 at 12:55 PM, JEAN PIERRE said:

--> Faut-il supprimer les lignes liés au Cookies avant de rajouter les 2 lignes suivantes :


define('_RIJNDAEL_KEY_', 'KKs8jBneDJKVwQo0bFHow5tpqUXdLWYE');
define('_RIJNDAEL_IV_', 'w2/az2xpUEMUKrgcb1oF+g==');

 

Merci de votre réponse.

 

On 7/21/2018 at 1:14 PM, Eolia said:

Non, je n'ai pas parlé des lignes COOKIE_KEY, copiez uniquement les 2 clés fournies

:D 

Share this post


Link to post
Share on other sites

Je dois être très mauvais en tuto, je vais arrêter

  • Sad 1

Share this post


Link to post
Share on other sites

J'ai refait une fresh install et le problème survient après la mise à jour du module prestashop experience.

Là j'ai généré les clés, ajoutés au fichier de conf SANS virer les cookie_key

et là çà roule !

après 3 jours de bugs en tout genres j'ai les yeux qui saignent....j'avais pas fait gaffe à "Non, je n'ai pas parlé des lignes COOKIE_KEY, copiez uniquement les 2 clés fournies"

@Eolia ne change rien 😊

 

Un grand merci à tous les 2 pour m'avoir ouvert les yeux !

Share this post


Link to post
Share on other sites

@Eolia Toujours au top !

 

16 minutes ago, ptidav said:

prestashop experience

Il faut le supprimer dès l'install terminé :) 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More