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

Langage PHP Discussion :

Chiffrement RSA : PHP et Java


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Chiffrement RSA : PHP et Java
    Bonjour tout le monde.

    je voudrais faire communiquer une Applet Java et une page PHP en utilisant l'algorithme asymétrique RSA.

    Tout d'abord voyons si mon raisonnement est bon et si j'ai bien compris le fonctionnement du cryptage RSA.
    Je voudrais faire ceci :

    Une Applet Java génère une paire de clés.
    La clé publique est envoyée à une page PHP.
    PHP crypte une donnée à partir de la clé publique de Java.
    PHP crée un fichier texte avec la donnée cryptée dedans.
    L'Applet lit le fichier est décrypte la donnée avec sa clé privée.

    Mon soucis est que d'après mes tests et ce que j'ai trouvé sur les forums les clés générées pas Java sont une suite de chiffres, alors qu'en PHP c'est une suite de caractères...

    Comment être sûr que les deux algos se comprennent ?
    Merci pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par tagadapouetfr Voir le message
    Mon soucis est que d'après mes tests et ce que j'ai trouvé sur les forums les clés générées pas Java sont une suite de chiffres, alors qu'en PHP c'est une suite de caractères...
    à quoi ressemble la suite de chiffres produite par Java ?
    d'habitude le chiffrement produit des données binaires donc ensuite on peut l'encoder en base 64 avec la fonction http://php.net/base64_encode

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour Mathieu,

    en effet les clés générées sont des tableaux de type byte (byte[])
    Je les avais transformé en BigInteger afin de pouvoir les "lire".
    Je pensais d'ailleurs devoir les transformer en Entier avant de les donner à la page PHP.

    Sinon pour répondre à la question voilà à quoi ressemble une clé publique en Java (en 512 bits):

    4475113327695922731702568558995357159025068026610284283566
    6648221280092606270751946982592170008360524891984933678833
    1957249607683599308168636623339261744710229343082491538421
    2518782330439336866196794784112104644605334721200129
    Pourrais tu m'expliquer le principe pour http://php.net/base64_encode

    Le site php.net ne répond pas ce matin...
    Merci

  4. #4
    mon_nom_est_personne
    Invité(e)
    Par défaut
    quand php sais pas, wikipedia le sais
    http://en.wikipedia.org/wiki/Base64

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci à vous.

    Je comprends mieux maintenant. Autant éviter les changements de types. Et si vraiment il le faut, je peux passer de byte[] vers une Base64.

    Une dernière question avant de mettre Résolu.

    Si je mets un fichiers toto.xml avec des données en claire au même endroit que mapage.PHP, et que seule mapage.php connait l'existance de ce fichier... il y a aucune chance que quelqu'un puisse récupérer toto.xml pour voler les données, non ?
    Le seul moyen serait d'avoir accès aux sources de mapage.php, non ?
    Or il est impossible d'avoir accès aux sources sans passer par FTP etc... non?
    Bref est-ce que d'un point vue sécurité cela vous semble bon.

    Pour ceux que ça intéresse j'ai trouvé une classe Java très bien pour Base64 :
    http://sourceforge.net/projects/migbase64/

    Encore merci !

  6. #6
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par tagadapouetfr Voir le message
    Merci à vous.
    Si je mets un fichiers toto.xml avec des données en claire au même endroit que mapage.PHP, et que seule mapage.php connait l'existance de ce fichier... il y a aucune chance que quelqu'un puisse récupérer toto.xml pour voler les données, non ?
    Le seul moyen serait d'avoir accès aux sources de mapage.php, non ?
    Or il est impossible d'avoir accès aux sources sans passer par FTP etc... non?
    Bref est-ce que d'un point vue sécurité cela vous semble bon.
    Encore merci !
    Eh non l'ami car la théorie et la pratique c'est pas pareil !
    Tu sais que lorsque ton moteur "php" est en panne tu te retrouves avec le choix de télécharger le PHP

    Si tu y penses tu verra que ça arrive, et ça t'es arrivé au moins une fois.

    facile a parer
    1) mettre tes fichiers de ce type avant la racine de ton site.
    2) protéger son répertoire par un htaccess

    c' est pas encore garantie 100% mais 99.99% alors bon ça devrait suffir

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Eh non l'ami car la théorie et la pratique c'est pas pareil !
    Tu sais que lorsque ton moteur "php" est en panne tu te retrouves avec le choix de télécharger le PHP

    Si tu y penses tu verra que ça arrive, et ça t'es arrivé au moins une fois.

    facile a parer
    1) mettre tes fichiers de ce type avant la racine de ton site.
    2) protéger son répertoire par un htaccess

    c' est pas encore garantie 100% mais 99.99% alors bon ça devrait suffir
    ok, ça me parait évident maintenant ! merci

    Je suis parvenu à un résultat avec Base64. merci à tous pour les pistes !
    (données binaires --> code Base64 --> page.php --> décode Base64 --> données binaires)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. chiffrement RSA en java
    Par LadyN dans le forum Sécurité
    Réponses: 3
    Dernier message: 26/03/2010, 10h09
  2. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum Général Conception Web
    Réponses: 164
    Dernier message: 28/04/2009, 16h50
  3. C vs PHP vs JAVA d'un point de vue réseau
    Par deaven dans le forum Langages de programmation
    Réponses: 48
    Dernier message: 17/06/2008, 02h27
  4. [Tomcat]échange de session entre php et java
    Par benwa dans le forum Tomcat et TomEE
    Réponses: 18
    Dernier message: 05/06/2007, 17h01
  5. [JSP/Tomcat] Intégration de PHP dans Java
    Par milhouz_deglingos dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 17/08/2005, 12h02

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