Está en la página 1de 79

Ddicace

Je ddie ce modeste travail en signe de respect de reconnaissance de remerciement et de


gratitude infinie,
A mon cher pre qui na jamais hsit sacrifier afin de subvenir tous mes besoins,
A ma chre mre qui ma toujours soutenu par tant damour, tant daffection et surtout par
ses conseils prcieux,
A mon frre, mes surs leurs poux et leurs filles, avec tous mes vux de les voir russir
dans leur vie,
A tous mes amis, qui je souhaite tout le succs,
A mes professeurs,
A tous ceux qui me sont chers.

Remerciement
Je tiens assurer ma profonde gratitude Mr Abid Mohamed et Mr Ben Mahmoud Chaker
mes encadrants lENIG pour toute la confiance et le soutien quils mont attribu et pour
ses prcieux conseils et ses remarques judicieux.
Je tiens galement adresser mes sincres remerciements tous les enseignants qui ont donn
de leurs temps et leurs attentions pour assurer notre formation et enrichir nos connaissances.
Merci pour ceux qui nont pargn aucun effort, de prs ou de loin, pour laccomplissement
de ce travail.
Mes remerciements vont galement aux membres du jury pour avoir accept de me prter leur
attention et valuer mon travail.

ii

Table des matires


Table des figures ........................................................................................................................ v
Glossaire ................................................................................................................................... vii
Introduction gnrale .................................................................................................................. 1
Chapitre 1 Etat de lart ............................................................................................................... 3
I.

Introduction .................................................................................................................... 3

II.

Vote traditionnel ............................................................................................................. 3

III. Vote lectronique............................................................................................................ 4


III.1.

Machine voter .................................................................................................... 4

III.2.

Vote en ligne ........................................................................................................ 5

IV. Cryptographie et scurit rseau .................................................................................... 9


IV.1.

Cryptographie ....................................................................................................... 9

IV.2.

SSL/TLS ............................................................................................................. 13

V. Conclusion .................................................................................................................... 13
Chapitre 2 : Spcification des besoins et conception ............................................................... 14
I.

Introduction .................................................................................................................. 14

II.

Architecture gnrale du systme ................................................................................. 14

III. Spcification des besoins .............................................................................................. 17


IV.1.

Besoins fonctionnels .......................................................................................... 17

IV.2.

Besoins non fonctionnels ................................................................................... 18

IV. Architecture MVC ........................................................................................................ 19


V. Conception .................................................................................................................... 20
V.1.

Diagramme de cas dutilisation .......................................................................... 20

V.2.

Diagramme de collaboration .............................................................................. 23

V.3.

Diagramme de squence ..................................................................................... 24

V.4.

Diagramme dactivit ......................................................................................... 30

V.5.

Diagramme de classe .......................................................................................... 30

VI. Conclusion .................................................................................................................... 31


Chapitre 3 Ralisation ............................................................................................................. 32
I.

Introduction .................................................................................................................. 32

II.

Environnement de dveloppement ............................................................................... 32


II.1.

Environnement matriel ..................................................................................... 32

II.2.

Environnement logiciel ...................................................................................... 32


iii

III. Installation et mise en uvre ........................................................................................ 35


III.1.

Cration des certificats ....................................................................................... 35

III.2.

Configuration et organisation de projet J2EE .................................................... 41

III.3.

Prsentation de droulement de vote .................................................................. 42

III.4.

Prsentation de la partie administrative ............................................................. 47

IV. Conclusion .................................................................................................................... 49


Conclusion gnrale et perspective de travail .......................................................................... 50
Rfrences ................................................................................................................................ 51
Annexe 1 : les principales tapes du scrutin pour l'lection en Tunisie ................................... 52
Annexe 2 : Description textuels de cas dutilisation ................................................................ 54
Annexe 3 installation dEJBCA ............................................................................................... 56
Annexe 4 : le contenu des certificats ........................................................................................ 62

iv

Table des figures

Figure 1. 1 : Machine voter [4] ................................................................................................ 4


Figure 1. 2 : Vue globale du systme de vote [5] ....................................................................... 8
Figure 2. 1 : Architecture du systme de vote .......................................................................... 15
Figure 2. 2 : Diagramme du cas dutilisation global ................................................................ 21
Figure 2. 3 : Diagramme du cas dutilisation relatif au votant ................................................. 22
Figure 2. 4 : Diagramme du cas dutilisation relatif lautorit de vote ................................. 23
Figure 2. 5 : Diagramme de collaboration pour lauthentification du votant ........................... 23
Figure 2. 6 : Diagramme de collaboration pour lopration vote prsidentiel ..................... 24
Figure 2. 7 : Diagramme de squence pour le scnario Sauthentifier ............................... 25
Figure 2. 8 : Diagramme de squence pour le scnario GrerAgent.................................... 26
Figure 2. 9 : Diagramme de squence relatif au vote prsidentiel ........................................... 27
Figure 2. 10 : Diagramme de squence relatif au vote lgislatif .............................................. 28
Figure 2. 11 : Diagramme de squence relatif au sondage....................................................... 29
Figure 2. 12 : Diagramme dactivit ........................................................................................ 30
Figure 2. 13 : diagramme de classe global ............................................................................... 31
Figure 3. 1 : Architecture logique de PKI ................................................................................ 36
Figure 3. 2 : Ajout de profil de certificats ................................................................................ 37
Figure 3. 3 : Les autorits de certification cres ...................................................................... 37
Figure 3. 4 : Profils des entits finales ..................................................................................... 38
Figure 3. 5 : Ajout dun votant ................................................................................................. 39
Figure 3. 6: Demande de certificat ........................................................................................... 40
Figure 3. 7 : Installation du fichier P12 .................................................................................... 40
Figure 3. 8 : Authentification par SSL/TLS ............................................................................. 42
Figure 3. 9 : Authentification mutuelle .................................................................................... 43
Figure 3. 10 : Description de la page daccueil ........................................................................ 43
Figure 3. 11 : Interface dauthentification par identifiant et mot de passe ............................... 44
Figure 3. 12 : Interface du profil vote prsidentiel ................................................................... 45
Figure 3. 13 : Interface validation de choix envoyer au valideur .......................................... 46
Figure 3. 14 : Interface de russite de vote............................................................................... 46
Figure 3. 15 : Interface chec de vote ...................................................................................... 47
Figure 3. 16 : Interface dauthentification de ladministrateur ................................................ 48
Figure 3. 17 : Interface de gestion des votants ......................................................................... 48
Figure 3. 18 : interface dajout dun votant .............................................................................. 49
Figure 3. 19 : Rsultat dun vote prsidentiel .......................................................................... 49

Liste des tableaux

Tableau A2. 1 : description de cas dutilisation Sauthentifier .......................................... 54


Tableau A2. 2 : Description de cas dutilisation relatif au votant ............................................ 54
Tableau A2. 3 : Description de cas dutilisation relatif au valideur ......................................... 55
Tableau A2. 4 : Description de cas dutilisation relatif au commissaire .................................. 55
Tableau A3. 1 : Composants tlcharger ............................................................................... 56

vi

Glossaire
AC : Autorit de Certification.
AE : Autorit dEnregistrement.
AES : Advanced Encryption Standard.
ANCE : Agence Nationale de Certification Electronique.
CRL : Certificate Revocation List.
DES : Data Encryption Standard.
EPFL : cole Polytechnique Fdrale Lausanne.
HTML : HyperText Mark-Up Language.
ISIE : Instance suprieure indpendante pour les lections.
J2EE : Java 2 Entreprise Edition.
JKS : Java KeyStore
JSP : Java Server Pages.
LDAP : Lightweight Directory Access Protocol.
MD : Message Digest.
OCSP : Online Certificate Status Protocol.
PKCS #12 : Public-Key Cryptography Standards.
PKI : Public Key Infrastructure.
RSA : Rivest Shamir Adleman.
SGBD : Systme de Gestion de Base de Donnes.
SHA : Secure Hash Algorithm.
SSL : Secure Sockets Layers.
TLS : Transport Layer Security.
UML : Unified Modeling Language.
.
vii

Introduction gnrale

Introduction gnrale
Le droit de vote est le pivot essentiel et fondamental de la dmocratie. Le combat pour
lacqurir fut long, nanmoins, prs de la moiti de la population mondiale en est prive. Le
moment du vote est aussi un des rares instants o tous les citoyens sont placs sous un point
de vue strictement galitaire et o un citoyen est gale une voix. Chacun peut exprimer
pleinement ses liberts individuelles. Choix des dirigeants, moyen de faire entendre sa voix,
voter reste essentiel et le moyen le plus direct et efficace de participer la vie dmocratique.
Des distances considrables peuvent sparer les lecteurs des bureaux de vote. Les
dplacements peuvent tre difficiles, voire dangereux. Ces contraintes spcifiques
lexpatriation sont autant dobstacles lexercice du droit de vote. Aussi, des solutions
innovantes sont ncessaires pour que ce droit puisse tre exerc, ltranger galement.
En rponse ces limites, le vote par internet est une solution alternative au vote traditionnel.
Mais pour bien drouler une lection lectronique, nous devons faire face aux attaques et
fraudes qui empchent le droulement des lections en toute scurit. Ceci dit, la scurit
reste un dfi majeur que nous devons assurer.
De plus, les services distance et lectronique sont aujourdhui un domaine en pleine
eervescence. Les dmarches administratives sur Internet se font en toute confiance, nous
parlons alors de le-Gouvernement. Nous pouvons faire nos achats en ligne en toute scurit,
il sagit de le-Commerce. Les services bancaires dmatrialiss et scuriss, cest l'eBanking.
En bref, cest le temps de migrer vers le-dmocratie.
Pour rpondre cette problmatique, nous avons ralis notre projet de fin dtude dans le but
dobtenir le diplme dingnieur en Gnie de Communications et Rseaux (GCR) dlivr par
lEcole Nationale dIngnieurs de Gabs(ENIG). Il a t effectu au sein de l'Unit de
Recherche Hatem Bettaher d'Informatique, Rseau, Tlcommunication et Mathmatique
(IResCoMath- UR13ES79). Ce projet est consacr la mise en place dune application de
vote en ligne scurise en utilisant les outils cryptographiques (surtout les certificats

Introduction gnrale
numriques) pour assurer un trs haut niveau de scurit et faciliter aux gens dexprimer leurs
choix de faon anonyme dans un environnement informatique.
Cette mmoire est compose de trois chapitres. Le premier chapitre est consacr ltat de
lart dans lequel nous effectuons une tude concernant le vote traditionnel et lectronique.
Nous prsentons, par la suite, les diffrents scnarios et les proprits de vote en ligne. Nous
prsentons aussi une solution de vote lectronique propose par de chercheurs du laboratoire
de scurit et cryptographie lEPFL [1] (cole Polytechnique Fdrale Lausanne). Nous
nous sommes bass sur cette solution pour concevoir notre nouvelle solution.
Le deuxime chapitre consiste effectuer une spcification des besoins fonctionnels et non
fonctionnels suivit dune conception UML (Unified Modeling Language) du systme de vote
propos.
Le troisime chapitre est le chapitre de ralisation o nous prsentons les diffrents outils
utiliss. Ensuite, nous prsentons un dmonstrateur pour russir le vote en utilisant notre
systme.
Dans la dernire partie de ce rapport, nous concluons le travail ralis et nous donnons
quelques perspectives de travail.

Chapitre 1 Etat de lart

Chapitre 1 Etat de lart


I.

Introduction

Lobjectif de ce chapitre est de raliser, dans la premire partie, une tude de lexistant dans
laquelle nous dtaillons le systme de vote traditionnel et nous mettons en relief ses limites.
La deuxime partie est consacre au systme de vote lectronique; nous expliquons la
numrisation du vote et nous prsentons quelques solutions dj dployes au niveau
mondial.
Dans la dernire partie, nous critiquons lexistant et nous prsentons les lments
cryptographiques qui nous voulons utiliser dans notre solution propose.

II.

Vote traditionnel

Le vote traditionnel est la mthode la plus ancienne servant une lection prsidentielle,
lgislative ou sondage. Il est simple et connu de tous.
En Tunisie, la premire lection dmocratique t ralise aprs lindpendance en
Novembre 1981. La dernire en date est celle du 23 Octobre 2011 aprs la rvolution
tunisienne. Cette lection a t prpare et dirige par lISIE (l'Instance suprieure
indpendante pour les lections). Elle utilise des bulletins en papier et n'utilise aucun
dispositif informatique.
Selon le guide des procdures du scrutin et du dpouillement dit par lISIE, les principales
tapes [2] du scrutin pour l'lection se droulent comme dcrit dans lAnnexe 1.
Ce systme a permis au vote davoir un support matriel qui le rend tangible et manipulable.
Mais la matrialit du vote ne garantit nullement son intgrit puisque les bulletins du vote
peuvent tre perdus, dtruits ou modifies.
Parmi les problmes lis cette technologie, nous citons :

Limprcision du marquage du choix de llecteur sur le bulletin de vote. Ce


marquage peut parfois tre sujet diverses interprtations.

Des problmes sont lis au dcomptage des votes.

Des difficults temporelles concernant le temps pour effectuer cette opration.

Chapitre 1 Etat de lart

Des problmes de localisation si le vote sadresse un grand nombre de citoyens


disperss sur un grand territoire. Ceci a de nombreux impacts sur le transport et la
conservation des bulletins de votes. Lintgrit de ceux-ci peut-tre mis en pril.

La solution alternative pour rpondre aux problmes identifis prcdemment est le vote
lectronique qui est dtaill dans le paragraphe suivant.

III.

Vote lectronique

Ce systme permet de se prmunir de limprcision du marquage. Il permet de faire


rapidement le dcompte des votes avec prcision. Il permet galement de rduire les impacts
de la dispersion gographique des points de vote.
Le vote lectronique est divis en deux mthodes: les machines voter qui, installes dans les
bureaux de vote, remplacent les systmes de bulletins et durnes et le vote par Internet o
llecteur peut participer un scrutin distance en utilisant son ordinateur.

III.1.

Machine voter

Une machine voter [3] est place dans chaque bureau de vote sous la responsabilit du
prsident du bureau, et actionne par lui seul (ou son vice-prsident) au moyen d'un botier.
La machine est une simple calculatrice qui enregistre les votes sans identification de
l'lecteur. Ce dernier ne peut voter qu'une seule fois. Cette machine est entirement autonome,
sans systme d'exploitation ni connexion un rseau informatique
En cas de panne, une batterie prend le relais, sans perdre les donnes dj collectes. Quand le
scrutin est termin, les rsultats sont imprims en quelques secondes: il ny a plus de
dpouillement, ni de risque derreur dans le comptage.
Exemple de pays utilisant la machine voter : USA, France, etc.
La figure 1.1 reprsente un exemple de machine voter:

Figure 1. 1 : Machine voter [4]


4

Chapitre 1 Etat de lart


Le problme majeur des machines voter lectroniques [5] rside dans le fait quelles nont
pas encore fait la preuve de leur fiabilit. De nombreuses tudes internationales pointent
toujours du doigt sur les risques de manipulation et de fraudes.

III.2.

Vote en ligne

Il permet un lecteur de voter en utilisant tout poste informatique connect Internet. Une
lection en ligne apporte de nombreuses amliorations, elle simplifie la procdure de vote,
rend impossible le dpt de votes non valides et permet aux groupes cibles prsentant des
besoins particuliers comme les lecteurs handicaps ou les citoyens rsidant ltranger
dexercer plus facilement leurs droits politiques.
Exemple : Estonie.
III.2.1.

Proprits du vote

Pour garantir le bon fonctionnement dune application excutable sur le rseau, nous devons
sassurer que les proprits suivantes sont bien respectes.
a. Prcision
Elle est dfinit par les trois conditions suivantes :

Il est impossible de modifier un vote.

Il est impossible dliminer un vote valide.

Il est impossible quun vote invalide soit compt.

b. Dmocratie
Seules les personnes autorises peuvent participer lopration de vote en prenant en compte
lge, la nationalit, etc.
c. Non rpudiation
Une personne ayant le droit de vote ne peut voter quune seule fois.
d. Confidentialit
Elle est dfinit par ces deux conditions :

Il nexiste aucune possibilit deffectuer une liaison entre le votant et son vote, de
cette manire on a bien maintenu lanonymat de vote.

Chapitre 1 Etat de lart

Il est impossible pour un votant de prouver quil a vot pour un candidat particulier.

e. Vrifiabilit
Les conditions pour la vrifiabilit sont :

Chaque lecteur est capable de vrifier que son propre vote a bien t pris en compte.

Il est capable aussi de vrifier dune manire indpendante si tous les votes ont t
compts correctement.

