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 :

Des changements dans SunJCE ?


Sujet :

Sécurité Java

  1. #1
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut Des changements dans SunJCE ?
    Bonjour,

    C'est étrange mais j'utilisais pour la crypto ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cipher cipher = Cipher.getInstance("RSA", "SunJCE");
    ce qui fonctionnait parfaitement.
    Par contre, depuis peu (je ne sais pas quand), cela produit une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    no such algorithm: RSA for provider SunJCE
    Donc j'ai changé en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cipher cipher = Cipher.getInstance("RSA");
    ce qui marche parfaitement...

    Du coup je me demande :
    1) pourquoi j'avais mis "SunJCE" (je pense que c'est parce que ça ne fonctionnait pas sans ça)
    2) pourquoi ça ne marche plus (j'imagine que c'est parce qu'Oracle veut faire disparaître "Sun" de partout, mais où est l'info ?)
    3) si du coup ça fonctionne à présent aussi avec OpenJDK (ce qui n'était pas le cas)

    Je précise que je suis toujours sous 1.6

    Je pense que je peux trouver tout seul la réponse à 3 (mais bon, ça va prendre du temps), mais apparemment il me manque des sources d'info pour 1) et 2).

    Merci d'avance pour votre aide.
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Cryptographic implementations in the Sun JDK are distributed via several different providers (Sun, SunJSSE, SunJCE, SunRsaSign) primarily for historical reasons, but to a lesser extent by the type of functionality and algorithms they provide. Other Java runtime environments may not necessarily contain these Sun providers, so applications should not request an provider-specific implementation unless it is known that a particular provider will be available.

    Cf http://download.oracle.com/javase/6/...l#Architecture
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    applications should not request an provider-specific implementation
    "should" ... Après, chacun fait ce qu'il veut, mmh ?

    En plus, ça n'explique pas le changement de comportement... Ca ne répond ni à 1, ni à 2, ni à 3 quoi ...

    Bon, ok, pour 1, il n'y a que moi qui peut répondre...
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah, Sun n'existe plus, donc oracle a dû changer de nom de provider dans un des builds...

    Comme la liste des providers ne fait pas partie de la spécification, ils peuvent faire un peu ce qu'ils veulent dessus (même si ce n'est pas franchement malin)...

    A toi de voir par quel provider ils l'ont remplacé (de souvenir il y a moyen de récupérer la liste des providers disponibles)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Mmmh, mes questions ne sont peut-être pas claires. Le fond c'est "mais où diable est documenté ce changement ?" ...
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah, reste à voir s'ils l'ont vraiment supprimé, en l'occurence, quand je liste les providers dispo sur mon installation de java (1.6.0_26-b03 - Windows), SunJCE est toujours listé en tant que provider...

    Et la ligne qui te sort une exception fonctionne chez moi.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par sinok Voir le message
    Bah, Sun n'existe plus, donc oracle a dû changer de nom de provider dans un des builds...

    Comme la liste des providers ne fait pas partie de la spécification, ils peuvent faire un peu ce qu'ils veulent dessus (même si ce n'est pas franchement malin)...

    A toi de voir par quel provider ils l'ont remplacé (de souvenir il y a moyen de récupérer la liste des providers disponibles)
    Je suis pas sûr que ce soit ça. Le message d'erreur lui dit qu'il n'y a pas d'implémentation pour l'algorithme RSA pour le provider SunJCE, pas que le provider SunJCE n'existe pas.

    J'ai cherché dans la documentation et j'ai pas trouvé de mention comme quoi les provider auraient été modifiés. Je suis pas non plus aller lire les logs des différentes updates.

    Chez moi j'ai java en version 1.6.0_26-b3.

    L'exécution de la procédure ci-dessous m'indique que l'algorithme RSA est bien présent pour SunJCE :

    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
     
     
    /**
     * Liste uniquement les Algorithmes (et pas tous les services) disponibles 
     * pour le provider de nom p_sNomProvider. 
     * 
     * @param p_sNomProvider
     */
    static public void listerAlgorithmes(String p_sNomProvider){
     
    	Provider prov = null;
     
    	Provider[] providers = Security.getProviders();
    	Service serv = null;
     
    	for (int i= 0; i< providers.length; i++) {
     
    		if(providers[i].getName().equals(p_sNomProvider)) {
    			prov = providers[i];
    			break;
    		}
    	}
     
    	if(p_sNomProvider.equals("BC")) {
     
    		prov = new BouncyCastleProvider();
    	}
     
    	Iterator<Service> it = prov.getServices().iterator();
    	while(it.hasNext()) {
     
    		serv = it.next();
    		System.out.println(serv.getAlgorithm());
    	}
     
    }
    Sinon je +1 avec le premier message de Sinok, normalement on n'indique pas le provider à utiliser, on va modifier le fichier java.security comme indiqué ici.

    Donc si BenWillard pouvait exécuter cette procédure on pourra peut être y voir plus clair
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  8. #8
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca fonctionne aussi pour la 1.6.0_29
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  9. #9
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    D'abord, merci à tous pour vos réponses

    Donc si BenWillard pouvait exécuter cette procédure on pourra peut être y voir plus clair
    Hum, mon appli marche parfaitement, chiffrage compris, après installation par webstart chez un client, sans manip supplémentaire... Puisque le RSA est présent d'office... Pas de security provider à installer pour ça... Donc non, je ne ne vais pas exécuter cette procédure

    Ca fonctionne aussi pour la 1.6.0_29
    Hum, je suis sous .0_24 ... J'ai un client qui est encore sous .0_19 ... Il y a peut-être un bug transitoire dans la 0_24 ...

    Bon, apparemment c'est réglé, de toutes façons ; je continuerai à investiguer, à l'occasion... En fait je me demandais surtout si par hasard je n'avais pas loupé une source d'informations ; apparemment non... Donc tout va bien
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  10. #10
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Ce ne serait pas lié à WebStart? Le résultat est-il le même en exécutant l'appli depuis webstart ou en la lançant via la commande java?
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  11. #11
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Non, non, ça marchait tranquille depuis au moins 0_13 ou 14, identiquement en webstart, en standalone sur mon ordi, ou lancé depuis Eclipse... Vraiment bizarre... Il n'y a que sous OpenJDK que ça ne marchait pas, ce qui n'était pas vraiment un souci, en fait... Faudrait que je réessaie à l'occase sous OpenJDK.
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/11/2009, 11h45
  2. Gestion des changements dans une BDD en étoile
    Par _skip dans le forum Conception/Modélisation
    Réponses: 5
    Dernier message: 24/08/2008, 10h34
  3. Réponses: 3
    Dernier message: 09/11/2007, 14h23
  4. Réponses: 5
    Dernier message: 13/07/2006, 16h05
  5. Y a-t-il eu des changements dans les rangs du forum ?
    Par pepper18 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 12/06/2006, 15h52

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