Java & le web
x Le web dynamique
x Java & le web

Intro à Tomcat
x Serveur d'applications
x Présentation Tomcat
x Installation
x Arborescence

Configuration
x Introduction
x Server
x Service
x Engine
x Host
x Context
x DefaultContext
x Logger
x Loader
x Realm
x Valve

Connecteurs
x Balise Connector
x Coyote HTTP/1.1

Sécurisation accès
x La balise Realm
x Memory Based
x JDBC Database
x Protéger ressources
x Cryptage password

Les Valve
x La balise Valve
x Access Log
x Single Sign-On

Fonctionnalités
x Déploiement auto.
x Class loaders

Eclipse & Tomcat
x Plug-in pour Eclipse
x Projet Tomcat
x Debugger des JSP

Créer une appli web
x Présentation
x Architecture
x Fichier web.xml
x Déploiement

Tomcat 5
x Nouveautés

Tomcat's Corner
x Crédits
x Liens
 
             
Cryptage des mots de passe (Digest)

 

 

Les Realms permettent de stocker les mots de passe de deux manières. Soit en clair, soit cryptés. Si l'on souhaite crypter un mot de passe, il faut utiliser un algorithme reconnu par la classe "java.security.MessageDigest", à savoir SHA, MD2 ou le célèbre MD5. La méthode d'authentification doit alors être DIGEST. Le Realm utilisé doit contenir le nom de l'algorithme dans son attribut digest. Et le mot de passe doit être stocké crypté (selon le Realms, il est stocké dans un fichier, une base de données...).

Pour crypter un mot de passe, deux méthode existent.

La première consiste à utiliser la classe "org.apache.catalina.realm.RealmBase" de Tomcat, qui contient une méthode main(), et est à ce titre exécutable. Elle affiche le mot de passe crypté sur la sortie standard, si on l'exécute ainsi :

java org.apache.catalina.realm.RealmBase -a <nom_algorithme> <mot_de_passe_a_crypter>

La seconde méthode est d'appeler, depuis une application, la méthode statique : org.apache.catalina.realm.RealmBase.Digest(String motDePasseACrypter, String nomAlgorithme);

Ces deux méthodes requièrent que le fichier TOMCAT_HOME/server/lib/catalina.jar soit dans votre CLASSPATH au moment de l'exécution.