OVH Cloud OVH Cloud

Applet java et dll ?

3 réponses
Avatar
Bruno
Bonjour,

J'aimerai savoir s'il existe des exemples ou tutoriaux (complets et qui
fonctionnent!!), pour utiliser une applet java qui charge une DLL et fait
appel à ses fonctions. J'ai eu beau lire à peu près tout ce que j'ai pu à ce
sujet : articles, bout de code, docs, newsgroups mais à aucun moment je n'ai
réussi à trouver un exemple simple, qui fonctionne et que je puisse
exploiter pour l'adapter à mon application.

Je préfèrerai en priorité des exemples pour IE (et éventuellement Netscape).

Beaucoup parlent de signer l'applet pour que cela fonctionne, ce que je
pense avoir fait, mais j'obtiens toujours ce message :

Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission loadLibrary.hello)


Merci d'avance à ceux qui pourrant me renseigner :)

3 réponses

Avatar
vclassine
"Bruno" wrote in message news:<btjed4$p4d$...
Bonjour,

J'aimerai savoir s'il existe des exemples ou tutoriaux (complets et qui
fonctionnent!!), pour utiliser une applet java qui charge une DLL et fait
appel à ses fonctions. J'ai eu beau lire à peu près tout ce que j'ai pu à ce
sujet : articles, bout de code, docs, newsgroups mais à aucun moment je n'ai
réussi à trouver un exemple simple, qui fonctionne et que je puisse
exploiter pour l'adapter à mon application.

Je préfèrerai en priorité des exemples pour IE (et éventuellement Netscape).

Beaucoup parlent de signer l'applet pour que cela fonctionne, ce que je
pense avoir fait, mais j'obtiens toujours ce message :

Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission loadLibrary.hello)

Merci d'avance à ceux qui pourrant me renseigner :)


Il s'agit effectivement d'un problème de sécurité. Je ne connais pas
de limitation à l'utilisation de JNI avec les applets (mais j'ai la
science diffuse) c'est donc probablement que ta signature n'est pas
correcte...

Une bonne façon de le vérifier c'est de rajouter (avant l'appel qui
provoque l'echec) une tentative de lecture d'un fichier local, si ça
ne marche pas c'est que ta signature n'a pas marché...

Avatar
Maurice PHILIPPE
En fait il faut non seulement signer l'applet, mais aussi autoriser le
signataire (lui attribuer des droits).
Pour cela utiliser l'outil policytool

"Vincent" a écrit dans le message de
news:
"Bruno" wrote in message
news:<btjed4$p4d$...

Bonjour,

J'aimerai savoir s'il existe des exemples ou tutoriaux (complets et qui
fonctionnent!!), pour utiliser une applet java qui charge une DLL et
fait


appel à ses fonctions. J'ai eu beau lire à peu près tout ce que j'ai pu
à ce


sujet : articles, bout de code, docs, newsgroups mais à aucun moment je
n'ai


réussi à trouver un exemple simple, qui fonctionne et que je puisse
exploiter pour l'adapter à mon application.

Je préfèrerai en priorité des exemples pour IE (et éventuellement
Netscape).



Beaucoup parlent de signer l'applet pour que cela fonctionne, ce que je
pense avoir fait, mais j'obtiens toujours ce message :

Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission loadLibrary.hello)

Merci d'avance à ceux qui pourrant me renseigner :)


Il s'agit effectivement d'un problème de sécurité. Je ne connais pas
de limitation à l'utilisation de JNI avec les applets (mais j'ai la
science diffuse) c'est donc probablement que ta signature n'est pas
correcte...

Une bonne façon de le vérifier c'est de rajouter (avant l'appel qui
provoque l'echec) une tentative de lecture d'un fichier local, si ça
ne marche pas c'est que ta signature n'a pas marché...



Avatar
vclassine
"Maurice PHILIPPE" wrote in message news:<btqhhk$t57$...
En fait il faut non seulement signer l'applet, mais aussi autoriser le
signataire (lui attribuer des droits).
Pour cela utiliser l'outil policytool


Je pense que c'est l'un ou l'autre pas les deux. Policytool permet de
donner des droits à une applet non signée. Par contre la signateure
donne des droits, sans configuration côté client. Je l'ai déjà fait
avec des sockets et des commandes système (Runtime.exec) et ça marche,
après pour JNI je ne vois pas pourquoi ça ferait l'objet de mesures
spécifiques...