bonsoir. Je cherche à recupérer la clé privée elgamalprivateKey d'un fichier . le prblm c'est qu'à chaque fois que je fais la lecture du fichier il m'affiche une valeur. on dirait qu'il genère chaque fois une nouvelle clé. avez vous une idée?
Voici mon code:
public static void GenCles()throws Exception, NoSuchAlgorithmException, NoSuchProviderException
{
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
byte[] input = "ab".getBytes();
Cipher cipher = Cipher.getInstance("ElGamal/None/NoPadding", "BC");
KeyPairGenerator generator = KeyPairGenerator.getInstance("ElGamal", "BC");
SecureRandom random = new SecureRandom();
generator.initialize(256, random);
KeyPair pair = generator.generateKeyPair();
pubKey = (ElGamalPublicKey) pair.getPublic();
privKey = (ElGamalPrivateKey) pair.getPrivate();
System.out.println("pub : "+pubKey);
System.out.println("priv: "+privKey);
enregistrer_pub(pubKey);
enregistrer_priv(privKey);
lecture();
}
/////methode enregistrer_priv
public static void enregistrer_priv(ElGamalPrivateKey chaine2) throws FileNotFoundException, IOException
{
String monFichier="C:\\Users\\user\\Desktop\\private.txt";
FileOutputStream fout = new FileOutputStream(monFichier);
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(chaine2);
oos.close();
System.out.println("private key enregistree: "+ chaine2);
}
///methode enregistrer_pub
public static void enregistrer_pub(ElGamalPublicKey chaine) throws FileNotFoundException, IOException
{
String monFichier="C:\\Users\\user\\Desktop\\public.key";
FileOutputStream fout = new FileOutputStream(monFichier);
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(chaine);
oos.close();
System.out.println("public key enregistree: "+ chaine);
}
///methode lecture
public static void lecture() throws FileNotFoundException, IOException, ClassNotFoundException{
String fichier2 = "C:\\Users\\user\\Desktop\\private.txt";
FileInputStream fis = new FileInputStream(fichier2);
ObjectInputStream ois = new ObjectInputStream(fis);
ElGamalPrivateKey priv = (ElGamalPrivateKey) (ois.readObject());
System.out.println("priv key par lecture: " + priv);
ois.close();
}
Partager