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 :

[Applet] Problème RuntimePermission...


Sujet :

Applets Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut [Applet] Problème RuntimePermission...
    Bonjour

    J'aurais encore besoin de vos lumière J'ai un applet qui apelle un service Web Axis. Il m'envoi une Exception: JavaRuntimePermission.
    J'ai donc crée un fichier policy nommé "AppletEmprunt.policy". J'ai ensuite crée un .keystore avec la commande:

    -keytool -genkey -alias Joy6 -validity 50000

    J'ai lancé le policytool pour mettre en relation le keystore crée ainsi que le fichier .policy. J'ai pu ensuite crée mes permissions:



    J'ai enfin signer mon fichier jar avec mes classes de l'applet puis vérifier que mon .jar est bien signer:




    Pour finir voilà le code de mon fichier.policy:





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /* AUTOMATICALLY GENERATED ON Tue Oct 11 13:18:55 CEST 2005*/
    /* DO NOT EDIT */
     
    keystore "file:/C:/Documents and Settings/UMRLGMPA/.keystore";
     
    grant signedBy "Joy6",  codeBase "file:/C:/utilisateurs/Kieran/Java/Emprunts/CreationCompte.jar" {
      permission java.security.AllPermission, signedBy "Joy6";
    };

    Mon problème c'est que quand je lance mon applet dans un browser, j'ai toujours cette même Exception:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)
    	at java.security.AccessControlContext.checkPermission(Unknown Source)
    	at java.security.AccessController.checkPermission(Unknown Source)
    	at java.lang.SecurityManager.checkPermission(Unknown Source)
    	at java.lang.SecurityManager.checkCreateClassLoader(Unknown Source)
    	at java.lang.ClassLoader.<init>(Unknown Source)
    	at org.apache.commons.discovery.jdk.PsuedoSystemClassLoader.<init>(PsuedoSystemClassLoader.java:73)
    	at org.apache.commons.discovery.jdk.JDK12Hooks.findSystemClassLoader(JDK12Hooks.java:215)-
    	at org.apache.commons.discovery.jdk.JDK12Hooks.<clinit>(JDK12Hooks.java:73)
    	... 35 more

    Comme si ce que j'avais fait n'avais servi à rien... Est-ce que j'aurais louper une étape?? Merci d'avance pour votre aide

  2. #2
    Membre averti Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Points : 331
    Points
    331
    Par défaut
    Question ?:
    est ce que le browser t affiche un message d alert comme quoi c est du code qui peut etre dangereux etc....

    Conseil :
    je signe par Ant avec Jarsigner c est nettement plus simple et plus rapide de scripter la tache de signature du jar.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par magnus2005
    Question ?:
    est ce que le browser t affiche un message d alert comme quoi c est du code qui peut etre dangereux etc....

    Conseil :
    je signe par Ant avec Jarsigner c est nettement plus simple et plus rapide de scripter la tache de signature du jar.
    Oui lors du chargement de l'applet sur le pc client, il demande si l'on veut faire confiance ou pas. C'est bien Le nom que j'ai entrée dans le keystore donc pas d'erreur je pense...

    Comment fonctionne ant, il faut un plugin pour Ecplise? Désolé a ce niveau là j'y connais rien (Qui a dis que je connaissais rien du tout??!!! )

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    :up: svp

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Aucun geek pour me filer un coup de pouce?

  6. #6
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    je vais peut etre dire des conneries vu que je n'utilise jamais policytool et que chez moi tout marche du 1er coup avec mes signatures mais...
    est-ce le policytool ne devrait pas etre utilisé avant de signer ton applet?
    Colère et Haine mènent à la Puissance

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par keil
    je vais peut etre dire des conneries vu que je n'utilise jamais policytool et que chez moi tout marche du 1er coup avec mes signatures mais...
    est-ce le policytool ne devrait pas etre utilisé avant de signer ton applet?
    On peut toujours essayer mais j'ai des doutes Merci pour la proposition en tout cas!

    Edit: J'ai crée des règle pour un fichier .jar non signer et ca me fait la même erreur.

  8. #8
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Un applet ne pourrait donc pas dialoguez avec un service web?

    Je tiens à préciser que mon applet est correctement signé. Lors du lancement de l'applet, il me demande si je dois faire confiance ou pas, et cela avec le nom que j'ai assigné au keystore...

    Merci de votre aide

  9. #9
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    si si tu peux, voila mon experience:
    j'ai un serveur de servlet : on va l'appeler SS.
    quand un client s'y connecte, SS ouvre un serveur TCP (serverSocket) ecris dynamiquement la page web du client dans lequel il y a une applet qui a pour parametre le port du serveur TCP.
    Le client recoit donc cette page web, telecharge l'applet puis l'execute.
    L'applet crée une connexion au serveur TCP et ainsi, le client peut desormais dialoguer avec SS par l'intermédiaire du serveur TCP.

    C'est surement tres mal foutu puisqu'à chaque invocation de la servlet un serveur TCP est créé mais ca marche.
    Colère et Haine mènent à la Puissance

  10. #10
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    C'est une communication applet/servlet si j'ai bien compris?

    Si non, tu utilise Axis?

    Dans mon cas, c'est un applet qui appele un service web Axis (SWA). SWA se connecte simplement a la base de donnée et execute une requete dans la BDD. Ce n'est pas bien compliqué et pourtant y a toujours se problème qui me bride!

    La continuité de mon projet serait justement de convertir un autre projet fonctionnant en applet/servlet vers applet/service web. C'est le même principe, en gros mais en beaucoup plus large. Sauf que si je résoud pas le problème actuel...

  11. #11
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    Tu veux une architecture 3-Tiers donc.
    Bref, une applet s'éxecute sur la machine client, pas la machine serveur, donc vu que je sais pas comment tu t'es organisé, je peux pas t'apporter beaucoup d'aide
    Colère et Haine mènent à la Puissance

  12. #12
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    C'est simple

    Serveur: - Service Web Axis : execution de requètes SQL

    Clients: - Applet de récupérations de données

    Que souhaites-tu savoir de plus?

  13. #13
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    hum je vois je vois, interesse toi a RMI
    Colère et Haine mènent à la Puissance

  14. #14
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    ouai sinon ton runtime exception est du a quoi?
    Colère et Haine mènent à la Puissance

  15. #15
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par keil
    hum je vois je vois, interesse toi a RMI
    RMI ?

    Au sujet de la cause de l'exception j'aimerais bien la connaitre mais je pense que c'est due aux permissions...

    Voilà l'erreur si ca peut aider:

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Exception in thread "AWT-EventQueue-2" java.lang.ExceptionInInitializerError
    	at org.apache.commons.discovery.jdk.JDKHooks.<clinit>(JDKHooks.java:75)
    	at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:412)
    	at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:378)
    	at org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
    	at org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
    	at org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:43)
    	at org.apache.axis.client.Service.getAxisClient(Service.java:103)
    	at org.apache.axis.client.Service.<init>(Service.java:112)
    	at creation.CreationCompte.ok_actionPerformed(CreationCompte.java:129)
    	at creation.CreationCompte$CreationCompte_ok_actionAdapter.actionPerformed(CreationCompte.java:330)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)
    	at java.security.AccessControlContext.checkPermission(Unknown Source)
    	at java.security.AccessController.checkPermission(Unknown Source)
    	at java.lang.SecurityManager.checkPermission(Unknown Source)
    	at java.lang.SecurityManager.checkCreateClassLoader(Unknown Source)
    	at java.lang.ClassLoader.<init>(Unknown Source)
    	at org.apache.commons.discovery.jdk.PsuedoSystemClassLoader.<init>(PsuedoSystemClassLoader.java:73)
    	at org.apache.commons.discovery.jdk.JDK12Hooks.findSystemClassLoader(JDK12Hooks.java:215)
    	at org.apache.commons.discovery.jdk.JDK12Hooks.<clinit>(JDK12Hooks.java:73)
    	... 35 more

  16. #16
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    ouai mais, on dirait que l'erreur ne vient pas de ton code mais de axis.
    j'utilise pas axis au fait, je ne sais pas ce que c'est, pour info, quand je programme, j'utilise uniquement le bloc note et la console pour javac.
    enfin bon, si l'erreur provient de ton code, peux tu me fournir les qq lignes en cause?
    Colère et Haine mènent à la Puissance

  17. #17
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par keil
    ouai mais, on dirait que l'erreur ne vient pas de ton code mais de axis.
    j'utilise pas axis au fait, je ne sais pas ce que c'est, pour info, quand je programme, j'utilise uniquement le bloc note et la console pour javac.
    enfin bon, si l'erreur provient de ton code, peux tu me fournir les qq lignes en cause?
    Oui mon code est bon, l'applet s'execute correctement dans l'applet viewer sous eclipse et tout fonctionne. C'est vraiment une histoire de permission mais je ne sais pas quoi faire de plus que ce que j'ai déjà fait

  18. #18
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    si y'a un pb de permission c'est que tu tentes de faire des actions interdites, ca peut etre n'importe quoi, ecriture sur disque, tentative de connexion directe client BDD, capture de webcam, faut repererr a quel moment t'as ce pb, voir si ca marche sans la partie qui m****.
    j'ai vu un pb de classloader, comme si tu ne fournissait pas un jar qu'il fallait.

    Donc, deux trucs à revoir:
    1- ton architecture, est-elle bien conforme
    2- ton code, a-t-il le droit d'etre executer

    c'est toujours les pb qui reviennent quand on programme avec des outils externes, c'est pour ca que j'essaie de m'en passer le + possible
    Colère et Haine mènent à la Puissance

  19. #19
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par keil
    si y'a un pb de permission c'est que tu tentes de faire des actions interdites, ca peut etre n'importe quoi, ecriture sur disque, tentative de connexion directe client BDD, capture de webcam, faut repererr a quel moment t'as ce pb, voir si ca marche sans la partie qui m****.
    j'ai vu un pb de classloader, comme si tu ne fournissait pas un jar qu'il fallait.

    Donc, deux trucs à revoir:
    1- ton architecture, est-elle bien conforme
    2- ton code, a-t-il le droit d'etre executer

    c'est toujours les pb qui reviennent quand on programme avec des outils externes, c'est pour ca que j'essaie de m'en passer le + possible
    Je penche pour l'option deux, je vais essayer de voir ca. Comment me conseille tu de débugguer mon applet?

    Merci

  20. #20
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    parseme ton code de System.out.println();
    un println apres chaque action, tu affiche 1 puis 2 puis 3 puis etc...
    Colère et Haine mènent à la Puissance

Discussions similaires

  1. [DEBUTANT] [APPLET] Probléme aprés compilation !
    Par crazyman8 dans le forum Applets
    Réponses: 5
    Dernier message: 13/01/2006, 18h18
  2. [Applet] problèmes d'accès aux images
    Par wwave dans le forum Interfaces Graphiques en Java
    Réponses: 18
    Dernier message: 16/09/2005, 14h42
  3. [debutant][Applet] problèmes insertion applet java
    Par mlequim dans le forum Applets
    Réponses: 5
    Dernier message: 11/07/2005, 09h50
  4. Réponses: 8
    Dernier message: 12/05/2005, 08h16

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