f. Disponibilit
Elle est dfinit comme suit :

Le systme doit fonctionner correctement pendant toute la priode de vote

Chaque votant possde le droit daccder au systme durant toute la priode de vote.

III.2.2.

Scnario de vote

Le scnario du vote est compos de trois phases.


a. Phase de pr vote
Il est important dtendre la priode denregistrement sur plusieurs semaines. Cette priode
sert rduire fortement, mme viter compltement, les problmes dusurpation didentit et
la non disponibilit.
Pour senregistrer et acqurir le droit de participation au vote, chaque personne doit
senregistrer auprs dune autorit de vote valide afin de lui fournir un bulletin de vote
contenant les paramtres ncessaires pour accder lapplication.
b. Phase de vote
Durant cette phase, le votant est invit tablir toute les tapes du vote entre autre la slection
et la validation de son choix.
c. Phase de dcompte
Si la phase de vote est termine avec succs, il est possible de ramener tous les rsultats
enregistrs dans chaque dcompteur et de publier le rsultat final en le mettant la disposition
des votants afin de vrifier que leurs votes ont t pris en considration ou ignors.
Nous avons trouv dans la littrature une solution de vote lectronique qui est dcrite par la
suite.

Chapitre 1 Etat de lart

III.2.3.

Solution de Nicolas Bonvin

Cette solution prsente quatre entits diffrentes : un administrateur, un commissaire, un


anonymiseur et un dcompteur.
Dans la phase denregistrement, chaque votant reoit son bulletin de vote, contenant ses
propres paramtres de scurit (SecT1, SecT2 et SecT3), par une lettre recommande avec
accus de rception ou dans sa boite e-mail.
La figure 1.2 montre les interactions entre les diffrentes entits:
1. Le votant envoie un message contenant le choix pour lequel il sest engag. Ce message
prend la forme dun hash masqu, accompagn par le SecT1 du votant.
2. Ladministrateur envoie le SecT1 reu au commissaire pour la vrification.
3. Le commissaire renvoie le SecT2 dans le cas ou le SecT1tait correct.
Dans le cas contraire, il renvoie un message derreur.
4. Ladministrateur renvoie au votant le hash masqu aprs lavoir sign, accompagn du
SecT2, sil na reu aucun message derreur de la part du commissaire. Si tel est le cas, alors
ladministrateur renvoie uniquement le message derreur au votant.
Aprs avoir vrifi que le SecT2 corresponde avec celui prsent sur le bulletin en papier, le
votant dmasque la signature, la vrifie et envoie lanonymiseur son choix en texte clair, la
signature du commissaire, les cls quil a utilis lors de son engagement, ainsi que son SecT3.
Ceci est chiffr avec la cl publique du dcompteur. Lanonymiseur ne peut donc pas en
prendre connaissance. Lelecteur envoie galement leSecT1, chiffr pour lanonymiseur.
Lanonymiseur envoie le SecT1 au commissaire pour le vrifier.
7. Le commissaire renvoie le SecT2 si le SecT1 est valable et na pas encore t utilis. Dans
le cas contraire, il renvoie un message derreur.
8. Si lanonymiseur na pas reu de message derreur, il enregistre le vote et envoie au votant
une confirmation du bon droulement de lopration, ou un message derreur, accompagn du
SecT2.

Chapitre 1 Etat de lart


9. Lanonymiseur envoie la fin de la session de vote lensemble des votes au dcompteur,
afin que ce dernier puisse procder au dpouillement et compter les voix.

Figure 1. 2 : Vue globale du systme de vote [5]


Bien quil sagisse dune solution efficace, elle est vulnrable et susceptible aux attaques et
fraudes. En effet lattaque dune tierce personne (ou Man-in-the-middle attack) intervient
dans une transaction entre deux personnes (groupes, entits, etc.). Une troisime personne
peut s'interposer de manire transparente entre le votant et le valideur et termine la transaction
normalement en captant les messages et en transmettant d'autres messages sans que les deux
entits s'en aperoivent.
En plus, le problme majeur qui peut se poser est celui de l'authentification de l'utilisateur sur
le serveur, si un identifiant et un mot de passe sont utiliss, le systme reste non fiable car ils
passent en clair sur la ligne de connexion.
Dans ce systme de vote, la scurit est un aspect ne pas ngliger, elle constitue l'pine
dorsale du succs et de la fiabilit du vote.

Chapitre 1 Etat de lart


Alors lapplication propose de vote en ligne demande un niveau de scurit plus lev que
celui fournit par lauthentification base de formulaire. Elle a aussi besoin de garantir la
confidentialit et lintgrit de vote. Pour ces raisons, seule une solution base sur les
certificats numriques est envisageable pour un vote correctement scuris et fiable.
Dans ce qui suit, nous dtaillons les lments cryptographiques et le protocole SSL (Secure
Sockets Layers) et TLS (Transport Layer Security).

IV.

Cryptographie et scurit rseau

Plusieurs mthodes cryptographiques sont requises afin de rpondre aux diverses proprits
souhaites par le systme de vote.

IV.1.

Cryptographie

La cryptologie est une science mathmatique comportant deux branches: la cryptographie et


la cryptanalyse.
La cryptographie [6] est lart et la science de garder un secret. Elle offre des mthodes
donnant la possibilit denvoyer des donnes de manire confidentielle sur un support donn.
La cryptanalyse: est oppose la cryptographie, elle a pour but de retrouver le texte clair
partir de textes chiffrs en dterminant les failles des algorithmes utiliss.
IV.1.1.

Services de scurit

La scurit numrique vise assurer plusieurs services :

La confidentialit: Seul le destinataire peut connatre le contenu des messages qui lui
sont transmis.

Lauthentification : le destinataire dun message doit pouvoir sassurer de son


origine. Un intrus ne doit pas se faire passer pour quelquun dautre.

Lintgrit des donnes : le destinataire doit pouvoir sassurer que le message na pas
t modifi en chemin.

Le non rpudiation : Un expditeur ne doit pas nier quil a envoy un message et le


destinataire ne doit pas nier quil la reu.

Contrle daccs : cest la facult de limiter et de contrler laccs des systmes et


des applications via des maillons de communication.
9

Chapitre 1 Etat de lart

Disponibilit [7]: de nombreuses attaques peuvent rsulter en une perte ou une


rduction de la disponibilit. Certaines de ces attaques sont susceptibles dtre lobjet
de contre-mesures automatiques, telles que lauthentification et le chiffrement, alors
que dautres exigent une action humaine pour prvenir ou se rtablir de la perte de la
disponibilit des lments dun systme donn.

IV.1.2.

Chiffrement

Le chiffrement consiste transformer une donne afin de la rendre incomprhensible par une
personne autre que celui qui a cr le message et celui qui en est le destinataire.
Il existe deux grands principes de chiffrement possible : le chiffrement symtrique et
asymtrique.
a. Chiffrement symtrique
Dans la cryptographie symtrique deux partenaires souhaitant changer des informations
confidentiellement se mettent d'accord sur une cl secrte commune, appele cl de session,
qui leur servira chiffrer leurs messages.
Les algorithmes symtriques les plus rpandus sont : DES, 3DES, AES.
Ces algorithmes sont rapides mais ils posent le problme de l'change de la cl de session. Si
cette cl est rcupre par un attaquant il peut dchiffrer toutes les conversations.
b. Chiffrement asymtrique
Lide de base des cryptosystmes cls publiques a t propose dans un article fondamental
de Diffie et Hellman en 1976 [8].
Dans la cryptographie asymtrique chaque entit dispose d'une cl publique et d'une cl
prive. La cl publique est diffuse l'ensemble des autres entits souhaitant communiquer
avec la premire. Elle sert chiffrer les communications. Alors que la cl prive reste secrte
et l'entit s'en sert pour dchiffrer les communications. La cryptographie cl publique est
galement utilise pour l'authentification et pour les signatures numriques.
Les algorithmes asymtriques les plus connus sont DiffieHellman, RSA (Rivest Shamir
Adleman) [9], la cryptographie base sur les courbes elliptiques et ElGamal.

10

Chapitre 1 Etat de lart

IV.1.3.

Fonction de hachage

La fonction de hachage est une fonction permettant dobtenir un condens dun message en
transformant une donne de taille quelconque en une empreinte de taille fixe. Cette fonction
est parfaitement dterministe, elle ne ncessite lemploi daucune cl.
Cependant, certaines proprits de scurit doivent tre vrifies :

Rsistance forte de collision : il doit tre pratiquement difficile de trouver deux


messages diffrents conduisant une mme valeur de hach.

Rsistance faible de collision : tant donn un message , il doit tre difficile de


trouver un message diffrent de tel que = ().

Fonction sens unique : tant donn une valeur dans l'espace des hachs, il doit
tre difficile de trouver tel que = .

Pour garantir la scurit du vote en ligne, il est ncessaire de faire appel des fonctions de
hachage qui sont sre contre les attaques, mme thorique. En particulier, le standard MD5
(Message-Digest) est considr comme cass, et ne doit plus tre employ.
IV.1.4.

Signature numrique

La signature numrique est un procd permettant de garantir l'authenticit de l'expditeur et


de vrifier l'intgrit du message reu.
Elle assure galement une fonction de non-rpudiation, c'est--dire qu'elle permet d'assurer
que l'expditeur a bien envoy le message.
Le systme propos utilise le crypto systme RSA, qui fonctionne de la manire suivante:
Nous supposons quAlice et Bob sont respectivement lexpditeur et le destinataire.
Alice possde une cl publique , une cl prive , et un modulo (n produit des deux
nombres premiers trs grands). Elle calcule la signature S dun objet en le chiffrant laide
de sa cl prive:
=
Et puisquelle est la seule personne connaitre sa cl prive, elle est aussi la seule pouvoir
gnrer la signature pour lobjet .

11

Chapitre 1 Etat de lart


Chacun, possdant la cl publique dAlice, peut ds lors vrifier que S correspond exactement
la signature de lobjet M en effectuant lopration de chiffrement suivante :
= = ( ) =
IV.1.5.

Certificat numrique

a. Dfinition
Le certificat numrique est l'quivalent lectronique dune carte d'identit. Il permet
d'authentifier les entits au sein d'un systme d'information. Il fait une association entre
l'identit d'une personne et sa cl publique et ventuellement dautres informations. Cette
association est garantie par une autorit de confiance.
Plusieurs normes de certificats existent, la plus employe est X509[7]
b. Cycle de vie dun certificat
Pour des raisons de scurit, un certificat est accord pour une dure limite. Il peut tre
galement remis en question dans la priode de validit pour diffrentes raisons:

Volont du dtenteur du certificat.

Changement de situation du dtenteur.

Volont de lautorit de certification.

Scurit.

Le certificat est alors suspendu ou rvoqu, la suspension ou la rvocation tant notifi dans
un annuaire spcifique facilement accessible (en ligne).
IV.1.6.

Infrastructure a cl publique(ICP)

Elle est appel aussi infrastructure de gestion de cls (IGC) ou en anglai Public Key
Infrastructure (PKI). Cest lensemble des procdures, des logiciels et des composants
physiques qui permettent la bonne gestion des cls et des certificats. Cela englobe entre autres
la cration, la distribution et la rvocation des certificats, la configuration des quipements et
les politiques de scurit associes, etc. Lutilisation dalgorithmes cryptographiques permet,
travers la distribution de cls des utilisateurs ou des machines, doffrir plusieurs services
de scurit. Ces cls doivent tre accompagnes de certificats numriques qui les lient
lidentit de leur dtenteur. Il faut prciser que lautorit de certificat racine en Tunisie est
lANCE (Agence Nationale de Certification Electronique).

12

Chapitre 1 Etat de lart

IV.2.

SSL/TLS

La scurit des communications sur l'Internet est assure par le protocole SSL/TLS. Il permet
aux applications client/serveur de communiquer d'une faon conue pour empcher
l'espionnage, l'altration ou la falsification du message. Son but principal est de fournir la
confidentialit et l'intgrit de donnes entre deux applications communicantes.
Les objectifs du protocole SSL/TLS sont, dans l'ordre des priorits, les suivants:

Scurit cryptographique: il est utilis pour tablir une connexion sre entre deux
parties.

Interoprabilit: des programmeurs indpendants devraient tre capables de


dvelopper des applications en utilisant SSL/TLS qui russissent pleinement
changer des paramtres cryptographiques sans connaitre leurs codes respectifs.

Extensibilit: SSL/TLS cherche fournir un cadre dans lequel puissent tre


incorpores de nouvelles cls publiques et de nouvelles mthodes de chiffrement sans
modification majeure du protocole.

Efficacit

relative:

les

oprations

cryptographiques

tendent

tre

trs

consommatrices de CPU, en particulier les oprations utilisant la cl publique. Pour


cette raison, le protocole SSL/TLS a incorpor un schma facultatif de mise en
mmoire cache de session pour rduire le nombre de connexions qui doivent tre
tablies a partir de rien (c'est--dire utiliser la mme cls dj gnre dans des
sessions futures).

V.

Conclusion

Dans ce chapitre, nous avons effectu une tude concernant le systme de vote et nous avons
prsent brivement les lments cryptographiques, tels que la signature numrique, la
fonction de hachage et le certificat numrique, intgrer dans notre systme.
Dans le chapitre suivant, nous dcrivons larchitecture du systme propos, la spcification des
besoins et la conception de lapplication dtaille raliser.

13

Chapitre 2 : Spcification des besoins et conception

Chapitre 2 : Spcification des besoins et conception


I.

Introduction

Dans ce chapitre, nous prsentons la spcification des besoins de notre systme. Nous
commenons tout dabord par la prsentation de larchitecture complte de lapplication. Par
la suite, nous utilisons le langage de modlisation UML afin didentifier les diffrents
diagrammes utiliss pour bien dcrire la conception de ce projet.

II.

Architecture gnrale du systme

Dans cette partie, nous dcrivons dune manire prcise larchitecture gnrale de notre
solution et les interactions entre les diffrents acteurs.
Afin de garantir une certaine robustesse, le systme de vote propos est form par quatre
entits diffrentes : un valideur, un commissaire, un anonymiseur et un dcompteur. Ce sont
les mmes acteurs que dans la solution dcrite dans la section III.1.3. Les quatre entits sont
des serveurs autonomes et indpendants les uns des autres. Ils sont grs par une autorit de
vote subordonne qui est son tour administre par une autorit de vote racine.
Ces quatre serveurs se communiquent entre eux travers un rseau informatique et peuvent
ne pas se trouver dans le mme endroit physique.
Nous supposons, dans ce qui suit, que la phase denregistrement (la phase pr vote) a t
effectue sans aucun problme, autrement dit, que le votant a dj reu dans son boite mail
les paramtres ncessaires pour accder lapplication (surtout son certificat numrique et sa
cl prive).
Nous reprsentons dans la figure 2.1 les diffrentes entits participantes dans lopration de
vote et les interactions entre elles.
La connexion du votant au systme de vote, les jours des lections, doit tre scurise. En
effet, le votant doit recevoir la garantie que les serveurs sont lgitimes et officieux et que les
informations transmises restent confidentielles.

14

Chapitre 2 : Spcification des besoins et conception


Pratiquement, toutes les parties intervenantes dans l'application de vote doivent pouvoir tre
authentifies. Dj, elles possdent chacune une paire de cls (cl publique, cl prive).

Figure 2. 1 : Architecture du systme de vote


Les entits doivent se communiquer travers un canal scuris avec des cls de session. Nous
avons besoin de cinq cls comme suit :

Ks1 entre le systme de vote et le valideur.

Ks2 entre le valideur et le commissaire.

Ks3 entre le systme de vote et lanonymiseur.

Ks4 entre lanonymiseur et le commissaire.

Ks5 entre lanonymiseur et le dcompteur.

Les diffrents messages reprsents dans la figure 2.1 sont dtaills comme suit :
1) Aprs lauthentification, le votant effectue un choix et lorsquil valide son vote, un
message chiffr sera envoy au valideur. Ce message contient : le hash du vote, la
signature du vote chiffr par la cl prive du votant, lidentifiant du votant et le temps de
vote. Il se traduit par lquation suivante :

15

Chapitre 2 : Spcification des besoins et conception


message1= 1 ( + _ ( ) + + ).

2) Aprs le dchiffrement du message reu par la cl ks1, le valideur dchiffre le hash du


