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

Sécurité Java Discussion :

Cryptage config.properties avec Jasypt


Sujet :

Sécurité Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de sroux
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2003
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 162
    Par défaut Cryptage config.properties avec Jasypt
    Bonjour,

    Encore débutant en Java, je cherche un moyen de crypter une chaîne dans un fichier properties.
    J'ai trouvé la librairie Jasypt http://www.jasypt.org/ qui m'a l'air robuste et abordable.

    J'ai créé un classe pour faire un test de cryptage d'une chaîne sans succès :

    Ma classe
    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
     
    package nested;
     
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Properties;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
    import org.jasypt.properties.EncryptableProperties;
     
    /**
     *
     * @author seb
     */
    public class config {
     
        //public static String readCfg(String PBEPwd) {
     
        public static void main(String[] args) {
     
            String cfgFile = "config.properties";
            String essPwd = null;
     
            StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
            //encryptor.setPassword(PBEPwd);
            encryptor.setPassword("localhost");
     
            Properties props = new EncryptableProperties(encryptor);
     
            try {
                props.load(new FileInputStream(cfgFile));
                essPwd = props.getProperty("user.pwd");
            } catch (IOException ex) {
                Logger.getLogger(config.class.getName()).log(Level.SEVERE, null, ex);
            }
     
            //return essPwd;
            System.out.println(essPwd);
        }
    }
    Mon fichier properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    user.pwd=ENC(j85OIxhBQ5VYKwTqi5tCRbCF2tQj+5g7)
    Les erreurs
    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
     
    run:
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at nested.config.main(config.java:28)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 0 seconds)
    Merci d'avance pour toute info! Maintenant s'il y a un moyen plus simple et tout autant sécurisé je suis preneur.

    SebRoux

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Il te manque simplement une librairie dans le classpath de ton projet à l'exécution : "commons-lang.jar". Tu trouveras celle-ci sur le site de la fondation Apache.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre très actif
    Avatar de sroux
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2003
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 162
    Par défaut
    Yep en effet il me manquait les librairies suivantes :
    - Commons lang
    - Commons codec
    - ICU4J (horriblement énorme)

    Merci pour ton aide!

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

Discussions similaires

  1. cryptage de colonne d'une table SQL avec jasypt
    Par djolof dans le forum Sécurité
    Réponses: 0
    Dernier message: 19/06/2009, 15h13
  2. Cryptage fichier config.properties
    Par SebastianPx dans le forum Sécurité
    Réponses: 1
    Dernier message: 28/05/2009, 22h31
  3. Jasypt et cryptage de config.properties sans PBE
    Par sroux dans le forum Sécurité
    Réponses: 0
    Dernier message: 13/05/2009, 16h47
  4. [Properties] Modif d'un fichier properties avec Commentaires
    Par snetechen dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 19/10/2006, 16h00
  5. [C#] Equivalent Property avec arguments de VB.NET
    Par Antz dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/03/2004, 13h14

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