[Java] Créer une applet qui accède au disque dur

Dernière mise à jour le 20 novembre 2009 à 14:16 par marlalapocket
Publié par sebsauvage
Habituellement, le système de sécurité des applets Java interdit totalement aux applets d'accéder aux ressources de la machine (disque dur, base de registre, etc.) ainsi qu'au réseau (l'applet ne peut communiquer qu'avec son serveur d'origine.)


Si vous voulez créer une applet qui outrepasse ces sécurités, il est nécessire:

- de créer une applet signée cryptographiquement
et
- que l'internaute autorise explicitement l'applet à accéder au système
(C'est une action volontaire de l'internaute qui ne peut être outrepassée.)



Une fois ces deux conditions réunies, vous pourrez lire/écrire sur le disque dur, lancer des programmes (Runtime.getRuntime().exec("...")), aller télécharger des choses (urlconnection) ou utiliser la commande eval().

Instructions


1) Compilez votre applet


comme d'habitude (créez un fichier .jar).

2) Générez votre clé


Votre clé cryptographique vous servira à signer toutes vos applets.

Tapez: keytool -genkey -alias votreNomdAlias
et entrez les informations nécessaires. N'oubliez pas le mot de passe que vous avez entré pour protéger cette clé.

Vous n'avez besoin de générer votre clé qu'une seule fois. Une fois votre clé créée, vous pouvez vous en servir pour signer autant d'applet que vous voulez.
(Notez que votre clé peut optionnellement avoir une date d'expiration.)

Note: Sous Windows, la clé est placée dans le profil utilisateur.
(\Documents and Settings\votrelogin\.keystore...)

Vous devez protéger à tout prix ce fichier de clés.
(Si vous vous le faites voler, quelqu'un pourra créer des applets malveillantes signées par vous !)

3) Signez votre applet avec votre clé


Tapez: jarsigner -verbose monapplet.jar votreNomdAlias

Entrez le mot de passe de votre clé.

Voilà, votre applet est signée.

4) Testez votre applet


Placez votre applet sur le serveur (c'est important), et testez la.

Vous verrez une fenêtre d'avertissemement pour la sécurité qui demande à l'internaute s'il autorise cette applet.

Exemple:

(Cette popup est générée par l'applet présente dans cette page )




Note: Le message de la popup signalant que la signature cryptographique est invalide est en réalité faux:
L'applet possède bien une signature cryptographique (la vôtre), mais cette signature n'a pas été validée par une autorité de certification (Thawte, VeriSign, etc.)

Or cette validation tierce (PKI) est payante.

Mais techniquement, elle n'est pas absolument pas nécessaire et ne réduit en rien la sécurité de fonctionnement de votre applet.

C'est juste que le fait de donner de l'argent à quelques PKI (dont les clés sont installées par défaut dans les navigateurs) vous permettra de vous débarasser de ce warning.

A vous de voir si payer pour ça en vaut le coup ou non.
Meilleures réponses pour « Créer une applet qui accède au disque dur » dans :
Créer une disquette de boot sous XP VoirPour créer une disquette de démarrage DOS (disquette de boot) sous Windows XP : Allez dans le Poste de travail Cliquez-droit sur le lecteur de disquettes puis sélectionnez l'option "Formater". Une nouvelle option est maintenant présente...
Comment fonctionner avec RAID 0, 1, 10, 01, 5 et JBOD VoirLa technologie de RAID améliore la performance ou/et la sécurité avec les deux disques durs minimum. Les deux disques durs ne présentent qu'UN SEUL disque dur. RAID = Redundant Array of Inexpensive Disk. (En français, on signifie les matrices...
Partition - Partitionnement d'un disque dur VoirQu'est-ce qu'une partition? Le partitionnement d'un disque dur se fait après le formatage physique de celui-ci et avant le formatage logique. Il consiste à créer des zones sur le disque dont les données ne seront pas mélangées. Cela sert par...
Collection CommentÇaMarche.net