vote chiffr par la cl publique de votant tout en le comparant avec le hash du vote reu,
si la signature du votant nest pas valide, il renvoie un message derreur au systme de
vote.
Si elle est valide, le valideur envoie un message contenant son identifiant et celui du
votant au commissaire pour vrifier lunicit de vote. Ce message se traduit par
lquation suivante :
message2= 2 ( + ).
3) Sil sagit du premier passage par un valideur, le commissaire renvoie au valideur un
message de confirmation, si non il renvoie un message derreur lui affirmant que ce
votant a dj vot et na pas le droit de voter une autre fois. Il sagit de message3.Le
commissaire ajoute sa table les informations pour des vrifications futures.
4) En recevant un message de confirmation depuis le commissaire, le valideur signe le hash
du vote par sa cl prive et lenvoie au votant. ce message se traduit par lquation
suivante :
message4= 1 ( _ (()).
5) Le votant vrifie la signature du valideur en dchiffrant le message reu par la cl
publique de ce dernier. Sil est bien en train de communiquer avec un serveur officiel, le
votant envoie lanonymiseur un message form par : le hash du vote sign par le
valideur, le hash du vote, le choix chiffr par la cl publique du dcompteur et
lidentifiant du votant. Ce message se traduit par lquation suivante :
message5= 3 (

+ () + _ () + ).

6) Lanonymiseur vrifie la signature du valideur en comparant le hash reu avec celui


obtenu aprs le dchiffrement par la cl publique de ce dernier.
Dans le cas ou la signature nest pas valide, un message derreur sera renvoy au votant lui
demandant de contacter ladministrateur. Dans le cas contraire, lanonymiseur envoie au
commissaire un message contenant son identifiant accompagn de lidentifiant de votant et
celui de valideur. Ce message se traduit par lquation suivante :
16

Chapitre 2 : Spcification des besoins et conception


message6= 4 ( + + ).
7) Le commissaire consulte sa table pour vrifier sil sagit du premier passage par un
anonymiseur. Si tel est le cas, alors il change ltat de lanonymiseur et lui renvoie un
message de confirmation. Sinon un message derreur sera renvoy en lui affirmant que le
vote nest pas unique. Il sagit de message7.
8) Si lanonymiseur na pas reu un message derreur, il envoie au dcompteur le choix du
votant chiffr par la cl publique de ce dernier. Ce message se traduit par lquation
suivante :
message8= 5 ( _ ()).
9) En recevant un message confidentiel, le dcompteur le dchiffre par sa cl prive et
enregistre le choix tout en envoyant un message lanonymiseur lui indiquant que le
vote est bien reu et sera compt soigneusement.
10) Finalement, lanonymiseur informe le votant que son vote sest termin avec succs.

III.

Spcification des besoins

Aprs avoir prsent larchitecture gnrale de notre application, cette section nonce les
diffrents besoins fonctionnels et non fonctionnels de lapplication raliser.

IV.1.

Besoins fonctionnels

Les besoins fonctionnels prsentent principalement les fonctionnalits du systme. Nous


dtaillons dans la suite ces besoins en fonction des acteurs :
IV.1.1.

Votant

Lacteur votant est toute personne se connectant de son ordinateur personnel de chez lui.
Lordinateur peut tre utilis par plusieurs membres de la famille.
Un votant doit sauthentifier en utilisant son certificat pour accder lapplication et effectuer
un choix. Il doit valider son choix et il peut vrifier son vote aprs le dpouillement.
IV.1.2.

Administrateur (Autorit du vote)

Dans notre application, il peut tre lISIE.

17

Chapitre 2 : Spcification des besoins et conception


Elle assure, dune part, linscription des votants, la gestion des candidats et la gestion des
certificats utiliss par les votants pour sauthentifier. Elle assure la publication de ces
certificats valides dans un annuaire scuris.
Dautre part, elle supervise les diffrents serveurs agissant dans la procdure de vote en les
configurant et en les grant.
IV.1.3.

Valideur

Aprs avoir vrifi la signature du votant, il communique avec le commissaire pour garantir
lunicit de vote.
Dans le cas o le votant na pas dj vot, le valideur signe le vote avec sa cl prive et
retourne le vote valid au votant.
IV.1.4.

Anonymiseur

Il est responsable de la protection de lanonymat du votant. Il joue le rle dun arbitre entre le
votant et le dcompteur.
Il communique avec le commissaire pour vrifier lunicit de vote et il envoie le vote final au
dcompteur.
IV.1.5.

Commissaire

Suite un message provenant du valideur ou de lanonymiseur, il vrifie si le votant a dj


contact lun deux. Il marque ltape de validation ou de lanonymisation en changeant les
tats du valideur et de lanonymiseur dans une table concernant le votant afin dassurer
lunicit de vote.
IV.1.6.

Dcompteur

Aprs dchiffrement du message reu, il dcompte les choix des votants en toute scurit et il
informe lanonymiseur, qui est lintermdiaire entre lui et le systme de vote, du bon
droulement de vote.

IV.2.

Besoins non fonctionnels

Aprs avoir dtaill les besoins fonctionnels du systme, nous passons mettre en valeur les
diffrentes exigences non fonctionnelles qui se rsument en quelques points:
18

Chapitre 2 : Spcification des besoins et conception

Interface Homme Machine : lapplication doit assurer une interface comprhensible


et facile utiliser.

Performance : lapplication doit avoir un temps de traitement acceptable afin de


garantir une meilleur qualit de service.

Extensibilit : elle doit tre conue de telle sorte que nous pouvons la mettre jour en
ajoutant des nouveaux lments la base. Le dveloppement de ces mises jours doit
tre long terme et sans avoir besoin refaire tout le travail.

Modularit : Lapplication doit tre bien structure en module pour assurer une
meilleure lisibilit, une diminution du risque derreur et une possibilit de tests
slectifs.

Pour grer les interactions entre les diffrents composants de notre application, il est
primordial de choisir un modle darchitecture adquat et performant. Nous dcrivons cette
architecture dans la section suivante.

IV.

Architecture MVC

Le MVC (Modle, Vue, Contrleur) est un modle de conception qui repose sur la volont de
sparer les donnes, les traitements et la prsentation. Ainsi, lapplication se retrouve
segmente en trois couches (chacune a un rle bien dfini):

Le modle : reprsente les donnes et les rgles mtiers. Cest dans cette couche que
les traitements lis au cur du mtier seffectuent. Les donnes peuvent tre lies
une base de donnes, des services Web, etc. Il est important de noter que les donnes
sont indpendantes de la prsentation. En dautres termes, le modle ne ralise aucune
mise en forme. Ces donnes peuvent tre affiches par plusieurs vues.

La vue : correspond l'interface homme/machine de lapplication. Elle prsente les


donnes et interagit avec lutilisateur. Dans le cadre des applications Web, il sagit
dune interface HTML, JSP, etc.

Le contrleur : se charge dintercepter les requtes de lutilisateur, dappeler le


modle puis de rediriger le rsultat vers la vue adquate. Il ne doit faire aucun
traitement. Il ne fait que de linterception et de la redirection.

Les interactions entre ces trois couches sont dcrites comme suit:
19

Chapitre 2 : Spcification des besoins et conception

Lutilisateur met une requte

Le contrleur intercepte la requte de lutilisateur

Le contrleur dtermine quelle partie du modle est concerne et quelle vue y est
associe

Le modle traite les interactions avec les donnes, applique les rgles mtier et renvoie
les donnes au contrleur

V.

Le contrleur slectionne la vue et lui renseigne les donnes

La vue prsente les donnes lutilisateur

Conception

Nous dcrivons dans cette partie les diffrents diagrammes du langage de modlisation,
UML2 [10], permettant la modlisation de lapplication. Nous nous somme limits aux
digrammes de cas dutilisation, diagrammes de collaborations, digrammes de squences,
diagramme dactivit et diagramme de classe.

V.1.

Diagramme de cas dutilisation

Le cas d'utilisation est une description des interactions qui vont permettre l'acteur d'atteindre
son objectif. Il permet de mettre en vidence les relations fonctionnelles entre les acteurs et le
systme tudi.
Nous reprsentons, par la suite, le diagramme du cas dutilisation gnrale de lapplication, le
diagramme relatif au votant et le diagramme relatif lautorit de vote.

20

Chapitre 2 : Spcification des besoins et conception


V.1.1.
Diagramme du cas dutilisation relatif au fonctionnement global
Le schma de la figure 2.2 correspond au diagramme du cas dutilisation globale de
lapplication.

vrifier
unicit du
vote

<<include>>

<<include>>
vrifier
signature du
votant

signer vote
<<include>>

<<extend>>

Valideur
annuler vote

slectionner
lction
voulue

voter

valider
certificat du
Votant

<<include>>

<<include>>
changer tat

valider vote
Votant

Commissaire
assurer
unicit du
vote

s'authentifier par
identifiant et
mot de passe
s'authentifier
par TLS

<<include>>

<<include>>
s'authentifier
<<include>>
dcompter
vote

<<include>>

<<include>>

anonymiser
vote
Anonymiseur

Dcompteur

<<include>>
grer Votant

grer
Candidat

<<include>>

<<include>>

vrifier
validit du
vote

vrifier
signature du
valideur

AutoritVote
grer
Certificat

<<include>>

superviser
Agent

<<include>>

Figure 2. 2 : Diagramme du cas dutilisation global

21

Chapitre 2 : Spcification des besoins et conception


V.1.2.

Diagramme du cas dutilisation relatif au votant

Nous reprsentons dans la figure 2.3 le diagramme du cas dutilisation relatif au votant.

s'authentifier par
TLS

<<include>>
s'authentifier
s'authentifier par
identifiant et
mot de passe

slectionner
lction voulue

voter

Votant
valider vote

<<extend>>
annuler vote

Figure 2. 3 : Diagramme du cas dutilisation relatif au votant

Nous dtaillons dans lAnnexe 2 les descriptions textuelles des diagrammes de cas
dutilisation, entre autre : une description dtaille de diagramme de cas dutilisation
sauthentifier relatif au votant, une pour le diagramme de cas dutilisation relatif au
valideur, une autre le diagramme de cas dutilisation relatif au commissaire et une description
textuelle pour le diagramme de cas dutilisation relatif lanonymiseur
V.1.3.

Diagramme du cas dutilisation relatif lautorit de vote

Lautorit de vote assure une gestion complte des certificats et elle supervise les agents et les
votants participants au scenario de vote.

22

Chapitre 2 : Spcification des besoins et conception


La figure 2.4 illustre le diagramme du cas dutilisation relatif lautorit de vote.

consulter
Candidat
consulter
Votant

supprimer
Votant

ajouter
Votant
supprimer
Candidat
grer
Candidat
ajouter
Candidat

grer Votant
<<include>>
<<include>>
<<include>>

S'authentifier
<<include>>

crer
Certificat
AutoritVote

superviser
Agent
grer
Certificat

configurer
Agent

grer Agent

ajouter agent

supprimer
Agent

distribuer
Certificat

rvoquer
Certificat

modifier
Agent

Figure 2. 4 : Diagramme du cas dutilisation relatif lautorit de vote

V.2.

Diagramme de collaboration

Les diagrammes de collaboration illustrent les interactions entre les diffrents objets du
systme. Ils mettent plus laccent sur laspect spatial des changes que laspect temporel.
V.2.1.

Diagramme de collaboration pour lauthentification du votant

Nous reprsentons ce diagramme dans la figure 2.5.


2.trans fert()

1.s ais ir(information)

3.traitement de donnes
4.Rs ultat

Acteur_17

i nterface s'authenti fi er
CT R authenti fi cati on

Enti t Votant

5.Votant authentifi

i nterfaceProfi l 3

Figure 2. 5 : Diagramme de collaboration pour lauthentification du votant


23

Chapitre 2 : Spcification des besoins et conception


Les diagrammes de collaboration pour lopration du vote prsidentiel, lgislatif et sondage
sont quasi identiques, part le contenu des messages changs. Pour cette raison, nous nous
limitons reprsenter un seul diagramme de collaboration dcrivant lopration du vote
prsidentiel.
Diagramme de collaboration pour lopration vote prsidentiel

V.2.2.

La figure 2.6 reprsente le diagramme de collaboration du votant pour effectuer un vote


prsidentiel.

2.envoyer()

3.demandeListeCandidat()

5.ListeCandidat()

4.Rsultat
Entit Candidat

Ctr Candidat

1.slectionner(Election)

9.dchiffrement()
17.dchiffrement

8.envoyer(message1)

10.vrifierSignature()
interfaceProfil

11.Rsultat
Ctr Valideur

16.Rsultat

6.slectionner(Candidat)

18.renvoyer(message4)
19.liminerMasque()

7.valider(Choix)

Votant

20.vrifier(Signature)
21.Rsultat

votePrsidentiel

Entit Certificat
Ctr VotePresidentiel

22.envoyer(message6)
23.dchiffrement

24.vrifier(Signature)

12.envoyer(message2)

25.Rsultat
31.envoyer(message8)
Ctr Anonymiseur

35.vote termin
32.dchiffrement
33.compter

26.envoyer(message5)
30.Rsultat

34.comptage termin
Entit Vote
Ctr Compteur

14.vrifier(idVotant, id Valideur)
28.vrifier(idVotant, id Valideur)

13.dchiffrement
27.dchiffrement

Ctr Commissaire

15.Rsultat
29.Rsultat

Entit Verif

Figure 2. 6 : Diagramme de collaboration pour lopration vote prsidentiel

V.3.

Diagramme de squence

24

Chapitre 2 : Spcification des besoins et conception


Lobjectif du diagramme de squence est de reprsenter les interactions entre objets en
indiquant la chronologie des changes. Cette reprsentation peut se raliser par cas
dutilisation en considrant les diffrents scnarios associs.
Nous prsentons quelques diagrammes de squences entre autre le diagramme de squence
relatif au cas dutilisation sauthentifier, celui relatif au cas dutilisation Grer Agent, celui
relatif au vote prsidentiel, un autre relatif au vote lgislatif et un diagramme relatif au cas
dutilisation sondage.
Diagramme de squence relatif au cas dutilisation sauthentifier

V.3.1.

La figure 2.7 illustre le diagramme de squence pour lauthentification du votant.

S'authentifier

Votant

Interface_Authentification

Interface_Profil

Crt_authentification

Entit_Votant

loop

saisir(information)
transfert()
traitement de donnes
Resultat
alt

information valide

break
Votant authentifi

information invalide
Message d'erreur

Figure 2. 7 : Diagramme de squence pour le scnario Sauthentifier

25

Chapitre 2 : Spcification des besoins et conception


Diagramme de squence relatif au cas dutilisation GrerAgent

V.3.2.

La figure 2.8 illustre le diagramme de squence pour la gestion des agents.


GrerAgent

AutoritVote ListeAgent

opt

intAjout

DtailAgent intModification intSuppression CtrListeAgent

CtrAjout

CtrModif

CtrSupp

EntAgent

[Ajouter]
ajouterAgent(paramres)
vrifier(paramtres)
transfert(paramtres)
ajouter(Agent)
rsultatd'ajout
alt

Agent ajout

agent n'existe pas

Agent existe

existe

opt

[Modifier]
slectionner(Agent)
envoyer(Choix)
Agent
modifier(paramtres)
transferer(paramtres)
modifier(Agent)
rsultat
alt

paramtre correcte

paramtre incorrecte

opt

Agent modifi

Agent non modifi

[Supprimer]
slectionner(Agent)
transferer(Choix)
supprimer(Agent)
rsultat
Agent supprim

Figure 2. 8 : Diagramme de squence pour le scnario GrerAgent


Nous prsentons les diagrammes de squences pour le scnario de vote prsidentiel, lgislatif
et sondage successivement comme illustr dans les figures 2.9, 2.10 et 2.11.

26

Chapitre 2 : Spcification des besoins et conception

Vote prsidentiel

Figure 2. 9 : Diagramme de squence relatif au vote prsidentiel

27

Chapitre 2 : Spcification des besoins et conception

Figure 2. 10 : Diagramme de squence relatif au vote lgislatif

Vote Lgislatif

28

Chapitre 2 : Spcification des besoins et conception

Figure 2. 11 : Diagramme de squence relatif au sondage

29

Chapitre 2 : Spcification des besoins et conception

V.4.

Diagramme dactivit

Le diagramme dactivit concerne le comportement interne des oprations ou de cas


dutilisation. Le comportement vis sapplique aux flots de contrle et aux flots de donnes
propres un ensemble dactivits.
La figure 2.12 reprsente le diagramme dactivit de notre application.

Figure 2. 12 : Diagramme dactivit

V.5.

Diagramme de classe

Le diagramme de classe constitue lun des pivots essentiels de la modlisation avec UML. En
effet, ce diagramme permet de donner la reprsentation statique du systme dvelopper.

30

Chapitre 2 : Spcification des besoins et conception


La figure 2.13 dcrit avec prcision le diagramme de classe global.

Votant

