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 :

JWS et certificat


Sujet :

Sécurité Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut JWS et certificat
    Bonjour,

    Nous utilisons le JDK 1.4.2 pour déployer une application sur le poste client au travers de Java WebStart.

    Nous avons signé nos archives Jar avec un certificat produit "manuellement" et qui n'a donc rien d'officiel.

    Nous avons besoin dans cette application d'accèder à tout un tas de ressources comme le reseau, le disque local, et nous souhaitons disposer de fenetres Swnig ne contenant pas le message "Warning : applet Window" (ou qqchose du genre).

    Pour ce faire, nous avons utilisé une méthode un peu "bourrine" : nous dégageons le SecurityManager de la JVM cliente via un "System.setSecurityManager(null);


    Tout ceci fonctionne très bien... Mais il reste toujours un petit soucis que nous aimerions régler : lorsque l'application se lance, une fenêtre nous indique que notre application peut potentiellement attaquer le poste client, et nous suggère de refuser son exécution...

    Comment s'y prendre pour ne pas avoir ce message ? Le fait de passer par un "vrai" certificat pourrait-il régler le problème (je n'y connais pas grand chose dans ce domaine).

    D'avance merci pour votre aide,

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 47
    Points
    47
    Par défaut JWS et certificat
    Bonjour,

    Si le message provient de WebStart, et c'est une fenetre "Security Warning",
    effectivement, il vous faut un certificat delivre par un CA (Certificate Authority), exemple Thawte, ou Verisign.

    Robert

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette réponse.

    Si le certificat est officiel, ce message va-t-il disparaitre. J'ai trouvé un article sur JWS :

    http://today.java.net/pub/a/today/2005/09/01/webstart.html

    A la lecture de ce qui est indiqué, j'ai l'impression que j'aurai toujours ce message !!!

    Merci,

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 47
    Points
    47
    Par défaut
    En gros, WebStart fonctionne comme cela:
    Au premier lancement de l'appli, WebStart analyse tous les fichiers JAR.
    Dans tous les cas de figure, le "Security Warning" message de dialogue s'affiche.
    Il contient 2 indications

    1) message signe:
    a) avec un "self-signed certificate"
    ==> une icone "Warning", plus un message de mise en garde
    b) avec un "trusted CA certificate"
    ==> une icone "Information", plus un message comme quoi l'utilisateur peut utiliser sans crainte le "package"

    2) validite du certificat:
    a) certificat a expire ==> une icone "Warning", plus un message de mise en garde
    b) certificat toujours valide ==> une icone "Information"

    pour 1-b), il faut que le "trusted CA certificate" soit dans le "CA certs KeyStore" de la JRE de l'utilisateur.

    Exemple de "trusted CA certificate" par defaut dans le "CA certs KeyStore" de JRE 1.5.0:
    . verisignclass1ca
    . entrustsslca
    . thawteserverca
    . gtecybertrustca

    Astuce: le certificat "thawte personal freemail" est inclus par defaut dans le "CA certs KeyStore de JRE.
    Si tu veux tester ton appli pour voir son comportement avec des JAR signes par une authorite de certification, tu peux recuperer un certificat "thawte personal freemail", gratuit et valide un an, et signe tes JAR avec.
    Je l'ai fait dans le passe, cela marche bien.

    -Robert

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour ces informations précieuses.

    Saurais tu si il est possible de récupérer un trusted certificat dans le JRE ou JDK 1.4, je n'ai pas le 1.5 sur ma machine et je ne veux pas la pourir,


    Merci,

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 47
    Points
    47
    Par défaut
    Je ne suis pas sur de comprendre.

    Si la question est de voir le contenu du keystore de la JRE 1.4, alors:
    depuis DOS ou SHELL, avec l'outil keytool du JDK, tu utilise l'option -list.
    ex:
    keytool
    -list
    -keystore cacerts
    -storepass changeit

    "cacerts" est le keystore, situe dans JDK-HOME\jre\<version>\lib\security
    "changeit" est le mot de passe par defaut de "cacerts"

    Sinon, pour visualiser "cacerts" autrement que par une ligne de commande, tu peux utiliser "KeyTool IUI", une version de keytool avec interface graphique, jette un coup d'oeil sur mon site.
    Dans ce cas, fait d'abord une copie de "cacerts", nomme la "cacerts.jks",
    Une fois l'utilitaire lance, dans la barre des menus, selectionne
    View | Preview file | KeyStore | JKS KeyStore ...
    et ouvre le fichier "cacerts.jks"
    ==> la liste des certificats de la JRE est affichees

    Si tu as dans la liste, un certificat du genre "thawtepersonalfreemailca", alors, tu peux utiliser le certificat mentionne dans mon "post" precedant, pour signed tes JAR, et obtenir des "trusted CA certificates" lues par WebStart.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci encore beaucoup pour ces informations.

    Je pense être proche du but maintenant.

    Voici ce que j'ai tenté de faire, étant donné que je n'ai pas trouvé le certificat dont vous m'avez parlé.

    J'ai ajouter le certificat "auto-validant" que nous avions créé pour signer nos fichiers .jar via l'option import de keytool.

    En faisant cela, j'espérais pouvoir valider sur mon poste le fait qu'avec un certificat connu dans ma base locale, le message allait être moins "violent".

    J'ai tapé la commande
    keytool -import -v -file monCert -keystore cacerts -storepass changeit

    La réponse a été "Certificat ajouté au keystore". Lorsque je relance mon application (après avoir vidé le cache JWS), le message est toujours aussi alarmiste...

    Je vois trois solutions :
    - JWS n'utilise pas le keystore cacerts présent dans le JRE... J'ai cherché dans le répertoire de JWS mais je n'ai rien trouvé d'autre....
    - mon approche n'est pas bonne, même si mon certificat est connu dans le keystore, cela ne peut pas fonctionner du fait que mon certificat n'est pas "certifié" par un organsime officiel...,
    - ce message sera toujours le même quoi que je fasse,

    En tous les cas, merci encore beaucoup pour votre aide, si vous avez deux minutes pour me donner un dernier coup de pouce, ce serait très gentiol, je sens que je suis très prêt du résultat...

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bon en bidouillant dans l'IHM de JWS, j'ai vu qu'il était possible d'importer graphiquement des certificats.

    Je l'ai fait avec le mien et... miracle, le message est bien moins violent maintenant.

    Merci encore beaucoup pour ton aide.

    Je me pose toutefois toujours la question de savoir ou JWS stocke ses certificats. Cela m'arrangerait de le savoir car j'aimerai pouvoir faire via une commande keytool ce que j'ai fait graphiquement dans JWS. Si tu avais une idée....


    Très cordialement,

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 47
    Points
    47
    Par défaut
    Recherche un fichier nomme "trusted.certs"
    EX: avec W2K,
    C:\Documents And Settings\<nom-utilisateur>\Application Data\Sun\Java\Deployment\security\trusted.certs

Discussions similaires

  1. Problème certificat JWS sous Windows 7
    Par DaveRidic dans le forum JWS
    Réponses: 1
    Dernier message: 11/10/2012, 13h34
  2. Réponses: 1
    Dernier message: 25/06/2010, 14h36
  3. [JWS] Pb de certificat avec Bouncy Castle
    Par elitost dans le forum JWS
    Réponses: 5
    Dernier message: 20/10/2009, 11h11
  4. Certificats et HTTPS
    Par jean.lamy dans le forum Sécurité
    Réponses: 3
    Dernier message: 24/06/2004, 15h31

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