Systeme de securite java2

Fermé
ysatnaf Messages postés 12 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 20 juillet 2011 - 13 mars 2009 à 19:26
ysatnaf Messages postés 12 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 20 juillet 2011 - 14 mars 2009 à 13:20
Bonjour,

J'ai réaliser une applet signée qui permet de communiquer avec une imprimante a ticket. Pour cela, j'ai utiliser l'api Jpos.
Au début mon applet ne fonctionnais pas en m'indiquant des erreur liée a des permission. En parcourant un peu le net, je suis tomber sur une ligne de code :
System.setSecurityManager(null);
Grâce a cette ligne de code, mon programme fonctionne, je peut imprimer des étiquettes via mon applet.

Je cherche a comprendre le principe de cette ligne de code mais ça reste encore assez flou dans mon esprit...
Je sais que le security manager est un système de sécurité intégrer a java 2 qui permet de limiter l'accès aux applet signée. Je sais également qu'il y a un fichier policy dans le répertoire du jdk qui permet de configurer cette sécurité.
Ce que je ne comprend pas :
-Comment paramétré le security manager ?
-Que veut dire exactement cette ligne de code : System.setSecurityManager(null); ?
-Quel est l'interêt de restreindre les permissions des applets signée ? De toute façon, si l'on autorise un certain type d'accès aux applet signée, elles pourrons toujours occasionner des degât via cette permission, non ?

J'ai également lut autre part (dans un tout autre contexte) que si le serveur doit charger des classes qui ne sont pas sur le serveur. Sans security manager, il faut obligatoirement mettre à la disposition du serveur toutes les classes dont il aura besoin (Elles doivent être dans le CLASSPATH du serveur). Avec un security manager, le serveur peut charger dynamiquement certaines classes.

Après avoir lut ça, j'en déduit que le security manager permet de faire plus de chose que je ne pensais. Je me demande donc si quelqu'un peut me dire les different rôle que peut accomplir le security manager.


Toujours dans le cadre du système de sécurité java, j'avais une toute autre interrogation. Je me demandais ce que faisais une organisation comme verisign pour nous permettre d'enlever le message d'avertissement qui apparais a chaque lancement d'une applet. Est ce qu'il signe notre applet ? ils examine notre code source afin de garantir qu'il soit sûr ? Est ce qu'il permettent d'authentifier une signature (afin de dire que la personne qui a signer l'applet est bien la personne qu'il prétend être) ou alors c'est autre chose ?

Merci d'avance pour le temps que vous allez prendre pour me répondre.

2 réponses

choubaka Messages postés 39426 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 28 avril 2025 2 104
14 mars 2009 à 11:22
Salut

https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/SecurityManager.html

https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#setSecurityManager(java.lang.SecurityManager)

c'est le problème avec les applets, en mettant les arguments à null, tu n'utilises pas les sécurités liées à la machine "locale".
Donc forcément ton programme va fonctionner puisqu'il ne tiens pas compte des permissions imposées dans le système.
C'est pour ces raisons que pour certaines applications clients/serveur, on préfère utiliser JSP.
0
ysatnaf Messages postés 12 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 20 juillet 2011
14 mars 2009 à 13:20
Salut,

Merci de ta réponse choubaka.

Donc si on met System.setSecurityManager(null); alors on utilisa pas les système de sécurité java 2 qui limite les droits des applets signées. Par conséquent on passe a travers cette protection.

Si on part du principe que le security manager est là pour protéger les poste client des dégâts que peuvent occasionner une applet signée, c'est assez bizarre. Il suffirais qu'une applet signée malveillante intègre cette ligne de code pour être totalement libre.
Dans ce cas ce système de sécurité ne sert absolument a rien puisqu'il peut être outrepasser par un moyen aussi simple...
Je pense qu'il y a un truc que j'ai pas comprit, c'est pas possible que ce système soit aussi bancale.

En fait, je partais du principe que ce security manager étais là pour limiter les droit des applet signée, mais je me trompe peut être.
Est ce que ce système de sécurité est là pour restreindre les droit aux applet signée ou pour donner des droits supplémentaire aux applet non signée ?
0

Discussions similaires