Candidat

identifiant
nom
prnom
alias
mot de passe
mail

:
:
:
:
:
:

int
String
String
String
String
String

+
+
+
+
+
+
+
+
+
+
+
+

get identifiant ()
set identifiant ()
get nom ()
set nom ()
get prenom ()
set prenom ()
get alias ()
set alias ()
get mot de passe ()
set mot de passe ()
get mail ()
set mail ()

:
:
:
:
:
:
:
:
:
:
:
:

Region
- nom
: String
- nbreVille : int
1..*
int
void
String
void
String
void
String
void
String
void
String
String

+
+
+
+

1..1
1..1

get nom ()
set nom ()
get nbreVille ()
set nbreVille ()

:
:
:
:

1..1
String
void
int
int
1..*

1..1

CandidatLgislatif

CandidatPrsidentiel

1..1

- adresse IP : String
- rgion
: String

Certificat
- dateValidit : Date
- etat
: String

Vote

+ get parti () : String


+ set parti () : void

1..1

0..1

- parti : String

+ get nom () : String


+ set nom () : void

Agent

1..1
1..1

Ville
- nom : String

- id_vote : int
+ get id () : int
+ set id () : void

1..*
1..1
ListCandidat

- identifiant : int
- parti
: String
+
+
+
+

get identifiant ()
set identifiant ()
get parti ()
set part ()
...

:
:
:
:

int
int
String
void

Valideur

Commissaire

Anonymiseur

Dcompteur

0..*

1..1
VoteLgislatif
0..*

Sondage

VotePrsidentiel

- choix : String

- choix : String

+ get choix () : String


+ set choix () : void
...

+ get choix () : String


+ set choix () : void

Compteur_Cand_Lgi

Compteur_Cand_Prs

- total : int

- total : int

+ set total () : int


+ get total () : int

+ get total () : int


+ set total () : void

- identifiant : int
- choix
: String
+
+
+
+

get identifiant ()
set identifiant ()
get choix ()
set choix ()

:
:
:
:

int
void
String
void

1..1

Compteur
- total : int
+ get total () : int
+ set total () : void

1..*
Question
- id : int
+ get id () : int
+ set id () : void

Figure 2. 13 : diagramme de classe global

VI.

Conclusion

Au cours de ce chapitre, nous avons, dabord, prsent larchitecture de notre systme.


Ensuite, nous avons spcifi les besoins de notre application et nous avons termin par une
conception dtaille qui nous offre un modle prt tre dvelopp.
Dans le chapitre suivant, nous prsentons les tapes de la ralisation de notre projet et les
rsultats obtenus.

31

Chapitre 3 : Ralisation

Chapitre 3 Ralisation
I.

Introduction

Ce chapitre est consacr la partie ralisation de notre application. Nous commenons par la
description de l'environnement matriel et logiciel dans lequel nous avons ralis notre
application. Nous montrons, par la suite, les tapes dinstallation et de configuration des
logiciels utiliss. Enfin, nous prsentons les diffrentes interfaces ainsi que les rsultats
atteints.

II.

Environnement de dveloppement

Nous prsentons, dans cette section, lenvironnement matriel utilis pour le dveloppement de
cette application ainsi que lenvironnement logiciel.

II.1.

Environnement matriel

Au cours de la ralisation de notre application, nous avons dispos d'un ordinateur ayant les
caractristiques suivantes:

Processeur: 2,53 GHZ

Mmoire RAM: 3 Go

Disque dur: 232.5 Go

Systmes dexploitation : Windows 7 et UBUNTU 12.04

II.2.

Environnement logiciel

Dans cette partie, nous prsentons les logiciels que nous avons utilis pour la ralisation du
projet. Nous avons choisi le langage de programmation Java pour le dveloppement du
concept orient objet. Pour dessiner les diagrammes dUML, nous avons utilis Sybase
Power AMC.

Nous donnons, par la suite, des dtails sur ApacheStruts, J2EE, MySQL et EJBCA.
II.2.1.

Apache Struts

Struts [11] est un Framework pour les applications web dvelopp par le projet Jakarta de la
fondation Apache. C'est le plus populaire des Frameworks pour le dveloppement
32

Chapitre 3 : Ralisation
d'applications web avec Java. Il met en uvre le modle MVC 2 (Modle / Vue / Contrleur).
L'application de ce modle permet une sparation en trois parties distinctes de l'interface, des
traitements et des donnes de l'application.
Nous avons utilis le Framework Struts 2 qui rsulte de la fusion du projet Struts et du projet
WebWork. Cette nouvelle version est caractrise par une simplicit et flexibilit par rapport
la premire (Struts1).
II.2.2.

J2EE

La plate forme J2EE [12] (Java 2 Entreprise Edition), est la proposition de SUN pour le
dveloppement et la mise en uvre dapplications dentreprise multi niveaux.
Elle sappuie entirement sur le langage Java et de ce fait, bnficie de ses caractristiques.
SUN caractrise le langage Java comme tant simple, orient objet, interprt, distribu,
robuste, scuris, portable et multitche.
II.2.3.

MySQL Workbench 6.0 CE

MySQL Workbench [13] est un logiciel de gestion et d'administration de bases de donnes, il


est cr en 2004. Via une interface graphique intuitive, il permet, entre autres, de crer,
modifier ou supprimer des tables, des comptes utilisateurs, et d'effectuer toutes les oprations
inhrentes la gestion d'une base de donnes. Pour ce faire, il doit tre connect un serveur
MySQL.
II.2.4.

EJBCA Entreprise Java Bean Certificate Authority

Pour assurer la scurit de notre application, nous avons besoins dune PKI capable doffrir
des milliers des certificats aux votants et aux serveurs participants lopration de vote. Pour
cela nous avons choisit EJBCA.
a. Dfinition
EJBCA [14] est une solution open-source dveloppe en Java/J2EE et maintenue par la
socit sudoise Primekey. Elle est robuste, de haute performance et flexible qui sadapte aux
diffrents niveaux dassurances ce qui signifie quelle est la meilleure solution pour construire
une infrastructure PKI complte. Elle fournit la fois les fonctions classiques qui se trouvent
dans la plupart des PKI du march, mais elle fournit galement un serveur OCSP (Online
Certificate Status Protocol), un serveur dhorodatage et un serveur de signature.

33

Chapitre 3 : Ralisation
EJBCA lavantage dtre totalement indpendante des systmes dexploitation, des SGBD
(Systme de Gestion de Base de Donnes) et des serveurs dapplications. En plus de
linterface Web standard, EJBCA offre aussi une interface par ligne de commande qui facilite
lintgration et lautomatisation de certaines oprations.
b. Architecture fonctionnelle
EJBCA propose trois niveaux fonctionnels:

Entit publique ou autorit denregistrement locale (AEL) :

Elle est compose dlments permettant de raliser des requtes de certificat et de rvocation
ou de rcuprer des lments publics de la PKI, tels que les certificats dAC, CRL
(Certificate Revocation List), etc.

Autorit de la PKI ou Autorit de Certification (AC) :

Elle est responsable de la dlivrance et de la rvocation des certificats. Les cls peuvent tre
conserves sur des magasins de cls (keystore), sur des cartes puce cryptographiques ou
dans une base de donnes.

Entit administrative ou autorit denregistrement (AE) :

Elle englobe les fonctions de gestion de la PKI, telles que les fonctions dauthentification, de
gestion de cycle de vie des certificats, de publication et de paramtrage de la PKI. En
complment, elle permet de dfinir le format des entits publiques et le contenu des
certificats.
c. Architecture applicative
EJBCA adopte une architecture Web 3 tiers. Ainsi, elle est dcoupe en trois couches:

Une couche prsentation : fournit les interfaces web aux clients et administrateurs
pour effectuer des requtes auprs de lautorit de certification ou de lautorit
denregistrement.

Une couche applicative : englobe les fonctions mtiers de la PKI.

Une couche de donnes: permet de stocker lensemble des donnes de la PKI dans
une base de donnes. Elle permet aussi la connexion avec lannuaire LDAP
(Lightweight Directory Access Protocol) pour lui adresser les donnes publiques de la
PKI entre autre les utilisateurs, les certificats, CRL, etc.
34

Chapitre 3 : Ralisation

Architecture technique

EJBCA stocke des informations sur les certificats, les utilisateurs et dautres paramtres. Elle
fournit un support pour diverses bases de donnes standard.
Pour linstaller, nous avons besoins de quelques outils tels que la base de donnes, MySQLConnector, un installer ANT, un serveur JBoss, openJDK.
La procdure dinstallation dEJBCA sur la plateforme Ubuntu 12.04, est dtaille dans
lAnnexe 3.

III.

Installation et mise en uvre

Dans cette section, nous prsentons les diffrentes tapes qui ont men la ralisation de
notre application.

III.1.

Cration des certificats

Pour raliser lapplication de vote en ligne, nous devons tout dabord prparer tout les
lments ncessaires pour quun votant lgitime puisse exercer son droit de vote.
Lautorit de vote subordonne qui est son tour administre par lautorit racine assure la
cration des certificats. Dans le cas rel, elle doit acqurir le pouvoir de certification partir
de lautorit racine ANCE. Mais dans le cadre de ce projet, nous avons cre notre propre
autorit de vote racine.
Lors de linstallation dEJBCA, lautorit de vote est cre. Cette autorit reprsente la
premire CA (du premier niveau) nomm RootCA1. Ce dernier dlgue le pouvoir de
certification dautres entits qui deviennent CA leur tour, dou dans le deuxime niveau,
nous avons deux subCA Person CA et Server CA.
Dans le troisime niveau, nous crons les entits finales. Les certificats des citoyens (votants)
sont signs par le PersonCA et les certificats des serveurs sont signs par le ServerCA.

35

Chapitre 3 : Ralisation

La figure 3.1 illustre toutes les autorits de certifications ainsi que les entits votants et
serveurs.

Figure 3. 1 : Architecture logique de PKI


Nous dtaillons par la suite les certificats des CA subordonnes et des entits finales.
III.1.1.

Cration des deux CA subordonnes

Pour crer les CA subordonnes, nous devons crer en premier lieu leurs profils :
Aprs avoir accder linterface web Administration dEJBCA, il faut :

Ouvrir la page Profil de certificats

Slectionner le profil SUBCA(fixes ) de la liste.

Entrer dans la zone de saisie SubCA_Person (ou SubCA_Server)

Cliquer sur Editer le profil de certificats

Les profils des CA subordonnes sont cres avec des proprits copies partir du profil
SUBCA (dfinit par dfaut dEJBCA), comme le montre la figure 3.2.

36

Chapitre 3 : Ralisation

Figure 3. 2 : Ajout de profil de certificats


A ce moment, nous pouvons crer les deux CA subordonnes PersonCA et ServerCA
Il suffit de cliquer sur Editer/crer des AC et choisir les paramtres adquats pour chaque
autorit.
A ce stade, nous avons prpar les trois autorits de certification comme le montre la figure
3.3.

Figure 3. 3 : Les autorits de certification cres


37

Chapitre 3 : Ralisation
III.1.2.

Cration des profils des entits finales

A ce niveau, nous crons un profil pour chaque votant et pour chaque serveur. Les tapes sont
peu prs les mmes sauf que les entits personnes sont certifies par PersonCA et les entits
serveurs sont certifies par ServerCA.
Pour crer un profil votant, il faut suivre les tapes suivantes :

Aller la page Administration et slectionner Profils dentits .

Entrer le nom de la personne dans le champ de texte et cliquer sur le bouton


Ajouter .

Nous obtenons les profils suivants comme lindique la figure 3.4.


Pour diter le profil et ajouter plus dinformation, il faut slectionner le profil de la
personne nouvellement cre et cliquer sur le bouton Editer le profil dentits . Enfin, il
faut entrer les paramtres adquats.

Figure 3. 4 : Profils des entits finales


Dans la phase de prs vote, chaque citoyen voulant exercer son droit de vote, il doit faire une
demande de certificat crite au reprsentant de lISIE. Ladministrateur vrifie lidentit du
citoyen, lge lgal minimum requis, la nationalit, etc. Il demande au votant de lui donner un
mot de passe dexportation du fichier P12 (PKCS #12, Public-Key Cryptography Standards)

38

Chapitre 3 : Ralisation
Ce mot de passe est utilis, par la suite, pour importer le certificat et la cl prive sur la
machine du votant.
Ladministrateur doit remplir les champs ncessaires et choisir le format P12 puis cliquer sur
Ajouter. La figure 3.5 illustre cette procdure.

Figure 3. 5 : Ajout dun votant


Dans lAnnexe 4, nous prsentons le contenu du certificat RootCA1, PersonCA, ServerCA et
le contenu dun certificat dlivr au votant.
A fin de garantir la scurit de notre application, nous avons choisi lalgorithme RSA, pour la
gnration de couple de cls, de taille 1024 bits et la fonction de hachages choisit est le
SHA256
La dernire tape consiste rcuprer le fichier demand, ladministrateur doit suivre
quelques tapes comme le montre la figure 3.6.

Aller la page Interface publique, slectionner Create Browser Certificate .

Saisir lidentifiant et mot de passe.

Tlcharger le fichier.

39

Chapitre 3 : Ralisation

Figure 3. 6: Demande de certificat


En recevons un fichier P12 par mail, chaque citoyen doit linstaller sur le navigateur web pour
scuriser la procdure dlection le jour de vote.
Par exemple, dans Google chrome il doit aller sous : Paramtres Afficher les paramtres
avancsGrer les certificatsPersonnel et cliquer sur le bouton importer
Il doit spcifier le fichier P12 importer et indiquer le mot de passe du fichier comme
lindique la figure 3.7.

Figure 3. 7 : Installation du fichier P12

40

Chapitre 3 : Ralisation

III.2.

Configuration et organisation de projet J2EE

Comme nous avons indiqu dans le chapitre 2, larchitecture de notre systme est forme par
un systme de vote et quatre entits. Nous avons dvelopp un projet pour chaque programme
c'est--dire un projet pour le systme de vote, un pour le valideur, un pour le commissaire, un
pour lanonymiseur et un projet pour le dcompteur. Chacun dentre eux possde un magasin
de cl (keystore) contenant le couple de cls RSA (une cl publique et une cl prive) et un
magasin de confiance (truststore) contenant les certificats des autres serveurs. Ces keystores
sont utiliss, en premier lieu, lors de la phase dauthentification et en deuxime lieu pendant
le processus de vote pour le chiffrement et le dchiffrement des messages (les keystores et les
truststores sont de type JKS).
Nous devons bien configurer la scurit des serveurs en changeant soigneusement les fichiers
server.xml [15] pour chaque serveur Tomcat utilis dans les projets. Nous devons ajouter le
bout de code suivant.
< Connector SSLEnabled="true" SSLEngine="on" SSLVerifyClient="require" SSLVerifyDepth="2"
clientAuth="true"keyAlias="localhost" keystoreFile="D:\application\Tomcat\tomcat.jks"
keystorePass="tomcat" maxThreads="150" port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true"
sslProtocol="TLS" truststoreFile="D:\application\Tomcat\valideur.jks" truststorePass="valider"/>

De plus, dans le fichier struts.xml nous devons ajouter le bour de code suivant.
<package name="actions" namespace="/" extends="ssl-default">
<interceptors>
<interceptor name="allowAccessIntercept" class="interceptors.AllowAccessInterceptor">
</interceptor>
<interceptor-stack name="secureStack">
<interceptor-ref name="secure">
<param name="useAnnotations">false</param>
<param name="httpsPort">443</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
</package>

41

Chapitre 3 : Ralisation

III.3.

Prsentation de droulement de vote

Dans cette partie, nous prsentons les interfaces Homme/Machine que visite le votant pour
bien drouler le vote lectronique.
III.3.1.

Description de linterface dauthentification et daccueil

Le jour du vote et lors de louverture du site vote en ligne, le votant est invit slectionner
son certificat parmi les autres certificats installs dans le navigateur. Nous supposons que
cest un ordinateur familial et les membres de la famille peuvent voter en utilisant la mme
machine. Ceci est montr dans la figure 3.8 :

Figure 3. 8 : Authentification par SSL/TLS


Une fois slectionn, le votant doit cliquer sur le bouton OK. Une authentification mutuelle
avec le serveur base sur SSL plus prcisment TLS1.2 seffectue en arrire plan. Nous la
reprsentons dans la figure 3.9 pour montrer son droulement.
1) Un client demande l'accs une ressource protge.
2) Le serveur web prsente son certificat au client.
3) Le client vrifie le certificat du serveur.
4) En cas de succs, le client envoie son certificat au serveur.
5) Le serveur vrifie les informations d'identification du client.
6) En cas de succs, le client et le serveur se mettent daccord sur une cl de session.

