Équivalent de RSA_public_decrypt en Java.
Astro01
-
Astro01 -
Astro01 -
Bonjour,
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 :
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 :
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
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 :
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 :
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-----
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);}
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
A voir également:
- Équivalent de RSA_public_decrypt en Java.
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Équivalent coco - Accueil - Réseaux sociaux
- Equivalent coco - Accueil - Réseaux sociaux
- Eclipse java - Télécharger - Langages