Professional Documents
Culture Documents
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
Introduction .................................................................................................................... 3
II.
III.2.
Cryptographie ....................................................................................................... 9
IV.2.
SSL/TLS ............................................................................................................. 13
V. Conclusion .................................................................................................................... 13
Chapitre 2 : Spcification des besoins et conception ............................................................... 14
I.
Introduction .................................................................................................................. 14
II.
IV.2.
V.2.
V.3.
V.4.
V.5.
Introduction .................................................................................................................. 32
II.
II.2.
III.2.
III.3.
III.4.
iv
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.
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 :
La solution alternative pour rpondre aux problmes identifis prcdemment est le vote
lectronique qui est dtaill dans le paragraphe suivant.
III.
Vote lectronique
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:
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 :
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.
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 :
Chaque votant possde le droit daccder au systme durant toute la priode de vote.
III.2.2.
Scnario de vote
III.2.3.
IV.
Plusieurs mthodes cryptographiques sont requises afin de rpondre aux diverses proprits
souhaites par le systme de vote.
IV.1.
Cryptographie
Services de scurit
La confidentialit: Seul le destinataire peut connatre le contenu des messages qui lui
sont transmis.
Lintgrit des donnes : le destinataire doit pouvoir sassurer que le message na pas
t modifi en chemin.
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
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 :
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
11
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:
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
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.
Efficacit
relative:
les
oprations
cryptographiques
tendent
tre
trs
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
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.
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
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
+ () + _ () + ).
III.
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
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.
17
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
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.
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
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.
Les interactions entre ces trois couches sont dcrites comme suit:
19
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.
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.
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
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>>
21
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
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.
Lautorit de vote assure une gestion complte des certificats et elle supervise les agents et les
votants participants au scenario de vote.
22
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
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.
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
V.2.2.
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
V.3.
Diagramme de squence
24
V.3.1.
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
25
V.3.2.
AutoritVote ListeAgent
opt
intAjout
CtrAjout
CtrModif
CtrSupp
EntAgent
[Ajouter]
ajouterAgent(paramres)
vrifier(paramtres)
transfert(paramtres)
ajouter(Agent)
rsultatd'ajout
alt
Agent ajout
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
[Supprimer]
slectionner(Agent)
transferer(Choix)
supprimer(Agent)
rsultat
Agent supprim
26
Vote prsidentiel
27
Vote Lgislatif
28
29
V.4.
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
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
1..1
0..1
- parti : String
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
Compteur_Cand_Lgi
Compteur_Cand_Prs
- total : int
- total : int
- 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
VI.
Conclusion
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:
Mmoire RAM: 3 Go
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.
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:
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.
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.
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 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.
Dans cette section, nous prsentons les diffrentes tapes qui ont men la ralisation de
notre application.
III.1.
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.
Pour crer les CA subordonnes, nous devons crer en premier lieu leurs profils :
Aprs avoir accder linterface web Administration dEJBCA, il faut :
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
Chapitre 3 : Ralisation
III.1.2.
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 :
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.
Tlcharger le fichier.
39
Chapitre 3 : Ralisation
40
Chapitre 3 : Ralisation
III.2.
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.
Dans cette partie, nous prsentons les interfaces Homme/Machine que visite le votant pour
bien drouler le vote lectronique.
III.3.1.
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 :
42
Chapitre 3 : Ralisation
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.
Aprs la saisie de son identifiant et mot de passe, le votant peut dmarrer son vote.
III.3.2.
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
45
Chapitre 3 : Ralisation
La figure 3.13 correspond linterface de confirmation du choix envoyer au valideur.
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:
III.4.
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.
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.
IV.
Conclusion
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 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
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.
Voter
Acteur
Votant
Pr-conditions
Le votant doit sauthentifier par son certificat, puis saisir son identifiant et
son mot de passe
Scnario nominal
Post-conditions
Enchainement
A1 Vote chou
alternatif
Enchainement
E1 Annulation du vote
derreur
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.
Post-conditions
Enchainement
derreur
Annexe 3
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
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/
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
Annexe 3
# cp database.properties.sample database.properties
# cp web.properties.sample web.properties
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
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-----