42

Chapitre 3 : Ralisation

Figure 3. 9 : Authentification mutuelle


Dans le cas o les deux entits se sont bien authentifies, une page daccueil scurise
saffiche. La page est scurise car dans la barre dadresse de navigateur, lURL est prcd
par https et un cadenas vert, comme lindique la figure 3.10.

Figure 3. 10 : Description de la page daccueil


43

Chapitre 3 : Ralisation
A ce stade, le votant est invit choisir un type dlection. Puisque plusieurs certificats
peuvent tre installs dans la mme machine alors pour tre sre et certain que cest la bonne
personne qui dtient le certificat, il est indispensable de rfrencier chaque certificat son
propritaire. Cest pour cela quune authentification supplmentaire par identifiant et mot de
passe est utile. Nous avons choisit que lidentifiant reprsente lalias du certificat et le mot de
passe reprsente le mot de passe de fichier P12.
Nous reprsentons dans la figure 3.11 linterface dauthentification.

Figure 3. 11 : Interface dauthentification par identifiant et mot de passe

Aprs la saisie de son identifiant et mot de passe, le votant peut dmarrer son vote.
III.3.2.

Description des interfaces de vote.

Selon le type dlection slectionn prcdemment, lapplication rcupre les listes des
candidats partir de la base de donnes qui est protge par lautorit subordonne elle-mme
Dans chaque rgion, nous avons une autorit subordonne qui gre les diffrents serveurs
participants au vote et assure la scurit du serveur base de donnes.
La figure 3.12 indique le profil de vote dans le cas o le votant a choisi une lection
prsidentielle.

44

Chapitre 3 : Ralisation

Figure 3. 12 : Interface du profil vote prsidentiel


Le votant choisit un candidat parmi les candidats affichs dans la liste et clique sur voter.
Cette action transforme le choix effectu en un message chiffr (message1 dans la chapitre 2,
section 2) qui est envoy au valideur.
Pour chiffrer et dchiffrer les diffrents messages changs entre les entits, nous avons
besoin dun keystore de format JKS (Java KeyStore). Alors, il est utile de convertir les
formats P12(le fichier du votant) au format JKS en utilisant loutil Keytool. Puisque, seuls les
certificats des votants doivent tre installs dans le navigateur, nous devons choisir le format
JKS lors de gnration de fichiers des serveurs en utilisant EJBCA.
Le votant est invit, cette fois, affirmer son choix.

45

Chapitre 3 : Ralisation
La figure 3.13 correspond linterface de confirmation du choix envoyer au valideur.

Figure 3. 13 : Interface validation de choix envoyer au valideur


Si toutes les transactions, dcrites dj dans le chapitre 2, section 2, se droulent correctement
c'est--dire un scnario nominal sest effectu, le votant reoit un message lui affirmant que
son vote t effectu avec succs. Linterface de la figure 3.14 montre la russite du vote.
La rception de ce message prouve que le vote a t tenu en compte par le dcompteur.

Figure 3. 14 : Interface de russite de vote


46

Chapitre 3 : Ralisation
Si le votant a dj vot et veut revoter une autre fois, dans ce cas, lapplication lui interdit de
voter et lui affiche linterface de la figure 3.15:

Figure 3. 15 : Interface chec de vote


Concernant la phase de dcomptage, la fin de la procdure de vote, chaque dcompteur local
doit envoyer les rsultats obtenus au dcompteur global situ dans le local principal de
lorganisation de vote. Ce dernier va publier les rsultats finaux.

III.4.

Prsentation de la partie administrative

Durant la phase de pr vote, ladministrateur doit grer la liste des votants, la liste des
candidats et doit de mme superviser les serveurs participants dans le vote. Pour accder
lapplication, il doit sauthentifier par son certificat et vrifier, par la suite, quil est la bonne
personne qui dtient le certificat.

47

Chapitre 3 : Ralisation
La figure 3.16 montre linterface dauthentification de ladministrateur.

Figure 3. 16 : Interface dauthentification de ladministrateur


Aprs son authentification, ladministrateur peut grer les votants, les candidats et voir les
rsultats des lections. La procdure de gestion est, peu prs, la mme, alors nous
prsentons seulement la gestion des votants.
La figure 3.17 illustre linterface de gestion des votants, ladministrateur peut consulter la
liste des lecteurs enregistrs dans la base de donnes, il peut ajouter dautres votants et il
peut aussi supprimer un votant sil na pas le droit de vote (par exemple il est lgitime mais
avant ou durant la priode de vote il mort)

Figure 3. 17 : Interface de gestion des votants


48

Chapitre 3 : Ralisation
Si ladministrateur veut ajouter un votant, il doit remplir tous les champs et cliquer sur le
bouton Envoyer . La figure 3.18 montre linterface dajout du votant.

Figure 3. 18 : interface dajout dun votant


Il peut voir les rsultats du vote, en slectant le type dlection. La figure 3.19 illustre le
rsultat dune lection prsidentielle.

Figure 3. 19 : Rsultat dun vote prsidentiel

IV.

Conclusion

Au cours de ce chapitre, nous avons spcifi l'environnement matriel et logiciel de notre


application. Ensuite, nous avons dcrit brivement les tapes dinstallation et de gnration de
certificat. Enfin nous avons montr les tapes de vote en utilisant notre application.
49

Conclusion gnrale et perspective de travail

Conclusion gnrale et perspective de travail


La dmocratie est le rgime politique dans lequel le pouvoir est dtenu par le peuple (principe
de souverainet), sans qu'il y ait de distinctions dues au lieu de naissance, la richesse, la
comptence, etc.
Au cours de ce projet, effectu au sein de l'Unit de Recherche Hatem Bettaher
d'Informatique, Rseau, Tlcommunication et Mathmatique, nous avons russi raliser un
systme de vote en ligne assurant son droulement en toute scurit et garantissant aux
votants la libert de choisir leurs candidats prfrs. Tout ceci dans le but daider les citoyens
participer dans la vie politique dune manire autonome et indpendante.
Nous avons effectu, dans un premier temps, ltude de lexistant qui nous a permis de mieux
comprendre les besoins de lapplication implmenter et de dterminer les contraintes
relatives au vote en ligne. Dans un deuxime temps, nous avons recens les diffrents besoins
fonctionnels et non fonctionnels de lapplication. Et nous avons ralis une conception
dtaille en prsentant plusieurs diagrammes dUML.
Dans un dernier temps, nous avons prsent les choix des logiciels utiliss et le travail ralis
tout en lillustrant avec des interfaces Homme/Machine.
Nous tenons galement signaler dans cette conclusion que ce projet nous a permis
dapprofondir nos connaissances en conception et en dveloppement et spcifiquement en
J2EE avec le framework Struts2.
En plus, il a t une bonne occasion qui nous a permis damliorer nos acquis thorique en
scurit et de suivre lactualit du domaine et surtout linstallation et la manipulation
dEJBCA de faon professionnelle.
Finalement, et comme perspective future, nous voulons utiliser les courbes elliptiques pour
chiffrer et dchiffrer les interactions entre les diffrents serveurs participant au vote.
Nous voulons aussi liminer lidentifiant et le mot de passe en utilisant une carte puce qui
contient le fichier P12.Ainsi, chaque membre de la famille naura qu introduire sa carte
puce dans le lecteur et il peut sauthentifier directement avec le systme.

50

Bibliographie

Rfrences
[1] Nicolas Bonvin, Systme de vote lectronique, Projet de Master Janvier 2005.
[2] http://www.tuniscope.com/index.php/article/9787/actualites/tunisie/etapes302709#.U3Hfx4F5Ob8 [visit le 01/05/2014].
[3]http://yvespoey.unblog.fr/2007/04/05/machines-a-voter-pour-boutons-de-panurge/[visit le
21/04/2014].
[4] http://www.ville-antony.fr/machine-voter [visit le 03/05/2014].
[5] http://www.agoravox.tv/actualites/politique/article/machines-a-voter-ou-machines-a17260
[6] Pascal Gachet , Dploiement de solutions VPN : PKI Etude de cas , Travail de
diplme Ecole dingnieur du Canton de Vaud, 20 dcembre 2001.
[7] William Stallings, Scurite des rseaux,Vuibert, Paris, 2002.
[8] Whitefield Diffie and Martin E Hellman, New Directions iCryptography , 6 novembre
1976.
[9] R. Rivest, A. Sham ir, L. Adleman. A Method for Obtaining Digital Signatures and
Public-Key Cryptosystems]. Communications of the ACM, Vol. 21 (2), pp.120126. 1978.
[10] Joseph Gabay, David Gabay, Analyse et conception Dunod, Paris, 2008.
[11] http://dico.developpez.com/html/3109-Langages-Struts.php. visit le [02/04/2014].
[12] Benjamin Aumaille, Dveloppement d'applications Web Nantes : Ed. ENI , 2002.
[13] http://www.mysql.fr/products/workbench/ [visit le 05/04/2014].
[14] Yannick Quenec'hdu -Reponsable BU scurit EJBCAPKI .
[15] http://blog1.vorburger.ch/2006/08/setting-up-two-way-mutual-ssl-with.html [visit le
01/03/2014].

51

Annexe 1

Annexe 1 : les principales tapes du scrutin pour l'lection


en Tunisie
Tout dabord, le membre vrificateur de l'identit doit:
-s'assurer que l'lecteur n'a pas vot, en examinant les traces de l'encre sur son doigt,
-vrifier l'identit de l'lecteur uniquement sur la base de sa carte d'identit nationale,
-examiner la prsence de son nom sur le registre des lecteurs du bureau concern,
-rexaminer l'identit de l'lecteur si le nom ou le numro ne sont pas conformes et informer
l'lecteur au cas chant qu'il n'a pas le droit de voter,
-s'assurer qu'il n'y pas un produit dissolvant sur l'index de la main droite ou celui de la main
gauche de l'lecteur qui il doit demander de tremper l'index de sa main gauche dans l'encre,
La deuxime tape seffectue dans l'isoloir, l'lecteur muni de son bulletin de vote doit utiliser
obligatoirement le stylo qui s'y trouve et cocher, seulement, la case de la liste choisie. Il
doit, par la suite plier le bulletin.
L'lecteur doit veiller la propret du bulletin et viter de la tcher d'encre
En cas d'erreur lors de l'utilisation du bulletin de vote, il est possible l'lecteur de demander
au chef du bureau de vote de l'changer. Cette opration ne peut tre rpte qu'une seule fois.
Aprs avoir coch le bulletin de vote, l'lecteur sort de l'isoloir et se dirige vers l'urne.
Ltape suivante cest le dpt du bulletin de vote dans l'urne:
-L'lecteur se dirige vers l'urne et montre le bulletin de vote pli avec le cachet du bureau de
vote.
-L'lecteur glisse lui-mme le bulletin dans l'urne.
-Le chef du bureau de vote dirige l'lecteur vers le membre du bureau charg de la vrification
de l'identit
Finalement, chaque votant rcupre sa carte d'identit nationale et son tlphone portable.

Annexe 1
Les lecteurs ayant un handicap (non-voyants, handicaps mentaux ou physiques) qui les
empche d'crire sont autoriss se faire accompagner par une autre personne dans le bureau
de vote.

Annexe 2

Annexe 2 : Description textuels de cas dutilisation


Description textuelle de cas dutilisation Sauthentifier
Tableau A2. 1 : description de cas dutilisation Sauthentifier
Titre
Acteurs
Pr-conditions
Scnario nominal
Post-conditions
Enchainement alternatif

Enchainement derreur

Sauthentifier
Votant
Le votant est dj enregistr auprs dune autorit de vote et a dj reu les
paramtres ncessaires pour accder lapplication
1. Le votant sauthentifier par son certificat.
2. Il sauthentifier par son identifiant et son mot de passe.
Le vote se termine avec succs.
A1 Authentification choue
Lenchainement A1 dmarre au point 1 du scnario nominale, le votant
doit entrer un certificat valide ou au point 2, le votant doit vrifier son
identifiant et son mot de passe.
E1 Annulation de lauthentification
Lenchainement E1 peut dmarrer aux points 1 ou 2. le votant quitte
linterface dauthentification.

Tableau A2. 2 : Description de cas dutilisation relatif au votant


Titre

Voter

Acteur

Votant

Pr-conditions

Le votant doit sauthentifier par son certificat, puis saisir son identifiant et
son mot de passe

Scnario nominal

1. Le votant effectue un choix.


2. Il valide son choix.

Post-conditions

Le vote se termine avec succs.

Enchainement

A1 Vote chou

alternatif

Lenchainement A1 dmarre au point 2 pour permettre au votant de se


communiquer avec des serveurs officiels.

Enchainement

E1 Annulation du vote

derreur

Lenchainement E1 peut dmarrer aux points 1ou 2 lorsque le votant


annule son choix et quitte linterface de vote.

Nous prsentons dans les tableaux 2.2 et 2.3 respectivement une description textuelle relatif
au valideur et une autre relatif au commisaire.

Annexe 2
Tableau A2. 3 : Description de cas dutilisation relatif au valideur
Titre
Acteur
Pr-conditions
Scnario nominal

Post-conditions
Enchainement
derreur

Signer vote
Valideur
Le valideur est dj configur et prt pour participer la procdure du
vote.
1. Le valideur sauthentifie par son certificat.
2. Il vrifie la signature du votant
3. Il vrifie la validit du vote
4. Il signe le vote
Le vote est sign
E1 Annulation du vote
Lenchainement E1 peut dmarrer au point 2 si la signature du votant est
invalide ou au point 3 si le votant a dj vot et na pas le droit de voter
quune seule fois.

Tableau A2. 4 : Description de cas dutilisation relatif au commissaire


Titre
Acteurs
Pr-conditions
Scnario nominal

Post-conditions
Enchainement
derreur

Assurer lunicit de vote


Commissaire
Le commissaire est dj configur et prt pour participer la procdure du
vote.
1. Sauthentifier par un certificat.
2. Vrifier que le votant na pas pass par plus quun valideur.
3. Vrifier que le votant na pas pass par plus quun anonymiseur.
Le vote est unique
E1 Annulation du vote
Lenchainement E1 peut dmarrer au point 2 si le choix a t valid ou au
point 3 si le choix a t anonymis.

Annexe 3

Annexe 3 installation dEJBCA


Les diffrents composants dEJBCA fonctionnent en java. Pour installer et utiliser cette
architecture, nous devons tlcharger plusieurs composants comme le montre le tableau 3.1 :
Tableau A3. 1 : Composants tlcharger
Module

Version

EJBCA

4.0.12

JBoss

5.1.0

Installeur Ant

1.7.1

OpenJdk

1.6.1

Mysql Java-connector

5.1.29

Nous mettons tous ces fichiers dans un rpertoire nomm, par exemple, repinstall.
Sous Ubuntu 12.04, il faut choisir depuis le dbut de travailler comme tant,par exemple,
super user alors nous procdons comme suit :
$ sudo su
1. Installation des bibliothques et des services requis
Pour installer MySQL, il faut taper la commande suivante :
# apt-get install mysql-server mysql-client

Pour installer JAVA, il faut taper la commande suivante :


# apt-get install openjdk-6-jdk

Pour installer Ant, il faut taper les commandes suivantes :


# apt-get install ant ant-optional
# cd /home/mahjoub/repinstall
# unzip apache-ant-1.7.1-bin.zip
# cd /usr/local/
# ln s ~/apache-ant-1.7.1 ant

Annexe 3
Remarque 1: Il faut vrifier que le lien symbolique est bien cre pour pouvoir terminer la
procdure dinstallation sans erreur. Si une erreur se provient lors de cration de lien, merci de
taper le chemin complet de dossier ou de fichier.
Pour installer le serveur JBoss, il faut taper les commandes suivantes :
# cd /home/mahjoub/repinstall
# unzip jboss-5.1.0.GA-jdk6.zip
# cd /usr/local/
#ln s ~/jboss-5.1.0.GA jboss

Pour faciliter les communications de JBoss et MySQL, nous allons installer un connecteur
fourni par MySQL en copiant aussi les fichiers du connecteur dans le rpertoire de la
bibliothque JBoss.
Il faut taper, dans un terminal, les commandes suivantes :
# cd /home/mahjoub/repinstall
# unzip mysql-connector-java-5.1.29.zip
# cd /usr/local
# cp /home/ameni/mysql-connector-java-5.1.24/mysql-connector-java-5.1.29-bin.jar
/usr/local/jboss/server/default/lib/

2. Configuration de lenvironnement dEJBCA


