IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[Lecture d'objets] StreamCorruptedException


Sujet :

Entrée/Sortie Java

  1. #1
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut [Lecture d'objets] StreamCorruptedException
    Salut à tous,

    voilà j'ai un problème dans une méthode, le code suivant me lance une StreamCorruptedException (invalid stream header), je ne sais pas pourquoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.in = new ObjectInputStream(new CipherInputStream(new FileInputStream(inputFileName), cipher));
    in est un ObjectnputStream
    cipher un Cipher
    inputFileName le chemin du fichier à lire.

    Le fichier à lire a été lu une fois au préalable par un stream, fermé avant cette ligne de code.

    Ce que je comprends pas c'est que dans d'autres cas ça marche...

    Merci d'avance pour vos réponses.
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  2. #2
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    Voici un code plus précis de la méthode qui lance l'exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    DataInputStream keyReader = new DataInputStream(new FileInputStream(inputFileName));
            int length = keyReader.readInt();
            System.out.println(length);
            byte[] wrappedKey = new byte[length];
            keyReader.read(wrappedKey, 0, length);
            keyReader.close();
            
            try
            {
                Cipher cipher = Cipher.getInstance("RSA");
                cipher.init(Cipher.UNWRAP_MODE, privateKey);            
                this.secretKey = (SecretKey)cipher.unwrap(wrappedKey, "AES", Cipher.SECRET_KEY);
                
                cipher = Cipher.getInstance("AES");
                cipher.init(Cipher.DECRYPT_MODE, secretKey);
                in = new ObjectInputStream(new CipherInputStream(new FileInputStream(inputFileName), cipher));
                in.readInt();
                in.skipBytes(length);
            }
            catch(NoSuchAlgorithmException e)
            {}
            catch(InvalidKeyException e)
            {}
            catch(NoSuchPaddingException e)
            {}
    Ayez pas peu du code des apis de sécurité, ce sont des streams comme des autres...

    Merci d'avance pour vos réponses.
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  3. #3
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    Ok c'est bon j'ai résolu le problème (remercions plutôt les aliénés de chez Sun pour leurs réponses courtes et précises sur leur forum dédié ici).

    Ca venait d'une non-équivalence entre streams Data/FileInputStream.
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [10gR2] Extract des dates de lecture des objets
    Par fbsupfr dans le forum Administration
    Réponses: 5
    Dernier message: 21/08/2013, 09h26
  2. Erreur lecture/écriture Objet
    Par pazze dans le forum Langage
    Réponses: 7
    Dernier message: 18/03/2010, 12h24
  3. Problème de lecture d'objet/désérialisation
    Par Yopii dans le forum Langage
    Réponses: 4
    Dernier message: 20/09/2009, 23h07
  4. Lecture variable objet table - UPDATE FROM
    Par MAndris dans le forum SSIS
    Réponses: 3
    Dernier message: 27/03/2009, 15h10
  5. Réponses: 3
    Dernier message: 07/08/2007, 10h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo