Sommaire :
Introduction :..............................................................................................................................3
1. Présentation du sujet, état de l’art : ....................................................................................4
1.1. Sujet du projet : ..........................................................................................................4
1.2. Standard existant :......................................................................................................4
1.3. Vue d’ensemble de la signature et vérification par XML Dsig : ...............................5
1.4. Solutions existantes :..................................................................................................6
1.5. Solution retenue : .......................................................................................................6
2. Signature d’un document ...................................................................................................7
2.1. Les trois formes de signature : ...................................................................................7
2.2. Forger une signature en respectant XML Dsig : ........................................................8
2.3. Canonisation.............................................................................................................10
2.4. Programmation de l’action de signature...................................................................12
2.5. Résultat : signature d’un document XML................................................................13
3. Vérification d’un document signé....................................................................................14
3.1. Vérifier une signature selon XML Dsig...................................................................14
3.2. Programmation de l’action de vérification...............................................................15
4. Gestion des certificats ......................................................................................................16
4.1. Utilisation du Keystore / Truststore .........................................................................16
4.2. Génération du keystore et du truststore :..................................................................17
4.3. Validation d’un certificat : .......................................................................................17
5. Réalisation d’un prototype et tests ...................................................................................19
5.1. Prototypage avec le framework Play........................................................................19
5.2. Tests .........................................................................................................................20
6. Evolutions possibles.........................................................................................................20
6.1. Amélioration de la gestion des certificats ................................................................20
6.2. Complément à la canonisation : ...............................................................................21
7. Conclusion........................................................................................................................21
8. Annexes : Annexe 1: Code Java de signe.class .............................................................22
Annexe 2: Code Java de valide.class ...................................................................................25
Annexe 3: Code Java de TestCert.class ...............................................................................28
Annexe 4: Lignes de commandes Keytool...........................................................................31
Annexe 5: HTTPS configuration for play framework..........................................................32