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

Applets Java Discussion :

Comment obtenir une signature


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut Comment obtenir une signature
    Bonjour
    Il y a quelques années déjà, j'ai programmé une petite applet java qui aujourd'hui génère un avertissement de sécurité "application non signée etc." qui gêne son utilisation.
    Je voudrais pouvoir continuer à l'utiliser sans cette gêne.
    Sachant que j'ai un peu oublié les rudiments de la programmation Java, je ne voudrais pas reprogrammer l'ensemble de l'applet.
    Dois-je demander une signature numérique, un certificat, que sais-je, et où ?
    Pouvez-vous m'indiquer un mode d'emploi en français si possible.
    Merci d'avance pour vos réponses.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    il faut signer un jar en utilisant un certificat, que tu peux créer toi même, ou que tu peux obtenir (payant ou gratuit) d'un organisme (qui garantira la légimité de ton identité) compétent (comme Verisign par exemple).

    La faq te donnes les commandes pour générer le certificat (keytool) et signer ton jar (jarsigner).

    tu trouveras un tutoriel sur ce site pour signer ton jar.
    Mais je ne le trouve pas super bien fait (cette suite de commandes en ligne sans explication n'est pas terrible)

    Précision : si tu génères le certificat toi même, ça permettra juste à l'utilisateur que l'applet vient de toi, et que le jar n'a pas été modifié (sans avoir été resigné par toi). En gros, ça garantie juste ton identité (enfin si tu refiles pas tes clefs privés), pas que tu es une personne de confiance.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    En gros, ça garantie juste ton identité (enfin si tu refiles pas tes clefs privés), pas que tu es une personne de confiance.
    Au contraire justement, ça ne garantis pas facilement ton identité, a moins de manuellement donner à la personne ta clé publique pour vérification. Les site genre verisign ne garantissent jamais que tu est une personne de confiance. Il garantissent juste ton identité.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Au contraire justement, ça ne garantis pas facilement ton identité, a moins de manuellement donner à la personne ta clé publique pour vérification. Les site genre verisign ne garantissent jamais que tu est une personne de confiance. Il garantissent juste ton identité.
    Mais est ce que c'est pas le but d'une clef publique que d'être publique donc connue ?

    Bien sûr que rien ne garantit jamais que qui que ce soit soit une personne de confiance. Je voulais simplement dire que par un certificat obtenu d'un organisme officiel, on pouvait vérifier la légitimité de l'identité.

    Avec une application signée par un certificat maison, on dit voici une application qui a bien été signée par X.

    X étant une identité pour moi.

    Je ne dis pas que cette identité est vraie, genre comme l'ADN, je dis juste que si Y fournit un autre jar (ou le jar d'origine modifié) en la faisant passer pour un que X (même nom de jar, même GUI, etc...) a fait, on peut vérifier que ce n'est pas le cas par le certificat (en théorie probablement, parce rien ne garantit qu'il n'y a pas moyen de falsifier un certificat).

    Si le certificat est produit par un organisme officiel, on peut vérifier qui est vraiment X donc vérifier que cette identité est légale. Et ça ne garantit pas en effet que X est une personne de confiance.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut Comment obtenir une signature(suite)
    Grand merci pour vos réponses !
    J'ai suivi vos conseils et appliqué les instructions des pages citées.
    Bon, ça marche mais c'est encore pire qu'avant.
    Maintenant, avec mon jar signé, j'ai un avertissement encore plus alarmant puisqu'il faut en plus cocher une case.
    J'ai l'impression d'être un terroriste !
    J'avais programmé une petite applet de géométrie pour mes élèves. Tout ça bénévolement bien sûr et je n'ai pas les moyens de payer une entreprise certifiante. Les parents des gamins risquent de paniquer en voyant l'avertissement. Je suis découragé.
    D'après cet avertissement, il faudrait que je recompile mon jar en modifiant le manifeste. Or je ne sais plus comment on fait et je n'ai guère le temps de m'y replonger.
    Java serait-il maintenant réservé aux entreprises ayant de gros moyens ?

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par jfaba Voir le message
    Grand merci pour vos réponses !
    J'ai suivi vos conseils et appliqué les instructions des pages citées.
    Bon, ça marche mais c'est encore pire qu'avant.
    Maintenant, avec mon jar signé, j'ai un avertissement encore plus alarmant puisqu'il faut en plus cocher une case.
    J'ai l'impression d'être un terroriste !
    J'avais programmé une petite applet de géométrie pour mes élèves. Tout ça bénévolement bien sûr et je n'ai pas les moyens de payer une entreprise certifiante. Les parents des gamins risquent de paniquer en voyant l'avertissement. Je suis découragé.
    D'après cet avertissement, il faudrait que je recompile mon jar en modifiant le manifeste. Or je ne sais plus comment on fait et je n'ai guère le temps de m'y replonger.
    Java serait-il maintenant réservé aux entreprises ayant de gros moyens ?
    Malheureusement, avec la multiplication des attaques utilisant des failles java, Oracle s'est prémuni avec une protection de premier niveau en attendant de trouver mieux. Ils semblent qu'ils y soient aller un peu fort sur la U45 en faisant qu'on ne peut plus accepter un certificat de façon définitive.
    Ceci devrait en théorie évoluer... mais il faut pas s'attendre à avoir autre chose qu'un message hyper alarmant et bien visible (c'est à cause des risques d'attaques en justices, un peu comme tous les avertissements qu'on voit maintenant quand on matte un Blu-ray, ou les avertissements qu'il y a sur les pétards, qui disent que s'y en s'éloigne pas à plus de 100 mètres on peut avoir les membres arrachés ).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Je ne dis pas que cette identité est vraie, genre comme l'ADN, je dis juste que si Y fournit un autre jar (ou le jar d'origine modifié) en la faisant passer pour un que X (même nom de jar, même GUI, etc...) a fait, on peut vérifier que ce n'est pas le cas par le certificat (en théorie probablement, parce rien ne garantit qu'il n'y a pas moyen de falsifier un certificat).
    Y peux très bien lui aussi générer un certificat autosigné en se faisant appeler X, rien ne l'en empêche, tant qu'il n'y a justement aucun mécanisme permettant d'attester.

    Les certificate authority (genre verisign) sont un moyen de l'attester.
    Un autre, c'est de prendre la clé publique autosignée de X, d'avoir X qui se déplace chez Z dans son buerau, lui donne la clé publique et dise "c'est moi" et l'encode dans le certificat de confiance de la jvm de Z.

    Et en cas de certificat autosigné, très très très rarement, on applique cette procédure, généralement on se content de dire au user 'vous cliquez sur oui dans telle boite" et donc au final, ca ne garantis quedalle.

    Un certificat autosigné, c'est un chèque en blanc

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut Merci en tout cas
    ... pour m'avoir consacré un peu de votre temps.
    Je crois qu'il va me falloir attendre que les choses évoluent en espérant qu'elles ne vont pas empirer.

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

Discussions similaires

  1. comment obtenir une date dans une storeproc?
    Par Dnx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/10/2005, 15h19
  2. Comment obtenir une couleur clignotante dans un TStringGrid ?
    Par OutOfRange dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/07/2005, 00h46
  3. Comment obtenir une TOpenDialog en fsStayOnTop ?
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 7
    Dernier message: 28/06/2005, 12h53
  4. comment obtenir une ligne aléatoirement
    Par titoumimi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/05/2005, 15h52
  5. Réponses: 17
    Dernier message: 04/04/2005, 17h50

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