Pour simplifier linstallation dEJBCA lenvironnement doit tre correctement configur.
Pour cette raison nous devons diter le fichier /etc/profile en ajoutant.les lignes suivantes :
APPSRV_HOME=/usr/local/jboss
JAVA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m"
EJBCA_HOME=/usr/local/ejbca
ANT_HOME=/usr/local/ant
ANT_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m"
PATH=${APPSRV_HOME}/bin:${EJBCA_HOME}/bin:${ANT_HOME}/bin:$PATH
export PATH APPSRV_HOME JAVA_HOME JAVA_OPTS EJBCA_HOME ANT_HOME ANT_OPTS

ce stade, il est ncessaire dassurer les variables denvironnement. Nous devons excuter la
commande suivante:

Annexe 3
# source /etc/profile

Nous devons, maintenant, crer une base de donnes pour EJBCA avec les autorisations
appropries pour insrer, supprimer et mettre jour les donnes dans la base. Pour ce faire,
procdons comme suit:
# mysql u root p
Password:
mysql> create database ejbcaaa;
mysql> grant all privileges on ejbcaaa.* to ejbca-user@localhost identified by mysql123;
mysql> flush privileges;
mysql>exit

Pour se connecter sur cette nouvelle base avec ce nouvel utilisateur, nous procdons comme
suit:
# mysql ejbcaaa u ejbca-user p
Password :
mysql> show tables ;
Empty set (0.01 sec)
mysql>exit

1. Installation et configuration dEJBCA


La premire tape consiste installer le fichier et crer un lien symbolique, comme le montre
les lignes de commandes suivantes.
# cd /home/mahjoub/repinstall
# unzip ejbca_4_0_12.zip
# cd /usr/local
# ln s ~/ejbca_4_0_12 ejbca
# cp ./ ejbca/lib/bc*.jar ./jboss/server/default/lib/

Maintenant, il est important de paramtrer quelques fichiers de configuration.


Nous copions, tout dabord, les exemples de configuration dEJBCA:
# cd /usr/local/ejbca/conf
# cp install.properties.sample install.properties
# cp ejbca.properties.sample ejbca.properties

Annexe 3
# cp database.properties.sample database.properties
# cp web.properties.sample web.properties

Il faut diter le fichier install.properties afin de configurer le comportement par dfaut de


lapplication EJBCA ainsi que les certificats gnrs par dfaut lors de linstallation:
ca.name=RootCA1
ca.dn=RootCA1,O=ENIG,C=TN
ca.keyspec=4096
ca.signaturealgorithme=SHA256WithRSA
ca.validity=3650
ca policy=null

Dans le fichier ejbca.properties, nous devons ajouter la ligne suivante:


ca.keystorepass=****

Et dans le fichier database.properties, qui assure la gestion de la base de donnes utiliser,


nous devons ajouter les lignes suivantes :
database.name=mysql
darabase.url=jdbc :mysql://127.0.0.1 :3306/ejbcaaa
database.driver=com.mysql.jdbc.Driver
database.username=ejbca-user
database.password=****

Finalement, nous devons diter le fichier web.properties qui permet de configurer les
paramtres de linterface web dEJBCA.
java.trustpassword=****
superadmin.password=****
httpsserver.password=****
httpsserver.hostname=****

Avant de continuer, il faut arrter le serveur JBoss pour viter les conflits:
# cd /usr/local/jboss
# ./bin/shutdown.sh S

ce moment, nous allons compiler tous les fichiers source, regrouper les codes binaires et la
configuration dans un fichier zip avec une structure normalise qui sera copi dans le
rpertoire JBoss pour lexcuter comme une application via la plateforme JBoss. Nous allons
utiliser Ant pour effectuer le bootstrap dEJBCA.

Annexe 3
Dans un terminal, nous tapons les deux lignes suivantes:
# cd /usr/local/ejbca
# ant bootstrap

Pour vrifier la russite de linstallation, if faut obtenir dans la dernire ligne BUILD
SUCCESSFUL.
Afin dexcuter EJBCA comme une application, le serveur doit tre lanc pour fournir cette
application alors nous tapons ces deux lignes:
# cd /usr/local/jboss
# sudo ./bin/run.sh

Avant de finir les tapes dinstallation, il faut vrifier que la base des donns est rempli par
ses tables avec lutilisateur cre prcdemment.
La dernire tape dinstallation consiste crer le premier CA et lutilisateur superadmin en
tapant les commandes suivantes:
# cd /usr/local/ejbca
# ant install

Une autre fois, nous devons stopper le serveur JBoss pour quil puisse mettre en uvre les
changements effectus.
Remarque 2 : larrt du serveur peut tre effectu par la commande Ctrl-C et il faut attendre
jusqu lapparition de ligne Shutdown Complete.
Si tout se passe bien, nous devons maintenant configurer le serveur JBoss avec la cration de
nouveaux certificats pour un composant de Jboss appel Tomcat(tomcat.jks) qui fournit des
services Web. Les certificats de CA nouvellement mises jour et la configuration des ports
ncessitent une tape supplmentaire appele ant deploy.
# cd /usr/local/ejbca
# ant deploy

Un redmarrage de serveur JBoss est utile pour la prise en compte de changement effectu.
Enfin, pour pouvoir accder linterface web dEJBCA, nous devons importer le fichier
super admin.p12 figur dans le repertoire /usr/local/ejbca/p12 qui est cre lors de
linstallation dEJBCA. Alors, dans firefox, nous prcdons comme suit:

Annexe 3
EditPreferencesAdvances view certificates et cliquons sur le bouton importer
Nous ouvrons, par la suite, le site https://localhost:8443/ejbca/adminweb/, la page
dadministration est accessible, nous pouvons alors grer notre PKI.

Annexe 4

Annexe 4 : le contenu des certificats


Contenu de certificat RootCA1
mahjoub@mahjoub-Inspiron-N5040:~/Tlchargements$ openssl x509 -in
RootCA1.pem -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
66:0d:3f:98:91:e9:af:f2
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=RootCA1, O=ENIG Sample, C=TN
Validity
Not Before: Feb 16 20:35:44 2014 GMT
Not After : Feb 14 20:35:44 2024 GMT
Subject: CN=RootCA1, O=ENIG Sample, C=TN
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:a9:24:3e:b4:0b:a2:9b:8d:2c:d3:56:68:14:08:
b2:e8:20:33:93:31:12:f6:d3:60:a6:03:9e:86:2a:
8c:40:7d:25:20:3e:33:0d:43:bd:7a:f6:bf:a5:d7:
18:34:06:c9:db:78:cf:71:b4:db:c0:b1:52:84:c3:
49:b3:38:da:25:60:c7:2d:4d:46:b9:95:98:36:9d:
6d:03:c2:7f:05:ee:76:50:75:d5:ea:66:65:3e:7e:
3f:0c:ac:dc:87:90:34:24:ea:db:a8:b0:36:71:ab:
83:8e:7d:bb:1f:4c:2c:41:c9:65:15:ee:a1:5a:07:
62:27:ab:14:ce:e6:c8:53:cb:bb:f2:df:93:42:94:
43:38:a1:50:2a:f4:c9:0d:1a:5f:da:56:65:a1:b2:
48:05:1f:fc:cc:44:d3:85:8f:43:6d:c2:65:62:e2:
44:90:ca:c5:2f:58:0f:21:3a:c0:69:0e:32:4e:4e:
ce:03:a8:98:db:3b:dd:47:0a:a1:75:ee:ec:98:17:
7c:b5:c1:f9:1b:cd:65:2c:79:ac:d9:da:8b:e2:fc:
3e:ab:8d:45:95:44:b4:fe:9e:44:6e:d5:57:c6:b9:
68:d1:0c:64:6c:e3:d8:0d:3d:a6:61:d5:6c:1d:02:
94:36:fd:9f:3d:1a:80:e3:d1:ab:85:54:f6:30:74:
20:e2:f7:7d:66:58:da:bf:1c:52:cb:f3:fa:23:35:
24:f4:a2:80:ec:8f:a0:9e:e4:0e:b4:ae:4c:fb:11:
48:4f:b8:c3:8c:55:d6:a4:f3:13:24:77:8f:8e:c2:
63:03:a8:55:3e:46:b6:66:95:9f:c4:29:17:40:96:
61:d7:35:9d:d3:4e:f2:bd:57:62:a2:60:c2:d5:d0:
b6:c8:d4:95:57:88:7d:db:d3:1c:c6:05:0d:48:53:
a3:57:92:20:8a:32:02:4f:af:72:e8:81:36:10:e5:
39:2c:0e:17:e7:de:4c:40:9a:a9:f7:ec:25:ba:ec:
77:e2:be:bf:91:8e:20:f6:d8:38:84:4f:bc:9f:61:
95:3f:9b:7e:3c:c1:57:06:8e:75:d3:1e:bc:5d:b1:

Annexe 4
a0:e7:6d:de:9a:5c:a3:38:72:d2:a4:9b:34:2a:dd:
fb:f0:ee:3c:73:64:8f:ae:77:78:44:30:29:a9:63:
26:82:56:c8:6a:a6:8b:41:ff:5e:ba:18:44:1b:46:
88:bb:f8:8a:73:9f:06:39:6c:c5:e6:17:88:70:07:
66:c4:ac:85:af:a2:a6:25:ed:d3:f3:4e:6b:97:82:
92:72:1f:70:8b:fb:b7:27:c0:f5:40:70:3d:23:ce:
33:04:82:aa:fb:f6:60:8c:48:53:8b:3c:03:10:9b:
a8:4f:29
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
74:CF:EE:2B:9F:35:94:B9:8B:14:7C:A1:02:97:58:89:FB:13:D1:FA
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Authority Key Identifier:
keyid:74:CF:EE:2B:9F:35:94:B9:8B:14:7C:A1:02:97:58:89:FB:13:D1:FA
X509v3 Key Usage: critical
Digital Signature, Certificate Sign, CRL Sign
Signature Algorithm: sha256WithRSAEncryption
4d:27:a4:49:6b:bf:0e:c2:6a:e1:fb:80:de:2b:a8:79:f6:7a:
93:e7:5a:c7:14:34:df:b5:fc:9a:64:ff:9b:0b:98:dc:c5:46:
ac:20:e0:68:4c:1d:ea:ed:b4:30:59:00:74:31:2f:5b:ac:e2:
6a:ad:75:88:ab:32:cb:eb:2b:f0:84:e8:3b:de:e3:b7:7f:20:
9d:0b:bc:18:c8:31:b1:da:61:1a:c6:3c:1e:72:fc:8a:27:ae:
e9:bd:01:ba:c3:a0:3f:cb:67:4a:da:c4:cf:90:2d:e3:d0:e7:
76:75:a6:24:b2:8d:39:69:5e:30:19:91:89:78:71:07:4d:4a:
d0:08:40:e5:da:41:90:5b:7f:4e:a8:86:aa:1e:6a:84:53:64:
bf:51:c7:74:06:1c:7a:69:fb:68:2c:28:96:4c:88:e4:7e:da:
70:20:22:f7:cd:cb:61:15:8e:bf:d4:a2:e5:1e:e8:84:9b:c0:
e0:7d:1d:bf:64:c3:1f:95:5f:8e:44:9f:6c:8e:13:53:c9:5e:
80:78:38:c0:56:93:40:eb:bc:16:64:49:10:91:75:b9:3b:b2:
d7:a0:b0:9a:52:2b:55:53:51:fe:e3:1b:7b:9e:61:65:b8:04:
5d:8a:88:11:ba:a5:cf:6c:95:03:c0:d3:0f:fa:13:df:38:49:
06:b8:7a:33:86:93:d1:eb:61:f7:a9:02:a3:a2:31:af:53:e0:
c3:cb:95:68:f0:2e:f4:0d:29:86:61:ab:78:9b:da:51:12:68:
0e:2e:76:91:87:71:35:b1:b8:ff:ba:7c:98:3c:b3:bc:31:01:
9b:c9:f6:56:1d:98:bc:d1:33:27:55:4d:a7:b5:31:67:d9:9f:
88:35:41:73:4a:d8:75:b0:4c:b3:66:77:19:f6:2b:bf:18:6e:
f2:27:5e:fc:58:d0:c7:bb:87:d4:f1:51:28:31:ba:e5:00:69:
80:52:96:59:f6:8a:56:0d:66:d3:3e:65:6c:70:c8:08:3a:e9:
ec:e2:57:8a:29:40:76:1f:d7:c4:c6:3b:d4:5f:1b:a7:bf:c6:
e6:f3:51:63:00:3d:17:64:8e:c3:48:a0:cf:0f:5e:0d:56:f9:
27:f3:29:05:8d:2c:a7:70:7c:ea:68:af:5e:0b:55:8c:29:a1:
9e:53:25:76:b0:c5:da:55:8e:3f:93:aa:e1:36:fa:93:37:9e:
f6:61:7a:66:03:64:da:83:20:47:6c:48:09:f7:8d:66:45:c5:
e0:21:89:40:de:d4:a0:a3:1a:4c:d4:41:82:8d:c5:0e:8e:f6:
e0:90:10:80:06:0c:f3:fb:5c:8e:cb:cc:14:ae:f1:6f:78:a3:
96:4d:7c:e5:66:3d:7a:05
-----BEGIN CERTIFICATE-----

Annexe 4
MIIFTzCCAzegAwIBAgIIZg0/mJHpr/IwDQYJKoZIhvcNAQELBQAwNTEQMA4GA1U
E
AwwHUm9vdENBMTEUMBIGA1UECgwLRU5JRyBTYW1wbGUxCzAJBgNVBAYTAl
ROMB4X
DTE0MDIxNjIwMzU0NFoXDTI0MDIxNDIwMzU0NFowNTEQMA4GA1UEAwwHUm9
vdENB
MTEUMBIGA1UECgwLRU5JRyBTYW1wbGUxCzAJBgNVBAYTAlROMIICIjANBgkq
hkiG
9w0BAQEFAAOCAg8AMIICCgKCAgEAqSQ+tAuim40s01ZoFAiy6CAzkzES9tNgpgO
e
hiqMQH0lID4zDUO9eva/pdcYNAbJ23jPcbTbwLFShMNJszjaJWDHLU1GuZWYNp1t
A8J/Be52UHXV6mZlPn4/DKzch5A0JOrbqLA2cauDjn27H0wsQcllFe6hWgdiJ6sU
zubIU8u78t+TQpRDOKFQKvTJDRpf2lZlobJIBR/8zETThY9DbcJlYuJEkMrFL1gP
ITrAaQ4yTk7OA6iY2zvdRwqhde7smBd8tcH5G81lLHms2dqL4vw+q41FlUS0/p5E
btVXxrlo0QxkbOPYDT2mYdVsHQKUNv2fPRqA49GrhVT2MHQg4vd9ZljavxxSy/P6
IzUk9KKA7I+gnuQOtK5M+xFIT7jDjFXWpPMTJHePjsJjA6hVPka2ZpWfxCkXQJZh
1zWd007yvVdiomDC1dC2yNSVV4h929McxgUNSFOjV5IgijICT69y6IE2EOU5LA4X
595MQJqp9+wluux34r6/kY4g9tg4hE+8n2GVP5t+PMFXBo510x68XbGg523emlyj
OHLSpJs0Kt378O48c2SPrnd4RDApqWMmglbIaqaLQf9euhhEG0aIu/iKc58GOWzF
5heIcAdmxKyFr6KmJe3T805rl4KSch9wi/u3J8D1QHA9I84zBIKq+/ZgjEhTizwD
EJuoTykCAwEAAaNjMGEwHQYDVR0OBBYEFHTP7iufNZS5ixR8oQKXWIn7E9H6
MA8G
A1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUdM/uK581lLmLFHyhApdYifsT0fo
w
DgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBNJ6RJa78Ow
mrh+4De
K6h59nqT51rHFDTftfyaZP+bC5jcxUasIOBoTB3q7bQwWQB0MS9brOJqrXWIqzLL
6yvwhOg73uO3fyCdC7wYyDGx2mEaxjwecvyKJ67pvQG6w6A/y2dK2sTPkC3j0Od2
daYkso05aV4wGZGJeHEHTUrQCEDl2kGQW39OqIaqHmqEU2S/Ucd0Bhx6aftoLCi
W
TIjkftpwICL3zcthFY6/1KLlHuiEm8DgfR2/ZMMflV+ORJ9sjhNTyV6AeDjAVpNA
67wWZEkQkXW5O7LXoLCaUitVU1H+4xt7nmFluARdiogRuqXPbJUDwNMP+hPfOE
kG
uHozhpPR62H3qQKjojGvU+DDy5Vo8C70DSmGYat4m9pREmgOLnaRh3E1sbj/uny
Y
PLO8MQGbyfZWHZi80TMnVU2ntTFn2Z+INUFzSth1sEyzZncZ9iu/GG7yJ178WNDH
u4fU8VEoMbrlAGmAUpZZ9opWDWbTPmVscMgIOuns4leKKUB2H9fExjvUXxunv8b
m
81FjAD0XZI7DSKDPD14NVvkn8ykFjSyncHzqaK9eC1WMKaGeUyV2sMXaVY4/k6rh
NvqTN572YXpmA2TagyBHbEgJ941mRcXgIYlA3tSgoxpM1EGCjcUOjvbgkBCABgzz
+1yOy8wUrvFveKOWTXzlZj16BQ==
-----END CERTIFICATE----Contenu de certificat PersonCA
mahjoub@mahjoub-Inspiron-N5040:~/Tlchargements$ openssl x509 -in
PersonCA.pem -text
Certificate:
Data:
Version: 3 (0x2)

