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

Développement Web en Java Discussion :

Elimination des messages d'avertissement - Identification du(des) jar(s) à réviser


Sujet :

Développement Web en Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut Elimination des messages d'avertissement - Identification du(des) jar(s) à réviser
    Salut tout le monde,

    Mon contexte est le suivant:
    • Reprise d'une application qui utilise JavaWebStart

    • Plusieurs jars référencés par la JNLP principal

    • Les jars sont signés mais expirés

    • A l'origine, les JNLP ne sont pas intégrés dans leur jar respectif

    • JRE 1.7.0_80


    Pour cela, j'ai réalisé les actions suivantes :
    • Génération d'un certificat maison

    • Détarage de chaque jar en analysant leur manifest.txt en conservant leurs éventuels paramètres

    • Re-packaging des jars en intégrant le JNLP-INF (pour signer le jnlp associé) au jar

    • Signature des jars

    • Génération et enregistrement du certificat qui va bien pour les clients


    J'ai éliminé pas mal de message : il m'en reste un sur les bras ...
    Nom : Screen Shot 09-28-15 at 02.08 PM.PNG
Affichages : 1891
Taille : 43,9 Ko

    Je n'arrive pas à identifier le jar qui provoque cet avertissement. Est-ce possible de le connaitre ?
    Normalement, tous les jars ont maintenant leur JNLP signé (intégré dans leur JAR signé).

    Merci par avance à la communauté !

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Par défaut
    Bonjour,

    Je ne sais pas s'il y'a une manière pour éliminer cette fenêtre dans panneau de configuration/java/sécurité et faire confiance aux sites ... mais sinon c'est un comportement normal car ton fichier.jnlp tente d'exécuter un programme java au niveau de la jvm du client qui peut lancer des mauvaises instructions et endommager le pc du client.
    Donc ça rentre dans le cadre de sécurité du système, c'est pratiquement le même cas lors de l'activation d'un plugin java au niveau de ton navigateur tu auras un message d'avertissement pour faire toujours confiance ou ne pas exécuté le plugin. Mais sinon ce n'est pas un de tes jars qui provoque cette fenêtre d'avertissement mais plutôt l'environnement de ton système.

  3. #3
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Bonjour,

    Tout d'abord merci de ton intérêt à ma problématique !

    Citation Envoyé par Maine13 Voir le message
    ce n'est pas un de tes jars qui provoque cette fenêtre d'avertissement mais plutôt l'environnement de ton système.
    Le jar qui provoque ce message d'avertissement est bien un de mes jars car la signature annoncée dans ce message est bien celle que j'ai mis en oeuvre.

    Pour compléter la description de la configuration que j'ai déclaré sur les clients dans la console Java, je précise que j'ai importé le certificat dans "Certificats sécuriés" et "CA du signataire".

    Il doit bien avoir un moyen de supprimer ce dernier message.

  4. #4
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Il y a peut-être un début de réponse içi https://weblogs.java.net/blog/2005/0...t-applications

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Par défaut
    Le message d'avertissement est bien ce lui que tu as posté dans l'image ?? Est-ce-que cette fenêtre te bloque et ne te permet pas l'exécution de ton application ??
    Si c'est le cas alors tu dois nous posté l'exception générer.
    Sinon tu es entrain d'exécuté une application signé c'est évident que tu trouveras le certificat avec lequel tu as signé tes .jars.
    Ton fichier.jnlp va essayer de télécharger l'application java déployé sur un serveur distant et de l'exécuté, donc l'utilisateur souhaitant lancé cette application doit être averti que c'est une application inconnu situé dans le serveur xxx et signé avec un certificat yyy et peux être dangereuse. Trouve tu ce comportement bizarre !!!
    Je trouve que c'est un comportement normal et je pense que la seule manière qui peux t'apporté de l'aide c'est au niveau de configuration, un truc comme je te l'avais dis tout à l'heure panneau de configuration/java/onglet sécurité/site de confiance ...

  6. #6
    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
    Tu n'aurais pas mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <security>
       <all-permissions/>
    </security>
    dans ton jnlp par hasard?

    Aussi, je ne pense pas qu'il soit possible de lancer une application jnlp sans le moindre avertissement. C'est une question de bon sens par rapport à la sécurité. Flash ne pose pas la question, résultat, il ne se passe pas un mois sans exploit.

  7. #7
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Pour info, à l'origine, ce ne sont pas des Jars développés par mes soins. Ce sont des jars d'un éditeur que je désire signer avec le certificat de mon entreprise. Je cherche à intégrer le bazarre dans ma solution...
    Autre point, je n'ai jamais manipulé/bidouillé de Jars (à ce niveau) donc pardonnez-moi de mon innocence.

    J'avance pas à pas...
    Je viens de remarquer que le contenu du JNLP est dynamique. Après lecture du grand Oracle, j'ai donc signé le JNLP en intégrant un JNLP-INF/APPLICATION_TEMPLATE.JNLP (en lieu et place du JNLP-INF/APPLICATION.JNLP précédent) et en modifiant son contenu : J'ai utilisé le méta-caractère "*" dans les zones de variance convenues (valeur d'attribut ou contenu de balise)

    Le message change... Le petit bouclier contient un "i" comme information... Et non un "!" comme "pas bien !"

    Nom : Screen Shot 09-29-15 at 10.15 PM.PNG
Affichages : 1710
Taille : 23,2 Ko
    Et quand je clique sur "Plus d'informations", il ne me parle plus du jar qui est signé alors que son JNLP ne l'est pas... Tout ca est lié au template...

    Nom : Screen Shot 09-29-15 at 10.37 PM.PNG
Affichages : 1670
Taille : 38,0 Ko

  8. #8
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Aussi, je ne pense pas qu'il soit possible de lancer une application jnlp sans le moindre avertissement. C'est une question de bon sens par rapport à la sécurité. Flash ne pose pas la question, résultat, il ne se passe pas un mois sans exploit.
    Bonjour tchize_

    Merci pour ton intérêt à ma cause

    Oui cette clause sur les permissions est intégrée dans le JNLP (et le Manifest du jar associé).

    Si ce jar n'est pas signé, c'est le bon sens de ne pas pouvoir couper à ces messages d'avertissement.
    Si le jar est signé avec un certificat installé, reconnu par le poste client, je ne vois pas pourquoi mes utilisateurs se taperaient ces messages à chaque fois qu'il exécute la fonction (malheureusement en JavaWebStart (sous Flash encore pire )) proposée par le produit.

    Donc NON je ne désespère pas

  9. #9
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Précisement, j'aimerai avoir ce message suivant :
    Nom : Screen Shot 09-29-15 at 11.27 PM.PNG
Affichages : 1708
Taille : 121,1 Ko

    car sa case à cocher serait très libératrice ..

  10. #10
    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
    d'après ce qu'on trouve ailleurs comme info, pour la checkbox:

    il y a une entrée de Manifest qui y correspond: https://docs.oracle.com/javase/8/doc....html#A1148583
    La présence d'un href=.... dans le tag jnlp est nécessaire.

  11. #11
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    d'après ce qu'on trouve ailleurs comme info, pour la checkbox:

    il y a une entrée de Manifest qui y correspond: https://docs.oracle.com/javase/8/doc....html#A1148583
    La présence d'un href=.... dans le tag jnlp est nécessaire.
    Tant qu'il y a de la vie, il y a de l'espoir ! Merci tchize_

    A priori, je suis dans cette situation mais je vais vérifier en détail et te (vous) tiens informé(s)

    Par contre, mes collègues (Merci P..., Merci T...) ont identifié une solution. Il suffit d'exporter le certificat enregistré dans le magasin accessible depuis la console Java et de l'installer dans le magasin Windows. Et là Miracle !! Plus de message !!

    1. Rechercher le certificat dans la console Java et l'exporter dans un fichier avec un suffixe reconnaissable de Windows ".crt"
    2. Click droit sur le fichier et choisir "Installer le certificat"
    3. Faites "Suivant"
    4. Choisir le bouton radio "Placer tous les certificats dans le magasin suivant"
    5. Choisir le magasin "Editeurs approuvés"


    Evidemment, il faut que vos jars soient signés avec un "vrai" éditeur de signatures connu de la place (moyennant finance bien évidemmment).
    Pour devenir un tel éditeur, par exemple, allez içi

  12. #12
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Eureka !

    Pour éviter la contrainte de la signature d'un "vrai" éditeur, j'ai identifié une solution.
    Il suffit d'ajouter les lignes suivantes dans tous les fichiers "MANIFEST.MF" des fichiers jars :
    • Application-Library-Allowable-Codebase: *
    • Caller-Allowable-Codebase: *


    Sachant que j'avais ajouté la ligne "Permissions: all-permissions" dans ces fichiers dans l'objectif d'obtention d'un unique message.

    Je suis bien conscient que ce tuning est peut-être trop "ouvert" et/ou spécifique à mon contexte d'usage... Mais cela rassure car je commencais à désespérer.
    J'espère que les version ultérieures de Java ne reviendront pas là-dessus car cela serait une vraie régression ! (Pour info, sous Java 8, le comportement ne change pas oufff)

    A partir de cet instant, on obtient le message suivant (avec sa jolie case à cocher ):
    Nom : Screen Shot 11-02-15 at 11.21 AM.PNG
Affichages : 1662
Taille : 26,2 Ko

    Citation Envoyé par tchize_ Voir le message
    La présence d'un href=.... dans le tag jnlp est nécessaire.
    Merci Tchize_ pour ton attention
    Le href était bien positionné.

    A+

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

Discussions similaires

  1. [AC-2007] Supprimer des messages d'avertissement dans Excel 2007
    Par leinadjan dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/02/2013, 15h23
  2. Réponses: 2
    Dernier message: 17/02/2010, 17h27
  3. [MySQL] Supprimer des messages d'avertissements
    Par beegees dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 23/10/2008, 09h58
  4. Afficher un message de confirmation avant suppression des messages
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 18/08/2006, 13h17

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