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

Dernière mise à jour le 3 octobre 2006 à 15:46 par sebsauvage
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: sebsauvage.net/fprot/install.html )




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éation d'image Système (Ghost) VoirCréer une image (ghost) de partition 1 - Intérêt 2 - Pré-requis 2.1 - Explication 2.2 - Opportunités des partitions 2.3 - Mise à jour des images 2.3.1 - Image incrémentale : intéressant mais dangereux ! 2.3.2 - Image incrémentale et...
Brancher un disque dur DvicoTVIX HD-6500A sur une TV en HDMI VoirJ'ai branché mon disque dur à ma télévision en HDMI et je n'ai pas d'image sur mon écran. Pour brancher son disque dur multimédia sur sa télévision en HDMI il faut directement naviguer à partir du menu du disque dur. Allumez le disque dur ...
Partitionner un disque dur Voir1 - Intérêt et avertissement 1.1 - Intérêt 1.2 - Avertissements préalables 2 - Partitions et systèmes de fichiers 2.1 - Partitions 2.2 - Systèmes de fichiers 3 - Quels logiciels ? 3.1 - Solutions gratuites 3.1.1 - FDISK de Windows 3.1.2...
Télécharger AVS Disc Creator VoirAvec AVS DiscCreator vous pouvez rapidement graver vos données sur CD/DVD et Blu-ray disc. Fonctionnalités GRAVURE DES BLU-RAY DISQUES Vous pouvez graver les Blu-ray Discs, les disques de génération suivante, et bénéficier de la nouvelle technologie...
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...