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 :

SecureRandom.generateSeed() bloque


Sujet :

Sécurité Java

  1. #1
    Membre confirmé Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Par défaut SecureRandom.generateSeed() bloque
    Bonjour

    Je ne suis peut être pas sur le bon forum, mais bon il s'agit de Java et j'aurai plus de chance dans le monde de Java ...

    Quand je lance un programme Java sur une machine Linux, le programme n'a jamais le CPU, c'est à dire qu'il ne s'exécute que très lentement. Ce code est justement un benchmark sur des calculs ...
    Le même code exécuté sur Windows fonctionne très bien.

    La seule idée qui me vient : il utilise java.security.SecureRandom ...

    il s'agit d'une debian etch avec sun-java6

    $ top
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    27111 cyrille 17 0 207m 10m 6492 S 0 1.1 0:00.11 java

    $ uname -a
    Linux srv01 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux

    Auriez vous une idée ??
    Merci, Cyrille

  2. #2
    Membre confirmé Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Par défaut
    Comme sur google j'ai trouvé des témoignages de problèmes avec SecureRandom alors j'ai essayé ce code qui fonctionne très bien:
    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
    import java.security.SecureRandom;
    class seed
    {
     public static void main(String args[])
     {
      try
      {
       System.out.println("New SecureRandom");
       SecureRandom rand = new SecureRandom();
     
       int seedLength=1024;
       System.out.println("generateSeed "+seedLength);
       byte[] seed = r.generateSeed(seedLength);
     
       System.out.println("call nextInt()");
       int dummy = rand.nextInt();
     
       System.out.println(dummy);
      }
      catch (Exception e)
      {
       e.printStackTrace();
      }
     }
    }
    Ca fonctionne très bien. Alors de quoi peut venir cette non exécution ??

  3. #3
    Membre confirmé Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Par défaut C'est SecureRandom.generateSeed() qui bloque ...
    J'ai trouvé où bloque le code : c'est sur l'appel à SecureRandom.generateSeed()

    il y a des bugs référencés :
    http://bugs.sun.com/bugdatabase/view...bug_id=6366924
    http://bugs.sun.com/bugdatabase/view...bug_id=6202721

  4. #4
    Membre confirmé Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Par défaut Solution
    ajouté -Djava.security.egd=file:/dev/./urandom pour l'exécution du code seed.java

    java -Djava.security.egd=file:/dev/./urandom seed

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

Discussions similaires

  1. Requête SQL qui me bloque
    Par David Guillouet dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/04/2004, 14h52
  2. Bloque la date et l'heure sous Win XP ??
    Par Djedjeridoo dans le forum Windows
    Réponses: 2
    Dernier message: 05/04/2004, 12h11
  3. Réponses: 2
    Dernier message: 23/03/2004, 12h23
  4. Réponses: 1
    Dernier message: 23/02/2004, 12h58
  5. bloqué en mode Release
    Par matsch77 dans le forum MFC
    Réponses: 3
    Dernier message: 07/01/2004, 17h17

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