[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

  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   :-))))
    0
    1. Contributeur
      hop...

      Personne n'a la moindre idée??

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

        !!!

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

          Maily   :-))))
          0
      2. et si tu n'ecris pas cette ligne ??

        pas d'erreur ??
        0
        1. Contributeur
          Si je ne l'écris pas, il n'y a rien qui s'écrit dans mon fichier... Elle est obligatoire!

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

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

              Maily   :-))))
              0
          2. cipfile.close() ;

            tu ne l'as pas ecris!!?
            0
            1. Contributeur
              Si, j'ai essayé, mais ça ne marche pas non plus!!

              Maily   :-))))
              0
              1. il faut le fermer avant

                cipFile.close();
                puis
                objFile.close();
                0
                1. Contributeur
                  Et bien non, j'ai toujours la même erreur, mais cette fois ci sur
                  cipFile.close()


                  Maily   :-))))
                  0
                  1. alors l'erreur est peut etre juste avant les deux
                    il faut fermer avant
                    CledesFile .close et

                    file.close()
                    0
                    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   :-))))
                      0