Annexe 4
Serial Number:
0f:1a:3d:c6:24:18:20:70
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=RootCA1, O=ENIG Sample, C=TN
Validity
Not Before: Feb 17 20:56:25 2014 GMT
Not After : Feb 14 20:35:44 2024 GMT
Subject: CN=PersonCA, O=ENIG, C=TN
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:ba:ae:34:01:d5:16:8f:a1:5c:3a:eb:85:51:60:
56:a2:18:8d:fd:2a:30:e9:5c:6b:bb:94:fc:2c:a8:
00:86:79:7e:f9:1f:45:0e:3f:40:9b:06:22:2a:6b:
e9:3f:84:96:51:ae:e0:1d:38:16:f1:b4:7a:90:76:
1f:c0:ef:13:fe:fa:53:b3:73:14:f5:bb:7c:8c:53:
82:ea:fe:84:13:7d:db:88:a4:4e:df:95:80:21:1a:
ed:9c:04:e4:fd:b1:c0:07:1d:20:46:a9:e8:fd:2f:
bd:3b:80:5d:64:63:81:52:37:2c:2a:e2:6b:26:2e:
0e:cf:69:8b:54:56:d5:ef:6b:de:f1:f6:34:67:be:
78:05:26:d6:31:9b:f0:78:c6:c0:6c:df:45:24:65:
c2:c1:b8:02:28:f5:74:25:a8:7b:ba:3c:5c:94:63:
82:03:e4:b0:d4:fb:71:b2:21:90:4a:db:13:d5:8d:
a1:eb:a4:92:d0:e4:82:20:94:ac:e1:ab:ec:17:c6:
a4:86:3d:b4:f5:fd:82:5c:d9:24:30:08:18:40:88:
3e:07:ea:eb:46:f1:54:1a:11:c5:9d:0f:b6:a5:40:
97:4c:86:e2:de:c5:66:56:79:88:77:1a:5b:b2:06:
75:ae:db:37:7a:11:5a:e8:37:d6:dc:6f:99:56:e3:
3e:7d:45:18:c5:25:ab:94:4a:3d:8f:3e:be:4d:bc:
ae:0c:c9:ff:c0:d7:fc:8d:f6:30:54:4c:9e:9d:97:
2b:d1:f3:ff:dc:f5:b0:23:ed:f0:23:b7:9d:e3:51:
be:55:55:19:da:25:ae:3e:fe:15:0f:80:35:46:9f:
b6:ef:a6:34:04:20:4e:2b:d2:be:82:25:7c:fe:80:
56:26:3f:f4:fc:75:e1:5e:76:31:cb:25:ea:77:86:
c5:84:2c:54:81:4c:a1:ca:b9:88:39:8e:49:de:4f:
4a:4b:d3:41:ba:12:34:a6:f2:de:a2:6a:ac:a4:01:
a2:c3:10:5a:4f:4e:83:b5:db:43:57:36:1f:81:65:
05:ab:64:eb:eb:4c:bb:f6:72:c4:05:f6:ce:af:4d:
72:af:1e:69:08:9c:9d:42:94:52:f4:16:f4:a3:fd:
a8:5d:3b:71:4b:77:67:8d:85:ab:c4:e8:3b:79:ec:
19:d5:39:fc:6e:da:12:58:79:91:3f:0e:bd:f9:44:
66:e0:72:6b:52:42:f3:67:9c:56:bb:32:a7:bd:34:
4a:fd:55:d2:e3:98:e3:fc:81:23:e2:f7:0d:d2:5c:
72:10:aa:28:6c:61:db:ef:2d:b8:39:6c:a7:3a:3d:
4e:13:e4:c4:4a:02:90:cc:6d:8f:32:35:eb:f4:72:
c3:19:19
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:

Annexe 4
BA:E1:DD:07:F8:5F:F1:0D:EA:93:C8:83:D0:F6:C2:0D:A7:62:9C:79
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Authority Key Identifier:
keyid:74:CF:EE:2B:9F:35:94:B9:8B:14:7C:A1:02:97:58:89:FB:13:D1:FA
X509v3 Key Usage: critical
Digital Signature, Certificate Sign, CRL Sign
Signature Algorithm: sha256WithRSAEncryption
04:9f:28:69:97:00:9c:68:71:83:8c:50:bf:20:45:96:64:c8:
98:4a:b0:82:75:0f:34:e5:6c:b0:38:f0:81:7b:da:82:80:35:
3a:a4:f2:41:cc:85:14:3f:cf:c9:60:0f:70:14:36:75:38:f4:
6e:dc:f9:25:22:41:88:b5:e2:a1:de:e4:78:0d:07:b5:13:53:
d3:7d:15:71:18:11:f7:45:4e:f0:f7:25:88:85:2c:9e:43:c0:
80:52:2f:a3:c7:44:49:0f:7f:a4:ee:eb:2e:ce:a8:e5:14:be:
8e:4f:d2:d7:c8:ad:b5:5c:ed:8d:72:87:d1:29:8e:e8:30:dc:
74:b5:51:d6:e5:19:6a:5a:24:7b:c7:2e:ea:fd:62:07:e5:ce:
7b:97:db:87:e9:c1:f5:2d:62:3f:01:61:6f:11:bd:95:3c:48:
f1:52:79:05:c7:63:ae:39:08:b1:bd:59:73:0c:6b:34:73:dd:
ac:18:25:05:2c:da:69:2d:2b:4a:57:55:b8:3b:32:05:9e:6f:
80:d6:87:71:77:bd:ab:82:9f:ad:35:71:d3:ad:3b:1b:0e:f3:
ba:2d:32:06:a7:e4:b9:ff:ae:52:db:c6:3a:ac:51:0c:9a:99:
34:c7:76:45:f6:c8:02:63:77:45:de:c0:c6:f6:fe:a7:21:2c:
64:b9:c7:e5:23:06:08:e0:2d:cb:b9:9d:cd:6e:7d:6c:41:b9:
74:1d:23:97:ee:7a:55:57:e4:87:cd:9a:f1:e0:ce:8a:84:44:
ca:35:6e:84:9a:72:b0:a1:89:df:f4:65:b9:71:ac:b8:97:2d:
c6:98:ef:bc:5e:41:1f:0c:e9:bb:f7:64:7e:08:9e:80:68:0b:
19:7e:24:bd:e1:6f:a7:d2:ef:de:34:d5:2c:04:71:15:a1:2b:
6b:a6:08:95:02:0f:51:44:41:5c:b0:b3:51:7b:a7:bc:90:c4:
6a:b6:b2:b2:10:76:47:36:b9:fa:3b:65:69:54:02:02:02:d0:
04:53:a5:bf:4a:a3:5d:00:4b:86:c5:31:b0:92:27:9c:4d:1b:
32:c6:51:d3:fd:59:fa:63:fd:e4:82:7e:1e:fa:3f:9d:46:87:
d7:0f:f9:ad:41:38:ac:39:30:99:46:de:61:48:4c:8b:9b:9c:
12:ee:52:40:2c:5c:78:51:a0:1a:27:f8:0e:df:a5:ca:45:8a:
40:f6:eb:25:e4:6c:cc:f8:0f:a7:96:fe:87:bc:7f:2f:7c:61:
98:82:63:11:95:94:47:d6:ec:2d:24:11:4c:b4:03:6e:86:67:
d8:8a:3f:28:6b:85:2e:44:25:1d:f7:49:e9:c7:fd:a7:69:b1:
d9:2e:62:72:28:d1:ca:6b
-----BEGIN CERTIFICATE----MIIFSTCCAzGgAwIBAgIIDxo9xiQYIHAwDQYJKoZIhvcNAQELBQAwNTEQMA4GA1
UE
AwwHUm9vdENBMTEUMBIGA1UECgwLRU5JRyBTYW1wbGUxCzAJBgNVBAYTAl
ROMB4X
DTE0MDIxNzIwNTYyNVoXDTI0MDIxNDIwMzU0NFowLzERMA8GA1UEAwwIUGVy
c29u
Q0ExDTALBgNVBAoMBEVOSUcxCzAJBgNVBAYTAlROMIICIjANBgkqhkiG9w0BA
QEF
AAOCAg8AMIICCgKCAgEAuq40AdUWj6FcOuuFUWBWohiN/Sow6Vxru5T8LKgAhnl
+

Annexe 4
+R9FDj9AmwYiKmvpP4SWUa7gHTgW8bR6kHYfwO8T/vpTs3MU9bt8jFOC6v6EE3
3b
iKRO35WAIRrtnATk/bHABx0gRqno/S+9O4BdZGOBUjcsKuJrJi4Oz2mLVFbV72ve
8fY0Z754BSbWMZvweMbAbN9FJGXCwbgCKPV0Jah7ujxclGOCA+Sw1PtxsiGQSts
T
1Y2h66SS0OSCIJSs4avsF8akhj209f2CXNkkMAgYQIg+B+rrRvFUGhHFnQ+2pUCX
TIbi3sVmVnmIdxpbsgZ1rts3ehFa6DfW3G+ZVuM+fUUYxSWrlEo9jz6+TbyuDMn/
wNf8jfYwVEyenZcr0fP/3PWwI+3wI7ed41G+VVUZ2iWuPv4VD4A1Rp+276Y0BCBO
K9K+giV8/oBWJj/0/HXhXnYxyyXqd4bFhCxUgUyhyrmIOY5J3k9KS9NBuhI0pvLe
omqspAGiwxBaT06DtdtDVzYfgWUFq2Tr60y79nLEBfbOr01yrx5pCJydQpRS9Bb0
o/2oXTtxS3dnjYWrxOg7eewZ1Tn8btoSWHmRPw69+URm4HJrUkLzZ5xWuzKnvTR
K
/VXS45jj/IEj4vcN0lxyEKoobGHb7y24OWynOj1OE+TESgKQzG2PMjXr9HLDGRkC
AwEAAaNjMGEwHQYDVR0OBBYEFLrh3Qf4X/EN6pPIg9D2wg2nYpx5MA8GA1Ud
EwEB
/wQFMAMBAf8wHwYDVR0jBBgwFoAUdM/uK581lLmLFHyhApdYifsT0fowDgYDVR0
P
AQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQAEnyhplwCcaHGDjFC/IEW
WZMiY
SrCCdQ805WywOPCBe9qCgDU6pPJBzIUUP8/JYA9wFDZ1OPRu3PklIkGIteKh3uR
4
DQe1E1PTfRVxGBH3RU7w9yWIhSyeQ8CAUi+jx0RJD3+k7usuzqjlFL6OT9LXyK21
XO2NcofRKY7oMNx0tVHW5RlqWiR7xy7q/WIH5c57l9uH6cH1LWI/AWFvEb2VPEjx
UnkFx2OuOQixvVlzDGs0c92sGCUFLNppLStKV1W4OzIFnm+A1odxd72rgp+tNXHT
rTsbDvO6LTIGp+S5/65S28Y6rFEMmpk0x3ZF9sgCY3dF3sDG9v6nISxkucflIwYI
4C3LuZ3Nbn1sQbl0HSOX7npVV+SHzZrx4M6KhETKNW6EmnKwoYnf9GW5cay4ly
3G
mO+8XkEfDOm792R+CJ6AaAsZfiS94W+n0u/eNNUsBHEVoStrpgiVAg9RREFcsLN
R
e6e8kMRqtrKyEHZHNrn6O2VpVAICAtAEU6W/SqNdAEuGxTGwkiecTRsyxlHT/Vn6
Y/3kgn4e+j+dRofXD/mtQTisOTCZRt5hSEyLm5wS7lJALFx4UaAaJ/gO36XKRYpA
9usl5GzM+A+nlv6HvH8vfGGYgmMRlZRH1uwtJBFMtANuhmfYij8oa4UuRCUd90np
x/2nabHZLmJyKNHKaw==
-----END CERTIFICATE----Contenu de certificat serverCA
mahjoub@mahjoub-Inspiron-N5040:~/Tlchargements$ openssl x509 -in
ServerCA.pem -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
45:4d:4c:94:42:78:c4:f7
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=RootCA1, O=ENIG Sample, C=TN
Validity
Not Before: Feb 17 21:00:37 2014 GMT
Not After : Feb 14 20:35:44 2024 GMT

Annexe 4
Subject: CN=ServerCA, O=ENIG, C=TN
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:96:fd:35:48:2b:8d:e8:d9:e0:aa:e1:34:45:76:
1a:38:71:c9:dc:d9:f8:8d:6e:72:3b:3f:66:95:b0:
54:7d:75:ba:0d:45:dc:e8:5e:4b:60:75:5a:cf:fd:
6f:9c:78:a7:a9:55:70:3d:f2:8d:70:a2:be:8d:b2:
66:e7:20:db:af:f5:3e:ca:c6:45:e3:bb:0c:59:9b:
67:65:21:3b:f1:b0:b1:bf:06:74:ae:62:1f:e2:2a:
6b:74:ab:e4:b4:5d:3a:f3:46:f6:fa:a4:6d:48:82:
6b:40:e5:e6:e8:2e:6a:1b:4c:8d:00:88:31:41:6b:
7d:79:35:1e:ae:8e:7f:0b:68:58:f4:a1:ee:c0:d0:
39:75:27:9e:2d:e3:0b:60:54:4d:70:59:ff:7a:f6:
3f:70:76:d9:06:57:d6:c1:25:75:72:bc:b6:69:a2:
d3:3c:a6:ec:39:d1:3e:e7:bc:e7:5a:10:c8:d5:18:
35:af:3e:20:2b:f6:86:75:a3:04:90:ba:7a:01:d3:
02:f0:22:bc:20:1a:b2:0c:36:fd:70:5d:d9:ad:e8:
60:a6:42:4d:91:7f:0d:c1:ed:98:fe:42:8f:f8:a7:
9f:3d:09:19:a0:a6:cd:ed:99:e5:32:63:c7:67:45:
2e:01:ad:f9:28:cf:f3:ae:8f:e3:a1:3f:29:00:32:
e8:56:66:86:56:a8:c7:ac:ec:a5:75:00:51:83:a9:
c8:e9:aa:b5:7a:5b:44:70:c9:c2:73:54:b1:f1:7e:
42:bd:18:2d:11:35:dd:2d:80:78:16:f3:2a:a2:9b:
78:d8:45:a0:7e:e6:8f:cd:37:33:53:aa:e0:92:45:
a9:2e:33:3c:a5:6b:ad:52:6e:b9:fe:b4:b3:1a:ed:
b4:25:58:a8:c7:5f:64:c3:35:73:84:a2:c7:74:98:
78:e6:ac:d0:2f:eb:27:ae:1d:52:72:e9:87:56:3c:
e5:ce:4f:80:2e:58:36:f2:8d:9a:33:b4:8e:26:84:
f2:f2:28:ba:23:58:9c:d2:e5:f1:f6:9d:65:2c:cb:
0d:9b:1f:61:85:c9:2f:0a:b8:4d:14:c0:bf:fc:4d:
a3:2f:d5:33:31:48:a8:f3:85:a3:ab:50:69:85:7b:
5e:e2:b4:93:56:ea:64:b8:ba:f6:62:51:9c:1d:de:
a3:70:31:c4:0e:4b:a9:9f:84:48:2d:5c:dc:4a:04:
b1:16:b9:2e:be:32:1d:76:2c:dc:be:4f:4e:01:d0:
70:1a:13:00:86:3e:b1:7a:06:3f:b8:ff:72:51:0b:
2e:c6:0d:8d:a9:8d:3d:7f:13:02:13:a9:19:37:1a:
5b:9f:82:f5:8e:de:46:ed:96:a3:47:9b:ed:c6:79:
2d:4c:41
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
8A:DC:B3:B1:6E:FE:B2:CE:5A:45:A0:57:1F:65:62:17:22:60:9E:48
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Authority Key Identifier:
keyid:74:CF:EE:2B:9F:35:94:B9:8B:14:7C:A1:02:97:58:89:FB:13:D1:FA
X509v3 Key Usage: critical

