Parser une clé rsa
talbsbast
Messages postés
61
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'ai créer une bi-clé RSA avec JAVA :
et je recupére ma clé privée sous forme d'un tableau de bytes:
dans ce tableau on retrouve les valeurs de ma clé :
modulus n
prime 1 p
prime 2 q
public Exponenent e
private exponent d
...
Ma question est comment récupérer ces valeurs ?
Merci beaucoup pour votre aide.
j'ai créer une bi-clé RSA avec JAVA :
et je recupére ma clé privée sous forme d'un tableau de bytes:
import java.security.KeyPair;
import java.security.KeyPairGenerator;
public class Main {
public static void main(String[] args) throws GeneralSecurityException {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(2048);
KeyPair RSAKey = keyPairGenerator.generateKeyPair();
byte[] rsaKey = ((RSAPrivateKey) kPair.getPrivate()).getEncoded();
// Comment recupérer n, e, d, p, q ???
return;
}
}
dans ce tableau on retrouve les valeurs de ma clé :
modulus n
prime 1 p
prime 2 q
public Exponenent e
private exponent d
...
Ma question est comment récupérer ces valeurs ?
Merci beaucoup pour votre aide.
Configuration: Windows / Chrome 85.0.4183.121
1 réponse
-
Bonjour,
Tu peux faire comme ceci :// import sun.security.rsa.RSAPrivateCrtKeyImpl; RSAPrivateCrtKeyImpl privateKey = (RSAPrivateCrtKeyImpl) RSAKey.getPrivate(); System.out.println("n=" + privateKey.getModulus()); System.out.println("p=" + privateKey.getPrimeP()); System.out.println("q=" + privateKey.getPrimeQ()); System.out.println("d=" + privateKey.getPrivateExponent()); System.out.println("e=" + privateKey.getPublicExponent());-
Merci pour votre réponse,
savez vous comment importer sun.security.rsa.RSAPrivateCrtKeyImpl ? mon java ne recnnait pas !- En effet, dans les dernières versions cela ne fonctionne plus (le module java.base n'exporte pas ce package)
Donc plutôt qu'utiliser la classe directement, on peut passer par son interface :// import java.security.interfaces.RSAPrivateCrtKey; RSAPrivateCrtKey privateKey = (RSAPrivateCrtKey) RSAKey.getPrivate();
-