IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Biblioth�ques et frameworks PHP Discussion :

[PHP][OPENSSL] Erreur "error:04800064:PEM routines::bad base64 decode"


Sujet :

Biblioth�ques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2023
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Consultant informatique

    Informations forums :
    Inscription : Janvier 2023
    Messages : 5
    Par d�faut [PHP][OPENSSL] Erreur "error:04800064:PEM routines::bad base64 decode"
    Bonjour � tous,
    Je bute sur un truc qui me paraissait simple au d�part et qui finalement ne fonctionne pas.
    J'ai g�n�r� un couple de cl�s publique-priv�e avec mkjwk.org.
    Je voudrais maintenant extraire la cl� publique et la cl� priv� pour encrypter/d�crypter.
    En parcourant les docs php (je suis en PHP8.2 sous Xampp/Windows), j'ai trouv� qu'on pouvait utiliser openssl_get_publickey en lui fournissant une cl� publique au format PEM.
    J'ai aussi trouv� qu'il fallait d�couper en lignes de 64 caract�res.
    J'ai essay� avec et sans le str_replace. L'erreur est la m�me : "error:04800064EM routines::bad base64 decode"
    Avec le str_replace la fonction base64_decode fonctionne.
    Malgr� tout je reste avec mon erreur error:04800064EM routines::bad base64 decode

    J'ai le code suivant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    		var_dump(base64_decode($publicKey, true)) ;  // KO
    		$str = str_replace(['-', '_', ''], ['+', '/', '='], $publicKey) ;
    		var_dump(base64_decode($str, true) ) ;  // OK
     
    		echo "\n" ;
     
    		$str = chunk_split($str, 64, "\n");
    		var_dump($str) ;
     
    		var_dump(base64_decode($str, true) ) ; // OK
     
    		$key = "-----BEGIN PUBLIC KEY-----\n".$str."-----END PUBLIC KEY----\n";
     
    		var_dump($key) ;
     
    		var_dump (openssl_get_publickey($key)); // KO
     
    		var_dump(openssl_error_string());

    Si quelqu'un a des id�es!

    Merci d'avance et bonne journ�e! (bonne reprise � ceux qui rentrent de cong�s!)

  2. #2
    Membre �m�rite
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    435
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 435
    Par d�faut
    Bonjour,

    Tu peux regarder le premier commentaire sur la doc php de Openssl qui montre un exemple simple en g�n�rant les cl�s directement en php :
    https://www.php.net/manual/en/book.o....php#usernotes

    L'exemple semble fonctionner correctement en g�n�rant les cl�s via le site mkjwk :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
     
    // X.509 PEM Format
    $publickey = '-----BEGIN PUBLIC KEY-----
    MIIBI...
    -----END PUBLIC KEY-----';
     
    $privatekey = '-----BEGIN PRIVATE KEY-----
    MIIE...
    -----END PRIVATE KEY-----';
     
     
    $cleartext = '1234 5678 9012 3456';
     
    echo "Clear text:<br>$cleartext<BR><BR>";
     
    openssl_public_encrypt($cleartext, $crypttext, $publickey);
     
    echo "Crypt text:<br>$crypttext<BR><BR>";
     
    openssl_private_decrypt($crypttext, $decrypted, $privatekey);
     
    echo "Decrypted text:<BR>$decrypted<br><br>";

Discussions similaires

  1. R�ponses: 0
    Dernier message: 30/03/2021, 15h19
  2. R�ponses: 10
    Dernier message: 08/09/2009, 09h14
  3. [MySQL] Code PHP et erreur serveur Free : "Parse error: syntax error, unexpected '{' "
    Par mauriiice dans le forum PHP & Base de donn�es
    R�ponses: 11
    Dernier message: 31/05/2009, 20h47
  4. R�ponses: 3
    Dernier message: 19/04/2007, 11h34
  5. [PHP-JS] Erreur de type : Parse Error
    Par calitom dans le forum Langage
    R�ponses: 6
    Dernier message: 19/07/2006, 23h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo