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 :

Chargement DLL depuis lanceur JNLP


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Par défaut Chargement DLL depuis lanceur JNLP
    Bonjour,
    Je suis actuellement en train de faire un applet pour s’authentifier en ligne via une carte magnétique.
    Pour cela, je dispose d’une archive iaikPKCSWrapper.jar dont je n’ai pas le code source qui s’interface avec une librairie PKCSWrapper.dll
    Du coté de mon applet j’appelle les méthodes de l’archive iaik pour gérer la carte, je ne charge pas de librairie moi-même en somme.

    Hors si je lance mon applet depuis un serveur, ça ne marche que si ma librairie est placée dans le répertoire system32 (et encore il ne faut pas que je recharge la page sous peine d’un classLoader Exception)

    Mais pour déployer mon applet, je veux charger la librairie avec mon lanceur Jnlp, du coup je fais ça :
    <native-lib href="PKCSWrapper.jar"/>

    J’ai également rajouté l’option :
    <property key="java.library.path" value="." />

    Mais j’ai toujours la meme erreur : unsatisfied link error no pkcs11wrapper in java.library.path

    Y a t’-il qqchose que je fais mal ou bien que je n’ai pas compris ? Je ne sais plus quoi faire !
    Je me disais que si le dll était lancé depuis un jnlp ça resoudrait egalement mo probleme de chargement de la librairie lorsque la page web est rafraichie, mais si je ne peux pas faire autrement que de laisser la librairie dans le répertoire system 32 dans mon cas, comment résoudre au moins ce problème la ?



    Désolé pour le pavé, et merci pour votre aide !

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <native-lib href="PKCSWrapper.jar"/>
    Ce n'est pas le jar, mais la DLL que tu dois pointer avec le tag native-lib.
    Pour le reste, le fait que ça marche dépendra au final de comment le PKCSWrapper charge les DLL.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Par défaut
    Oui pardon je n'ai pas précisé mais :
    PKCSWrapper.jar est bien la dll PKCSWrapper.dll que j'ai "archivé" dans un jar
    l'archive qui appelle le dll s'appelle iaikPkcsWrapper.jar

    Pourtant si je mets le dll dans le path du projet il est chargé donc je suppose que le iaikPKCSWrapper doit pouvoir le trouver avec un lanceur jnlp mais je ne vois pas comment définir le path en mettant le dll dans un jar :S

  4. #4
    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
    avec ce native librairy définie dans le JNLP, tu peux nous donner l'output complet de la console java quand tu lance le jnlp?

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Par défaut
    Bonjour,
    Désolé pour le temps de réponse ! Donc voila ce que me donne la console java :

    Je précise : CApplet est mon programme principal, je n'ai pas touché au jar iaikPKCSWrapper ni à PKCSWrapper.jar (à part pour les signer)

    Si j'ouvre la page html qui lance l'applet

    Missing Application-Name manifest attribute for: file:/C:/Users/MOI/Documents/Applet/CApplet.jar
    Missing Permissions manifest attribute in main jar: file:/C:/Users/MOI/Documents/Applet/CApplet.jar



    Si je lance directement le fichier jnlp

    Missing Application-Name manifest attribute for: file:/C:/Users/MOI/Documents/Applet/CApplet.jar
    Missing Permissions manifest attribute in main jar: file:/C:/Users/MOI/Documents/Applet/CApplet.jar
    Ignored exception: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: no pkcs11wrapper in java.library.path
    Plugin2Manager calling stopFailed() because of exception during AppContext.dispose()
    Plugin2Manager calling stopFailed() because of displayable window javax.swing.JFrame[frame0,62,0,316x339,hidden,layout=java.awt.BorderLayout,title=Hello Applet,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,3,26,310x310,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
    Exception in thread "Thread-13" java.lang.NullPointerException
    at sun.plugin2.applet.Plugin2Manager.destroyAppContext(Unknown Source)
    at sun.plugin2.applet.JNLP2Manager.destroyAppContext(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.cleanupAppContext(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.stop(Unknown Source)
    at sun.plugin2.applet.viewer.JNLP2Viewer$2$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    D'ailleurs je suis étonné parce que j'ai bien ajouté un fichier manifeste en créant le CApplet.jar, peut être que je le fais pas correctement, est ce que ça peut jouer ?

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Par défaut
    Bon du coup j'ai "déjarré" l'archive iaikPKCSWrapper.jar pour voir ce qu'il y avait dedans, je trouve une multitude de classes mais pas de code source, donc je ne peux pas savoir comment la lib est chargée.

    Sinon il y a une commande pour spécifier le chemin d'accès de la dll à ce que j'ai compris java -Djava.library.path mais je ne vois pas comment l'utiliser dans le JNLP. Peut être que je m'égare la :s. Je suis dans le flou

    Au pire est-ce possible de : déployer la dll dans le dossier system 32 de l'utilisateur, et trouver un moyen d'empêcher l'erreur classLoader (librairie chargée plusieurs fois au rafraîchissement de la page) ? Ce serait une deuxieme option cool

Discussions similaires

  1. [C#] Chargement de DLLs depuis un fichier
    Par BillyKane59 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2011, 17h03
  2. Communiquer avec une DLL depuis un driver .SYS
    Par barthelv dans le forum Windows
    Réponses: 17
    Dernier message: 03/04/2006, 10h43
  3. problème de chargement dll
    Par tophque dans le forum MFC
    Réponses: 8
    Dernier message: 18/11/2005, 15h14
  4. Accès dll depuis java avec JNI
    Par romano21 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 25/10/2005, 14h53
  5. chargement DLL mode debug/release
    Par bihorece dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/06/2004, 14h05

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