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

Java Discussion :

Équivalent de RSA_public_decrypt en Java.


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Équivalent de RSA_public_decrypt en Java.
    Bonjour tout le monde,

    J'ai de nouveau un petit problème avec le Java
    Je m'explique :
    Mon application se connecte a un serveur, envois une requête et reçois une signature.
    Je dispose donc d'une public key (qui est statique dans mon code), et d'une signature reçus par le serveur.
    Je voudrais faire un RSA_public_decrypt de ma signature avec ma public key.
    Cela devrait me fournir une autre public key !

    Voici un morceau de code en C de ce que j'aimerais obtenir en Java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    char * DPKey =(char *) malloc(m_publicKey.size());
    strcpy(DPKey, m_publicKey.toStdString().c_str());
     
    BIO *bp_d = BIO_new_mem_buf(DPKey, -1);
    RSA *my_rsa = PEM_read_bio_RSA_PUBKEY(bp_d, NULL, NULL, NULL);
     
    byte *inputSignature, *outputSignature;
    outputSignature = (byte*) malloc(RSA_size(my_rsa));
    inputSignature = (byte*)signature.data();
     
    int buflen = RSA_public_decrypt(signature.size(), inputSignature, outputSignature, my_rsa, RSA_PKCS1_PADDING);
    m_outputSignatureVector = QByteArray((const char*)outputSignature, buflen);
    m_publicKey étant un QString de Qt contenant ma public key.

    En Java, j'ai un peu plus de mal a saisir la philosophie pour utiliser les classes qui manipule le RSA.
    Voici ce que j'ai commencé a faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Base64 base64 = new Base64();
    byte[] datas = base64.decode(publicKey.getBytes());
     
    BigInteger pubInt = new BigInteger(1, datas);
    try{
    	X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(datas);
    	KeyFactory keyFactory = KeyFactory.getInstance("RSA");
    	PublicKey publicKeyStatique = keyFactory.generatePublic(publicKeySpec);
    }
    catch(Exception e){System.out.println(e);}
    Avec publicKey un String de ma public key statique encodé en base 64 et sans les en-tête : -----BEGIN PUBLIC KEY----- et -----END PUBLIC KEY-----
    Normalement, avec ce code j'ai mon objet représentant ma public key.
    Il me manque donc ma signature.

    J'ai vus sur internet, qu'il existait une classe Java Signature, mais je n'ai pas du tout compris comment l'utiliser.
    Il y a plusieurs méthodes que je n'ai pas compris.

    Merci d'avance pour votre aide

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Personne pour m'aider ?

Discussions similaires

  1. Un équivalent du backquote en java?
    Par freezou dans le forum Langage
    Réponses: 6
    Dernier message: 31/05/2010, 12h29
  2. équivalant balise html en java
    Par cybermat3 dans le forum JSF
    Réponses: 2
    Dernier message: 12/03/2009, 16h34
  3. équivalent de sendmessage en JAVA
    Par foued_scorpion dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 31/10/2006, 15h03
  4. Réponses: 1
    Dernier message: 01/09/2006, 00h18
  5. [C#] Form: équivalent de pack() en Java
    Par therock dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/06/2006, 10h42

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