[java] cryptographie et fichiers

Bonjour

Voila, j'essaye en ce moment d'écrire dans un fichier une clé privée utilisant l'algorithme AES cryptée par une clé publique avec l'algo RSA.

Mais bon voila, quand j'essaye d'écrire la clé privée cryptée, j'ai une erreur de pointeur nul! Comme si mon fichier n'existait pas ou quelque chose comme ça!
Et rien ne s'écrit dans mon fichier.
Et pourtant, le code est inspiré des exemples du site de sun

     //récupération de la clé secrète
      byte[] cleSecrete= secretKey.getEncoded();
      String st=new String(cleSecrete);
      //
      byte[] cleSecCrypt= cip.doFinal(cleSecrete);
      //System.out.println("taille cle "+cleSecrete.length);
      // Ecriture de la clé secrète cryptée dans un fichier
      File CledesFile = new File("C:\\key.txt"); 
      FileOutputStream file= new FileOutputStream(CledesFile);
      BufferedOutputStream bufFile = new BufferedOutputStream(file); 
      CipherOutputStream cipFile= new CipherOutputStream(bufFile,cip);
      System.out.println(cipFile.toString());
      ObjectOutputStream objFile= new ObjectOutputStream(cipFile);
      System.out.println(objFile.toString()+"   "+objFile.getClass());
      objFile.writeObject(st);
      objFile.writeInt(st.length());
     //l'erreur vient de cette ligne la, ou j'essaye de fermer mon stream
     objFile.close();


quelqu'un aurait une idée??

Merci à l'avance

Maily   :-))))

12 réponses

  • Votes
  • Date
  • Date décroissante
  1. alors l'erreur est peut etre juste avant les deux
    il faut fermer avant
    CledesFile .close et

    file.close()
    1. Contributeur
      Non, c'est pas ça...

      Merci d'essayer...
      Je pense que le problème vient du package que j'ai télécharger pour pouvoir utiliser l'algorithme RSA...
      Je vais voir s'il n'y en a pas d'autre package!

      Merci à tous!

      Maily   :-))))
  2. Contributeur
    Et bien non, j'ai toujours la même erreur, mais cette fois ci sur
    cipFile.close()


    Maily   :-))))
    1. Contributeur
      Si, j'ai essayé, mais ça ne marche pas non plus!!

      Maily   :-))))
      1. c sert à koi CipherOutputStream

        et puis peut etre tu dois le fermer avant
        1. Contributeur
          CipherOutputStream permet de crypter les données avant de les écrire dans le fichier!

          Maily   :-))))
      2. Contributeur
        Si je ne l'écris pas, il n'y a rien qui s'écrit dans mon fichier... Elle est obligatoire!

        Maily   :-))))
        1. peut etre tu dois fermer avant ton "cipFile"

          !!!

          bon travail
          1. Contributeur
            Merci pour l'idée, mais ça ne marche pas non plus...

            Maily   :-))))
        2. Contributeur
          hop...

          Personne n'a la moindre idée??

          Maily   :-))))
          1. Contributeur
            On va le remonter un petit coup....

            Si c'est pas très clair, n'hésitez pas à me poser des questions!!!

            Maily   :-))))