Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

APPLET CONTOURNER LE SECURITYMANAGER


Information sur le tutorial

Catégorie :Tutoriaux Date de création : 28/05/2006 08:19:53 Vu : 9 036 fois

Note :
10 / 10 - par 6 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Ce tutorial explique comment écrire des certificats pour les Java Applet afin de contourner le SecurityManager. Avec des certificats, il est possible d'écrire sur le disque dur d'un utilisateur et d'exécuter votre code comme si c'était une application.

Tutorial


Introduction:
Qu'est-ce qu'une Java Applet?
« Un des buts de la conception Java est de créer des applets, qui sont des petits programmes s'exécutant à l'intérieur d'un browser Web. Parce qu'ils doivent être sûrs, les applets sont limitées dans ce qu'ils peuvent accomplir. Toutefois, les applets sont un outil puissant de programmation côté client, un problème majeur pour le Web.» (http://penserenjava.free.fr/)

Désavantages principaux d'une Java Applet:
- Une Applet ne peut pas lire ou écrire sur le disque de l'utilisateur
- Possibilités très limitées

Avantages principaux d'une Java Applet:
- Le code est extrêmement sécure pour le client, même trop sécure au point de devenir pénible à écrire pour le programmeur
- Aucune installation n'est nécessaire

Comment intégrer une Applet sur le Web?
<html>
<body>
 <applet code="Applet.class" archive="Archive.jar"
           width=325 height=325>
 </applet>
 </body>
</html>

Pour plus de détails:
http://www.htmlgoodies.com/beyond/java/article.php/3470731

Qu'est-ce qu'un certificat?

«Les certificats sont des petits fichiers divisés en deux parties :
  • La partie contenant les informations
  • La partie contenant la signature de l'autorité de certification
L'ensemble de ces informations (informations + clé publique du demandeur)est signé par l'autorité de certification, celasignifie qu'une fonction de hachage crée une empreinte de ces informations, puis ce condenséest chiffré à l'aide de la clé privée de l'autorité de certification; la clé publique ayant étépréalablement largement diffusée afin de permettre aux utilisateurs devérifier la signature avec la clé publique de l'autorité de certification

Pour plus de détails:
http://www.commentcamarche.net/crypto/certificat.php3
http://fr.wikipedia.org/wiki/Certificat_%C3%A9lectronique


Étapes pour faire une Java Applet certifiée
1) Écrire une classe bidon qui fait un lien vers votre code. Cette classe est l'Applet
Exemple:
import javax.swing.*;
public class Whatever extends JApplet {
        public void init () {
                  new MonProgramme();
        }
}

2) Faire un jar (si nécessaire) pour englober tous vos fichiers
jar cvf nomjar dossierclasses/nomclasses
jar cvf Archive.jar Whatever.class
jar cvf Archive.jar classes Whatever.class (si vous avez un dossier «classes» contenant vos classes)

3) Écrire votre fichier html avec le tag <applet code ... > faisant référence à votre archive et à la classe contenant l'Applet

4) Générer la clé de votre certificat à l'aide de keytool.exe en utilisant la commande
keytool -genkey -alias nomDeVotreCle -validity nbJours
keytool -genkey -alias whatevercle -validity 365

5) Signer votre jar en utilisant jarsigner.exe en utilisant la commande
jarsigner nomJar nomCle
jarsigner Archive.jar whatevercle

6) Admirer la beauté du résultat ;p


Informations à propos de keytool.exe:
keytool est un outil à utiliser via le command-line qui vient avec le SDK. Vous le trouverez dans le dossier bin de votre dossier d'installation Java. Si votre variable path est bien configurée, vous ne devriez avoir aucun problème à l'appeler via le command-line.

Utilisation de keytool.exe:
keytool -genkey -alias nomcle -validity nbJours
keytool -list affiche la liste de toutes les clés
keytool -delete nom cle, mot de passe
keytool -help pour les autres commandes


Informations à propos de jarsigner.exe
jarsigner se situe dans le même dossier que keytool
jarsigner nomArchive nomCle



Bon, je pense que j'ai fait le tour de la question. Je m'excuse si l'introduction était un peu lente, c'est nécessaire puisque tout le monde n'a pas le même «baggages d'informations».

Amusez-vous

Date: 28/05/2006
@author Hassen Ben Tanfous


signaler à un administrateur
Commentaire de Hassen Ben Tanfous le 28/05/2006 08:28:28

Bon, je voulais ajouter quelques exemples et corriger quelques erreurs d'orthographe mais j'ai de la difficulté à éditer mon texte.

Voici deux exemples:
http://jmsnmessenger.sourceforge.net/webmessenger
http://jsplit.sourceforge.net/webjzip

signaler à un administrateur
Commentaire de tbotw le 17/06/2006 20:09:33

Merci pour ce tutorial, pile ce que je cherchais. Belle presentation en plus comparé aux autres.

signaler à un administrateur
Commentaire de Rankweeds le 19/09/2007 16:25:39

C'est clair et précis, ca fonctionne très bien. Merci pour ces info. ;o)

signaler à un administrateur
Commentaire de gouessej le 29/11/2007 21:13:34

keytool.exe c'est pour windows. Java c'est portable donc tu aurais dû mentionner les commandes pour les autres systèmes. Il n'y a pas que Windows sur Terre.

signaler à un administrateur
Commentaire de hotmaskim le 25/01/2008 11:04:22

Moi j'utilise mon Applet sans avoir fait de .jar ....
Y a pas moyen de signer les class ?

signaler à un administrateur
Commentaire de flolag le 09/06/2008 12:03:43

Ton applet JMsn possède un gros problème lol ,
Car pour les utilisateur firefox ou mnt IE7 quand on le quitte cela ferme Firefox et par conséquent TOUT LES ONGLET !! Très embettant quand mm

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,06 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.