Annexe 4
Digital Signature, Certificate Sign, CRL Sign
Signature Algorithm: sha256WithRSAEncryption
29:38:94:58:2d:7f:db:71:c8:59:36:10:ca:3b:75:5b:d2:9a:
5b:af:94:12:2d:c4:b9:3a:ed:f7:0e:a6:c8:10:8f:14:cc:50:
85:ca:20:4e:e4:2b:48:6f:33:85:45:92:18:4d:9f:ef:70:8e:
d2:08:be:0c:0b:30:88:56:f4:f4:ff:f4:68:5a:0a:9c:6f:3c:
db:35:01:75:08:97:54:25:c7:13:0f:8c:d2:db:8a:d1:7c:5d:
86:d1:3d:8b:0c:7a:3f:88:dc:ef:30:0c:56:fb:6d:b8:82:82:
fe:10:5b:23:6e:f9:7b:c6:2d:a3:96:39:d8:02:c5:d3:ee:b0:
38:8b:bf:d4:8c:3d:84:43:18:b3:ed:ff:15:89:87:12:f6:27:
60:e4:ae:8a:8e:8e:46:0f:8f:06:51:52:e4:dc:79:18:38:2e:
75:b5:9e:88:28:f2:05:34:e9:d4:96:7e:c7:d0:fd:ff:c0:6c:
16:9a:f2:ee:69:2d:10:4a:0d:b6:26:33:90:70:95:0d:0e:83:
f4:79:07:42:5d:5e:d0:0e:9e:65:df:12:c4:ea:0d:67:24:bf:
ff:61:52:28:08:f2:c1:ce:aa:67:9a:ab:13:04:8f:ef:35:dd:
98:60:91:38:07:98:c0:18:ed:1d:2a:81:8c:58:d9:23:9d:09:
9a:8d:e7:0a:43:47:6c:35:ca:ad:dd:44:4b:15:32:bd:f7:f1:
36:65:c6:c2:80:4b:29:a9:fe:37:1e:5d:f5:a8:36:30:1c:0a:
74:13:47:d3:53:50:e0:01:7d:99:88:c5:75:31:ea:0d:08:24:
b2:65:de:97:c8:bd:29:25:80:f9:d1:52:f8:68:00:8d:f7:f8:
d1:f0:02:40:a9:72:cd:fa:88:47:b4:5a:5c:1f:c2:25:88:f9:
b2:76:09:5e:eb:0b:a6:63:c6:2d:38:68:1a:79:eb:26:aa:3a:
b6:27:26:72:0d:44:eb:9e:93:58:30:45:a1:3c:c4:e2:bb:40:
e3:a9:22:9e:70:51:78:5e:e9:b8:f9:fa:a1:9b:92:1c:f8:c6:
42:c7:79:42:2d:11:62:ae:4f:ad:f1:e6:ac:60:93:08:37:cf:
3d:f0:e7:01:cb:bc:d4:05:55:ca:f4:45:1f:95:60:5f:84:5a:
5e:19:0a:02:8f:11:d2:e1:d6:67:d3:a3:36:26:ff:76:17:20:
31:dd:00:a0:bd:65:df:c7:8e:f2:e9:9b:97:de:3b:e1:f1:76:
60:81:39:7f:80:0e:ee:66:0c:b5:4b:cf:18:df:a6:75:d4:4d:
a8:8d:86:92:9a:45:2e:fe:e5:2f:e2:95:22:88:1d:51:e9:b4:
8d:9c:d1:14:8c:78:f5:d0
-----BEGIN CERTIFICATE----MIIFSTCCAzGgAwIBAgIIRU1MlEJ4xPcwDQYJKoZIhvcNAQELBQAwNTEQMA4GA
1UE
AwwHUm9vdENBMTEUMBIGA1UECgwLRU5JRyBTYW1wbGUxCzAJBgNVBAYTAl
ROMB4X
DTE0MDIxNzIxMDAzN1oXDTI0MDIxNDIwMzU0NFowLzERMA8GA1UEAwwIU2Vyd
mVy
Q0ExDTALBgNVBAoMBEVOSUcxCzAJBgNVBAYTAlROMIICIjANBgkqhkiG9w0BA
QEF
AAOCAg8AMIICCgKCAgEAlv01SCuN6NngquE0RXYaOHHJ3Nn4jW5yOz9mlbBUfX
W6
DUXc6F5LYHVaz/1vnHinqVVwPfKNcKK+jbJm5yDbr/U+ysZF47sMWZtnZSE78bCx
vwZ0rmIf4iprdKvktF0680b2+qRtSIJrQOXm6C5qG0yNAIgxQWt9eTUero5/C2hY
9KHuwNA5dSeeLeMLYFRNcFn/evY/cHbZBlfWwSV1cry2aaLTPKbsOdE+57znWhDI
1Rg1rz4gK/aGdaMEkLp6AdMC8CK8IBqyDDb9cF3ZrehgpkJNkX8Nwe2Y/kKP+Kef
PQkZoKbN7ZnlMmPHZ0UuAa35KM/zro/joT8pADLoVmaGVqjHrOyldQBRg6nI6aq1
eltEcMnCc1Sx8X5CvRgtETXdLYB4FvMqopt42EWgfuaPzTczU6rgkkWpLjM8pWut
Um65/rSzGu20JViox19kwzVzhKLHdJh45qzQL+snrh1ScumHVjzlzk+ALlg28o2a
M7SOJoTy8ii6I1ic0uXx9p1lLMsNmx9hhckvCrhNFMC//E2jL9UzMUio84Wjq1Bp

Annexe 4
hXte4rSTVupkuLr2YlGcHd6jcDHEDkupn4RILVzcSgSxFrkuvjIddizcvk9OAdBw
GhMAhj6xegY/uP9yUQsuxg2NqY09fxMCE6kZNxpbn4L1jt5G7ZajR5vtxnktTEEC
AwEAAaNjMGEwHQYDVR0OBBYEFIrcs7Fu/rLOWkWgVx9lYhciYJ5IMA8GA1UdEw
EB
/wQFMAMBAf8wHwYDVR0jBBgwFoAUdM/uK581lLmLFHyhApdYifsT0fowDgYDVR0
P
AQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQApOJRYLX/bcchZNhDKO3V
b0ppb
r5QSLcS5Ou33DqbIEI8UzFCFyiBO5CtIbzOFRZIYTZ/vcI7SCL4MCzCIVvT0//Ro
WgqcbzzbNQF1CJdUJccTD4zS24rRfF2G0T2LDHo/iNzvMAxW+224goL+EFsjbvl7
xi2jljnYAsXT7rA4i7/UjD2EQxiz7f8ViYcS9idg5K6Kjo5GD48GUVLk3HkYOC51
tZ6IKPIFNOnUln7H0P3/wGwWmvLuaS0QSg22JjOQcJUNDoP0eQdCXV7QDp5l3xL
E
6g1nJL//YVIoCPLBzqpnmqsTBI/vNd2YYJE4B5jAGO0dKoGMWNkjnQmajecKQ0ds
Ncqt3URLFTK99/E2ZcbCgEspqf43Hl31qDYwHAp0E0fTU1DgAX2ZiMV1MeoNCCSy
Zd6XyL0pJYD50VL4aACN9/jR8AJAqXLN+ohHtFpcH8IliPmydgle6wumY8YtOGga
eesmqjq2JyZyDUTrnpNYMEWhPMTiu0DjqSKecFF4Xum4+fqhm5Ic+MZCx3lCLRFi
rk+t8easYJMIN8898OcBy7zUBVXK9EUflWBfhFpeGQoCjxHS4dZn06M2Jv92FyAx
3QCgvWXfx47y6ZuX3jvh8XZggTl/gA7uZgy1S88Y36Z11E2ojYaSmkUu/uUv4pUi
iB1R6bSNnNEUjHj10A==
-----END CERTIFICATE----Contenu de certificat du votant
mahjoub@mahjoub-Inspiron-N5040:~$ openssl x509 -in
/home/mahjoub/Bureau/DetailCertificate/ChahiraMahjoub.pem -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
47:d7:f8:eb:04:79:4c:9a
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=PersonCA, O=ENIG, C=TN
Validity
Not Before: Jun 9 11:39:30 2014 GMT
Not After : Jun 8 11:39:30 2016 GMT
Subject: CN=ChahiraMahjoub
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:b1:ba:57:d5:36:01:ca:86:19:f5:f2:be:17:2b:
5c:d2:4b:a5:61:40:91:c2:26:11:d7:ff:b2:3a:68:
07:9f:33:48:70:e7:97:08:86:a2:42:fd:ea:bb:c9:
ad:64:50:63:30:ab:67:6c:a0:89:d9:8a:b1:c2:93:
6f:94:29:7c:ff:a8:42:3d:a5:86:48:67:3e:56:7c:
e3:a2:89:01:17:76:4c:0e:f0:81:a8:68:e3:4b:5c:
5b:b0:0f:a6:16:4b:70:c1:e6:1b:86:e2:8d:94:e5:
d3:64:21:f9:f9:9f:1c:af:a6:71:ac:be:9e:35:c5:
51:29:85:b0:76:ff:9b:e3:61

Annexe 4
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
BE:13:41:E6:1B:4D:55:83:AB:5C:40:28:76:70:DC:60:E8:FA:52:BC
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Authority Key Identifier:
keyid:BA:E1:DD:07:F8:5F:F1:0D:EA:93:C8:83:D0:F6:C2:0D:A7:62:9C:79
X509v3 CRL Distribution Points:
Full Name:
URI:http://localhost:8080/ejbca/publicweb/webdist/certdist?cmd=crl&issuer=CN=Pers
onCA,O=ENIG,C=TN
X509v3 Key Usage: critical
Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment
X509v3 Extended Key Usage:
Any Extended Key Usage, TLS Web Server Authentication, TLS Web
Client Authentication
Signature Algorithm: sha256WithRSAEncryption
ba:0c:34:00:84:ef:9d:f3:94:d7:8d:24:11:dc:35:75:21:10:
4d:92:1e:d7:d3:1c:cf:2d:e3:81:27:18:d7:bd:f2:9f:23:46:
0c:77:0e:a4:62:78:ce:b4:0f:6e:a9:f0:cb:b7:bd:9d:ee:db:
52:3a:b7:f8:dd:1c:e9:9c:ea:8e:59:3d:9b:6d:38:9a:3f:78:
4a:12:d0:b7:d0:4c:4f:1c:dc:54:32:e8:e9:e0:18:a6:36:ad:
f6:df:c9:ac:94:db:81:3d:4c:b3:9f:6f:05:a4:4d:56:0f:a9:
c7:f6:5d:2d:3a:40:8b:f8:b4:8a:6a:f7:1b:a9:12:af:29:c7:
f1:af:c5:b5:83:a4:00:3c:a7:ca:52:70:5d:05:ac:93:7c:07:
ae:69:74:0b:20:66:42:21:d7:ac:33:38:4d:f6:70:51:c2:0e:
3c:48:85:b1:9a:28:c0:1a:35:c7:69:96:98:27:ce:f2:7c:7a:
64:38:f8:9a:55:e2:93:99:9f:68:3e:b1:8c:0b:c1:03:ab:96:
26:07:02:68:24:df:4d:7a:33:00:21:e1:ad:82:7a:50:dd:d0:
b7:d5:5f:d9:4c:e0:5c:67:73:05:0c:97:c4:3b:3e:40:81:34:
a4:69:aa:e0:23:a0:9e:07:dc:ae:3f:b0:76:e0:94:0d:0d:8c:
06:d1:fe:ef:e3:cd:75:80:91:81:97:b5:b3:f3:33:60:83:7c:
cc:80:8c:46:55:7d:47:e6:3e:f1:09:39:e9:15:03:42:57:60:
1d:9a:14:27:db:ff:10:e6:c2:78:19:d5:48:47:01:3a:96:65:
cb:b7:a5:e7:19:bb:2f:69:bb:a2:86:5a:43:52:15:50:b4:67:
2a:9f:55:fd:27:a7:19:f5:dd:38:d9:f2:43:0c:6c:fb:00:57:
7a:ad:1f:9d:56:6b:97:ae:4d:66:1b:06:74:72:14:a4:be:f6:
85:d0:4a:72:7a:4a:f6:35:9f:51:11:24:19:27:da:1c:b2:18:
6f:80:21:28:ac:2e:0b:00:b1:a4:5f:d6:8a:a4:f9:a0:e9:aa:
08:7e:8a:e9:0e:b7:64:9c:41:06:04:86:fb:0d:87:2e:e0:bf:
d0:48:3e:a3:ff:c7:48:e9:3e:c0:d3:53:93:55:bf:e0:01:a6:
bd:6a:02:0d:d4:f2:e8:0d:2d:22:27:86:db:4f:2d:f4:9e:98:
a1:04:41:f5:e5:23:c9:06:ad:14:2d:a8:46:e9:c9:5b:42:a2:
15:37:e6:28:18:2d:82:b4:c9:a8:b1:52:a3:bb:e6:38:42:93:
2b:00:18:a8:0d:e8:d9:00:bf:00:f8:0c:40:18:ef:82:4c:09:

Annexe 4
10:18:03:52:79:f3:62:02
-----BEGIN CERTIFICATE----MIIEQDCCAiigAwIBAgIIR9f46wR5TJowDQYJKoZIhvcNAQELBQAwLzERMA8GA1U
E
AwwIUGVyc29uQ0ExDTALBgNVBAoMBEVOSUcxCzAJBgNVBAYTAlROMB4XDTE
0MDYw
OTExMzkzMFoXDTE2MDYwODExMzkzMFowGTEXMBUGA1UEAwwOQ2hhaGlyY
U1haGpv
dWIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALG6V9U2AcqGGfXyvhcrX
NJL
pWFAkcImEdf/sjpoB58zSHDnlwiGokL96rvJrWRQYzCrZ2ygidmKscKTb5QpfP+o
Qj2lhkhnPlZ846KJARd2TA7wgaho40tcW7APphZLcMHmG4bijZTl02Qh+fmfHK+m
cay+njXFUSmFsHb/m+NhAgMBAAGjgfkwgfYwHQYDVR0OBBYEFL4TQeYbTVWDq
1xA
KHZw3GDo+lK8MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUuuHdB/hf
8Q3q
k8iD0PbCDadinHkwbgYDVR0fBGcwZTBjoGGgX4ZdaHR0cDovL2xvY2FsaG9zdDo4
MDgwL2VqYmNhL3B1YmxpY3dlYi93ZWJkaXN0L2NlcnRkaXN0P2NtZD1jcmwmaX
Nz
dWVyPUNOPVBlcnNvbkNBLE89RU5JRyxDPVROMA4GA1UdDwEB/wQEAwIE8DAj
BgNV
HSUEHDAaBgRVHSUABggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQE
LBQAD
ggIBALoMNACE753zlNeNJBHcNXUhEE2SHtfTHM8t44EnGNe98p8jRgx3DqRieM60
D26p8Mu3vZ3u21I6t/jdHOmc6o5ZPZttOJo/eEoS0LfQTE8c3FQy6OngGKY2rfbf
yayU24E9TLOfbwWkTVYPqcf2XS06QIv4tIpq9xupEq8px/GvxbWDpAA8p8pScF0F
rJN8B65pdAsgZkIh16wzOE32cFHCDjxIhbGaKMAaNcdplpgnzvJ8emQ4+JpV4pOZ
n2g+sYwLwQOrliYHAmgk3016MwAh4a2CelDd0LfVX9lM4FxncwUMl8Q7PkCBNKR
p
quAjoJ4H3K4/sHbglA0NjAbR/u/jzXWAkYGXtbPzM2CDfMyAjEZVfUfmPvEJOekV
A0JXYB2aFCfb/xDmwngZ1UhHATqWZcu3pecZuy9pu6KGWkNSFVC0ZyqfVf0npxn
1
3TjZ8kMMbPsAV3qtH51Wa5euTWYbBnRyFKS+9oXQSnJ6SvY1n1ERJBkn2hyyGG
+A
ISisLgsAsaRf1oqk+aDpqgh+iukOt2ScQQYEhvsNhy7gv9BIPqP/x0jpPsDTU5NV
v+ABpr1qAg3U8ugNLSInhttPLfSemKEEQfXlI8kGrRQtqEbpyVtCohU35igYLYK0
yaixUqO75jhCkysAGKgN6NkAvwD4DEAY74JMCRAYA1J582IC
-----END CERTIFICATE-----

También podría gustarte