Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2446 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Signature et Cryptage fichier XML avec php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Signature et Cryptage fichier XML avec php

n°1957657
xkamui
Their Destiny Was Foreordained
Posté le 13-01-2010 à 17:47:30  profilanswer
 

Bonjour
 
J'aurais besoin de vos lumières pour signer numériquement et encrypter un fichier XML.
 
J'ai ma clé publique et sa clé privée associée permettant la signature, ainsi que le clé publique permettant le cryptage.
 
J'ai mon fichier XML généré à la volé et sauvegardé sur mon FTP.
 
Ce dont j'ai besoin maintenant, c'est :  
1. Signer ce fichier XML numériquement (sans doute avec openssh_sign)
2. Crypter ce même fichier XML (sans doute avec openssh_public_encrypt)
 
Apres un petit tour sur php.net, je n'ai toujours pas compris comment faire.
 
Mon code fait comme suit :  

Code :
  1. $xml = "<xml>",
  2. // Signature SSH-RSA du fichier (avec clé privée Prévention Routière)
  3. $signature = "";
  4. $fp = fopen("private-key.ppk", "r" );
  5. $private_key = fread($fp, 8192);
  6. fclose($fp);
  7. openssl_sign($xml, $signature, $private_key);
  8. // Fin Signature SSH-RSA du fichier
  9. // Encryptage du fichier (avec clé publique Paybox)
  10. $crypttext = "";
  11. $fp = fopen("authorized_keys_serveur_paybox.txt","r" );
  12. $public_key = fread($fp, 8192);
  13. fclose($fp);
  14. openssl_get_publickey($public_key);
  15. openssl_public_encrypt($xml, $crypttext, $public_key);
  16. return(base64_encode($crypttext));
  17. // Fin Encryptage du fichier
  18. // Création du dit fichier csv
  19. $fp = fopen('exports/mon-export.xml', 'w');
  20. fwrite($fp, $xml);
  21. fclose($fp);


 
Merci de vos retours

mood
Publicité
Posté le 13-01-2010 à 17:47:30  profilanswer
 

n°1957718
flo850
moi je
Posté le 13-01-2010 à 20:11:05  profilanswer
 

et quel est le problème de ton code ?  
 
Ce que je vois, pour la signature :  
ligne 1 , tu déclare $xml = "<xml>", mai tu ne mets jamais rien de plus dedans. Pourtant ce sont les données que tu signes
tu devrai suivre l'exemple de http://php.net/manual/en/function.openssl-sign.php


---------------

n°1958092
xkamui
Their Destiny Was Foreordained
Posté le 15-01-2010 à 10:06:16  profilanswer
 

En fait, si, je mets beaucoup plus de données, mais je ne voulais pas flooder le post avec l'intégralité de mon fichier XML.
 
Je suis désemparé, je ne comprends pas ce que je dois faire...
 
Merci de votre aide

n°1958558
xkamui
Their Destiny Was Foreordained
Posté le 18-01-2010 à 16:24:48  profilanswer
 

Bonjour
 
un petit up en début de semaine pour signifier que j'ai toujours besoin d'aide
 
Merci encore à vous

n°2011789
tonyjaa
Posté le 26-07-2010 à 13:37:19  profilanswer
 

Bonjours  
j'ai un probléme aidez moi :(
je suis debutant dans le domain des signature electronique et openssl
j'ai utiliser les fonction  openssl_sign($data, $signature, $private_key)
est sa fonctionne correctement et $signature prend une chaine
mais je veux enregistrer cet signature dans un fichier.p7
comment le faire ???

n°2012214
stef_dober​mann
Personne n'est parfait ...
Posté le 27-07-2010 à 16:42:21  profilanswer
 

J'ai trouvé ça sur www.php.net
a tester :

Code :
  1. <?php
  2. echo "Source: $source";
  3. $fp=fopen ("/path/to/certificate.crt","r" );
  4. $pub_key=fread($fp,8192);
  5. fclose($fp);
  6. openssl_get_publickey($pub_key);
  7. /*
  8. * NOTE:  Here you use the $pub_key value (converted, I guess)
  9. */
  10. openssl_public_encrypt($source,$crypttext,$pub_key);
  11. echo "String crypted: $crypttext";
  12. $fp=fopen("/path/to/private.key","r" );
  13. $priv_key=fread($fp,8192);
  14. fclose($fp);
  15. // $passphrase is required if your key is encoded (suggested)
  16. $res = openssl_get_privatekey($priv_key,$passphrase);
  17. /*
  18. * NOTE:  Here you use the returned resource value
  19. */
  20. openssl_private_decrypt($crypttext,$newsource,$res);
  21. echo "String decrypt : $newsource";
  22. ?>


---------------
Tout à commencé par un rêve...
n°2012219
stef_dober​mann
Personne n'est parfait ...
Posté le 27-07-2010 à 16:45:26  profilanswer
 

tonyjaa a écrit :

Bonjours  
j'ai un probléme aidez moi :(
je suis debutant dans le domain des signature electronique et openssl
j'ai utiliser les fonction  openssl_sign($data, $signature, $private_key)
est sa fonctionne correctement et $signature prend une chaine
mais je veux enregistrer cet signature dans un fichier.p7
comment le faire ???


 

Code :
  1. openssl_sign() calcule la signature des données data en utilisant l'algorithme SHA1 (hashing) suivi du chiffrage avec la clé privée priv_key_id. Notez que les données elles-mêmes ne sont pas chiffrées.


 voir une autre fonction


---------------
Tout à commencé par un rêve...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Signature et Cryptage fichier XML avec php

 

Sujets relatifs
[VBA] Ajouter une ligne à un fichier Word à partir de cellules ExcelEnregistrer fichier deja ouvert
Editer un fichier XML sous windowsConstruction d'un fichier
Probleme Java FO XMLSubstitution de texte dans un fichier docx en utilisant Apache POI
[SHELL] Ajouter une chaine de caractère particulière dans un fichierRecharger un fichier javascript à la volée
Création d'un fichier config a l'aide de tableaux 
Plus de sujets relatifs à : Signature et Cryptage fichier XML avec php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR