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

Java Discussion :

crypter un objet


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Par défaut crypter un objet
    Bonjour,

    J'utilise une application java permettant de signer des fichiers ; elle utilise pour cela la librairie Bouncy Castle (nyal.developpez.com/tutoriel/java/bouncycastle)
    La sécurité de la signature repose sur une paire de clé (privée et publique) et notamment la clé privée (objet PrivateKey).
    C'est pourquoi je souhaiterais pouvoir la crypter (par exemple avec le cryptage AES). J'ai cherché des tutoriels sur le net mais souvent, ces tutoriels expliquent comment crypter des chaînes de caractères et non d'autres objets.
    Avez-vous déjà rencontré ce problème ? Auriez-vous des idées sur la façon de procéder ?
    Je vous remercie.

    Jessica.

  2. #2
    Membre averti
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2012
    Messages : 15
    Par défaut Cryptage des objects avec java
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    import java.io.*;
     
    import javax.crypto.Cipher;
    import javax.crypto.KeyGenerator;
    import javax.crypto.SealedObject;
    import javax.crypto.SecretKey;
     
    public class ObjectEncrypt {
        //
        // Store object in a file for future use.
        //
        private static void writeToFile(String filename, Object object) throws Exception {
            FileOutputStream fos = null;
            ObjectOutputStream oos = null;
     
            try {
                fos = new FileOutputStream(new File(filename));
                oos = new ObjectOutputStream(fos);
                oos.writeObject(object);
                oos.flush();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (oos != null) {
                    oos.close();
                }
                if (fos != null) {
                    fos.close();
                }
            }
        }
     
        public static void main(String[] args) throws Exception {
            //
            // Generating a temporary key and stire it in a file.
            //
            SecretKey key = KeyGenerator.getInstance("DES").generateKey();
            writeToFile("secretkey.txt", key);
     
            //
            // Preparing Cipher object for encryption.
            //
            Cipher cipher = Cipher.getInstance("DES");
            cipher.init(Cipher.ENCRYPT_MODE, key);
     
            //
            // Here we seal (encrypt) a simple string message (a string object).
            //
            Personne p=new Personne("Mohamed","Mohamed",40);
           // SealedObject sealedObject = new SealedObject(p, cipher);
            Object sealedObject = new SealedObject(p, cipher);//.getObject(cipher);
            Personne o=(Personne) sealedObject;
            System.out.println("Text = " + o.getnom());
             //
            // Write the object out as a binary file.
            //
            writeToFile("sealed.txt", sealedObject);
     
     
        }
    }
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    import java.io.*;
     
    import javax.crypto.SecretKey;
    import javax.crypto.Cipher;
    import javax.crypto.SealedObject;
     
    public class ObjectDecrypt {
        //
        // Method for reading object stored in a file.
        //
        private static Object readFromFile(String filename) throws Exception {
            FileInputStream fis = null;
            ObjectInputStream ois = null;
            Object object = null;
     
            try {
                fis = new FileInputStream(new File(filename));
                ois = new ObjectInputStream(fis);
                object = ois.readObject();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (ois != null) {
                    ois.close();
                }
                if (fis != null) {
                    fis.close();
                }
            }
            return object;
        }
     
        public static void main(String[] args) throws Exception {
            //
            // Read the previously stored SecretKey.
            //
            SecretKey key = (SecretKey) readFromFile("secretkey.txt");
     
            //
            // Read the SealedObject
            //
            SealedObject sealedObject = (SealedObject) readFromFile("sealed.txt");
     
            //
            // Preparing Cipher object from decryption.
            //
            String algorithmName = sealedObject.getAlgorithm();
            Cipher cipher = Cipher.getInstance(algorithmName);
            cipher.init(Cipher.DECRYPT_MODE, key);
     
            Object text = (Object) sealedObject.getObject(cipher);
            System.out.println("Text = " + text);
        }
    }

Discussions similaires

  1. Crypter/Décrypter un objet avec RSA.
    Par M2INFO dans le forum Général Java
    Réponses: 9
    Dernier message: 11/01/2015, 18h25
  2. codage objet
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 22/08/2002, 16h49
  3. Importer des objets de 3dsMax
    Par Anonymous dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/05/2002, 13h53
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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