Date de création : 15.02.2001
Dernière modif : 16.04.2017
Document : 582688330
Créé par : Daucourt Philippe
SUN
JAVA 2
Gestion de la sécurité
pour les applets
582688330 16/04/17 Page 2 sur 8
Table des matières
1 Introduction ....................................................................................................................................... 3
2 Sécurité avec Java 2 ........................................................................................................................ 3
3 Le fichier « java.security » ................................................................................................................ 4
4 Les fichiers « .policy » et l’utilitaire « policytool » ............................................................................. 4
5 La sécurité avec le Java Plug-in ...................................................................................................... 6
6 Diagramme résumant la sécurité avec Java 2 ................................................................................. 8
582688330 16/04/17 Page 3 sur 8
1 Introduction
Une applet Java n’a par défaut aucun droit sur les ressources du poste de travail qui l’exécute. Il n’est
donc, par exemple, pas possible à l’applet de lire un fichier se trouvant sur le disque dur local ou
d’accéder à une imprimante. La plate-forme Java 2 permet cependant de définir une politique de
sécurité autorisant certains applets identifiés à utiliser les ressources du client.
Ce document présente donc les concepts nécessaires à la mise en œuvre d’une telle politique de
sécurité.
2 Sécurité avec Java 2
Chaque applet est obligatoirement exécutée sous le contrôle d’un gestionnaire de sécurité (Security
Manager). Celui-ci s’interpose entre l’applet et les ressources du système afin d’empêcher toutes
tentatives d’accès illégales aux ressources du client. Les permissions d’accès sont définies par la
politique de sécurité (Security Policy) installée sur le poste de travail. Lorsqu’aucune politique de
sécurité n’est définie explicitement sur le client, le gestionnaire utilise alors la politique par défaut qui
s’appelle le bac à sable (Sandbox). Le bac à sable interdit aux applets tout accès (lecture et écriture)
aux ressources de la machine locale.
Quand une applet tente d’accéder à une ressource du système, le gestionnaire de sécurité vérifie si le
code exécuté a la permission d’accéder à cette ressource en consultant la politique de sécurité. Si la
permission est accordée, tout se passe normalement. Dans le cas contraire, une exception est levée.
Un navigateur Web qui veut exécuter des applets doit lui-même charger lors de son démarrage un et
un seul gestionnaire de sécurité qui sera partagé par toutes les applets placées sous son contrôle.
Pour des raisons de sécurité évidentes, une applet ne peut pas créer et utiliser son propre
gestionnaire de sécurité.
Par opposition aux applets, une application Java n’a aucun gestionnaire de sécurité par défaut. Une
application peut donc accéder sans autre aux ressources locales du client. C’est au programmeur de
créer un gestionnaire de sécurité qui limitera les accès de son application.
582688330 16/04/17 Page 4 sur 8
3 Le fichier « java.security »
Le fichier « java.security » est un fichier de configuration qui indique aux gestionnaires de sécurité
comment la politique de sécurité est définie sur un poste de travail.
Aperçu partiel du contenu d’un fichier « java.security » :
Policy.url.1=file:${java.home}/lib/security/java.policy
Policy.url.2=file:${user.home}/.java.policy
Policy.url.3=file:/c:/maSecuriteJava/maPolitique.policy
Dans cet exemple, la politique de sécurité du poste client est définie par trois fichiers.
Pour savoir dans quel répertoire se trouve le fichier « java.security », il faut effectuer une recherche
sur le disque dur. Son emplacement dépend de l’environnement d’exécution Java 2 (voir chapitre 5)
utilisé.
4 Les fichiers « .policy » et l’utilitaire « policytool »
Les fichiers « .policy » servent à paramétrer la politique de sécurité du système local. Un fichier
« .policy » contient un ensemble de répertoires auxquels sont attribués individuellement un ensemble
de permissions.
Exemple de fichier « .policy » :
grant codeBase "file://J:/daucourt/ "
{
permission java.lang.RuntimePermission "queuePrintJob";
};
grant codeBase "http://esnig2.cpln.ch/applet/"
{
permission java.lang.RuntimePermission "queuePrintJob";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
Ce fichier autorise toutes les applets du répertoire « j:\daucourt » à utiliser les imprimantes locales et
celles du répertoire « applet » sur la machine « esnig2.cpln.ch » à imprimer et à écrire sur le système
de fichier local.
L’utilitaire « policytool » est un programme livré avec le JDK qui permet de créer et d’éditer des
fichiers « .policy » au travers d’une interface graphique.
Pour lancer l’utilitaire « policytool » il suffit de taper policytool dans une fenêtre de ligne de
commande pour autant que le chemin d’accès aux programmes du JDK soit correctement défini dans
la variable « path » du système d’exploitation (par exemple : c:\jdk1.3\bin).
582688330 16/04/17 Page 5 sur 8
Aperçu du fichier « maPolitique.policy » au travers de l’utilitaire « policytool »:
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !