api_libersign_1.6
TRANSCRIPT
-
7/25/2019 API_libersign_1.6
1/15
LIBERSIGN
APPLETS DE SIGNATURE ELECTRONIQUE
Spcifications techniques dtailles&
Manuel d'administration
Description du document:
Nom de cette version API_libersign_v1.6
Date de cette version lundi 11 janvier 2010
Nom de la 1re version API_libersign_v1.0
Date de la 1re version 26-09-2008
Historiue des versions !
Date "bjet # modi$ications %ersion
26-09-2008 Desri!ti" des s!#i"iations te$ni%&es de libersign v-1.0
21-11-2008 'nri$issement de l(API !o&r la signat&re de P') v2 v-1.2
1*-0+-2009 )$#mas et mode o!#ratoire !o&r le !a,aging de l(a!!let v-1.+
1*-0*-2009 $angement d(API !o&r signat&re !ar lot m<i-"ormat v-1.
0*-10-2009 $angement d(API: !ermette la o-signat&re /Ad') v-1.*
11-01-2010 vol&tion d(API: o-signat&re dans &n mme "i$ier P)34 v-1.6
Auteurs : Xavier Facelina (NETHEOS), St!ane "ast (A#$%%A&T roet) Tl : * + -. . Fa/ : * + -. - Emails: /01acelina2net!eos0net, ste!ane0vast2adullact3roet0coo
-
7/25/2019 API_libersign_1.6
2/15
Table des matires
1.Prse!tati"! de Libersi#!...............................................................................................$%.Alet de si#!at're.........................................................................................................(
%.1.Des)riti"!..........................................................................................................................(%.%.Pa)*a#i!# de l+alet de si#!at're...................................................................................(
2.1.1.5beti"s d& !a,aging de l(a!!let...................................................................2.1.2.Desri!tion des "i$iers onten&s.....................................................................2.1.+.5!#ration de !a,aging.................................................................................*2.1..)!#i"iations initiales et e7igenes.................................................................6
%.$.Ret"'r s'r les ACs de )"!,ia!)e.......................................................................................-%.(."!)ti"!!eme!t de l/alet de si#!at're.........................................................................0
2..1.)$#ma sim!li"i#...........................................................................................82..2.oom s&r la!!let..........................................................................................9
%..Ret"'r 2is'els de l/alet................................................................................................13
%.4.Usa#e de l/alet..............................................................................................................13%.-.E5li)ati"! des aramtres 6API7....................................................................................11
$.Alet de 2ri,i)ati"! de si#!at're..............................................................................1( $.1.Des)riti"!........................................................................................................................1($.%.Usa#e de l/alet de 2ri,i)ati"!.....................................................................................1$.$.E5li)ati"! des aramtres 6API7....................................................................................1
%81
%i4ersi5n 6 sci1ications tec!ni7ues
-
7/25/2019 API_libersign_1.6
3/15
1. Prse!tati"! de Libersi#!
e do&ment d#"init la str&t&re l(environnement et le "ontionnement de de&7 A!!lets ;A> >A les odesso&res sont aessibles B l(adresse:
$tt!:CCad&llat.netC!roetsClibersignC
$81
%i4ersi5n 6 sci1ications tec!ni7ues
http://adullact.net/projects/libersign/http://adullact.net/projects/libersign/ -
7/25/2019 API_libersign_1.6
4/15
%. Alet de si#!at're
2.1. Description'n matire de signat&re #letroni%&e il est so&$aitable %&e to&t o& !artie des o!#rations designat&re #letroni%&e soit e""et s&r le !oste lient.>&sage da!!lets ;A de t=!e KP) Emode ($tt!(H
o& mise B dis!osition deEsH signat&reEsH !o&r &tilisation dans &n $am! de"orm&laire KF> Emode ("orm(H.
>a signat&re est r#alis#e s&r le !oste lient B !artir de do&mentEsH $#berg#EsH a-!riori s&r &nserve&r.
A"in d(o!timiser les tem!s de trans"ert et ne !as tro! "aire !atienter le signataire le !roess&sest L "ragment# M se&l le $as$ )KA-1 d& do&ment est transmis B l(a!!let.
2.2. Pac'aging de l(applet de signature
2.1.1. Objectifs du packaging de l'applet
>(obeti" est de "o&rnir B l(a!!let l(ensemble des in"ormations n#essaires B son bon"ontionnement. Po&r l($e&re il s(agit e7l&sivement des J> et de des erti"iats des Areonn&es.
2.1.2. Description des fichiers contenus
>e !a,aging de l(a!!let doit regro&!er l(a!!let e7#&table &n keystore regro&!ant leserti"iats des As %&e no&s nommerons L ac)truststore.j'sM et &n "i$ier ontenant la listede J> B ons<er nomm# Lcrl)list.con$M.
a-tr&ststore.,s :
e "i$ier est &n ,e=store ava a& "ormat ;') ren"ermant les erti"iats /.*09E!&blisH des A de on"iane de l(a!!let.
Il !e&t ontenir a&tant de erti"iats %&e n#essaire.
)on mot de !asse doit tre d#"ini en amont Ea-tr&ststore.!assordH et onn& de
(81
%i4ersi5n 6 sci1ications tec!ni7ues
-
7/25/2019 API_libersign_1.6
5/15
l(a!!let
rl-list.on":
Il s(agit d(&n "i$ier te7te enod# en @?-8.
Il ontient &ne @J> !ar ligne !ointant diretement s&r des "i$iers J>
es @J> sont des @J> KP
Jemar%&e: D#"inition des $emins d(a!!el de es resso&res>es "i$iers doivent tre B la raine d& >A))PAK E!o&r des raisons de sim!liit# lors d&L re!a,aging MH. Ainsi ils seront a!!el#s de la manire s&ivante:
t$is.lass.getJeso&reAs)treamEL Ca-tr&ststore.,s MH Ein!&tstream vers le ,e=storeH
t$is.lass.getJeso&reAs)treamEL Crl-list.on" MH Ein!&tstream vers le "i$ier de on"ig&ration
des J>H
2.1.3. Opration de packaging
Pr#-re%&is:
>(a!!let a #t# om!il#e ave de&7 "i$iers d(e7em!le !r#sents B la raine d& lass!at$.
Fan&el:
1. L D#-Oi!!er M le "i$er (.ar( de l(a!!let
A r#e!tion de l(a!!let om!il#e il onvient de L d#-Oi!!er M le "i$ier .ar de l(a!!letdans &n r#!ertoire dans le%&el les o!#rations s&ivantes seront e""etes.
2. Jem!laer les 2 "i$iers s&s-nomm#sDe&7 "i$iers d(e7em!le nomm#s (a-tr&store.,s( et (rl-list.on"( sont !r#sents B laraine d& r#!ertoire.Il onvient de les rem!laer !ar les "i$iers B o&r.
+. r#ation d& no&vea& "i$ier .ar de l(a!!letL Je-Oi!!er M le r#!ertoire mis B o&r !&is renommer le "i$ier (.Oi!( obten& en (.ar(.
. )ignat&re d& "i$ier (.ar( de l(a!!let>e "i$ier de l(a!!let a=ant #t# modi"i# sa !r##dente signat&re n(est !l&s valide. Ilonvient don de le signer B no&vea&:
jarsigner -keystore keystore.ks -storepass motDePasse -keypass passwordapplet.jarnom_de_la_cl__utiliser
81
%i4ersi5n 6 sci1ications tec!ni7ues
-
7/25/2019 API_libersign_1.6
6/15
2.1.4. Spcifications initiales et exigences
>es #l#ments B !rendre en om!te B lint#gration o& a& d#!loiement sont !r#sent#s ii.
Schma de packaging de l'applet
e s$#ma de !a,aging met en avant le "ait %&e les certi$icats d*A+ de con$iance sontembaru&s dans le $ic,ier -A de l*applet au moment du pac'aging avant la signat&rede la!!let elle-mme.
>e "ait %&e la liste des A de on"iane et ladresse @J> o!tionnelle d&ne J> loale soientsign#es !ar le7!loitant d& s=stme onstit&e &ne bri%&e im!ortante en matire de s#&rit#.
'n matire de validation de erti"iat n&m#ri%&e /.*09 l(&tilisation d(5)P n(est !as envisag#ee !rotoole n(#tant !as !l&s #onome en bande !assante %&e la sol&tion !r#sent#e ii.
>e "ait %&e es donn#es soient onten&es a& sein mme de la!!let ne onstit&e !as &nen#essit#. >e&r e7ternalisation dans &ne d#!endane s!#i"i%&e E!ar e7. se&rit=-env.arH seraitto&t a&ssi e""iae. &oi%&il en soit lensemble des ars doivent tre sign#s !ar le7!loitant.ette signat&re d& ode est indis!ensable a& "ontionnement de la!!let et sa gestion "ait!artie de la !oliti%&e de s#&rit# d& s=stme.
Qien %&e ette !oliti%&e de s#&rit# soit B la $arge de le7!loitant no&s attirons votre
attention s&r lim!ortane de ette !robl#mati%&e Eon"iane des !ostes &tilisate&r dans &nerti"iat de signat&re da!!liation $abilitation d&sage de e erti"iat !ar le7!loitant!oliti%&e de s#&rit# ;A
-
7/25/2019 API_libersign_1.6
7/15
2./. etour sur les A+s de con$iance
ERA&torit#s de on"ianeS de on"iane TH
Nim!orte %&elle a&torit# de on"iane nest !as de on"iane d& !oint de v&e de le7!loitant.)e&le &ne liste e7$a&stive da&torit#s de on"iane b#n#"iie de e !rivilge. ette listeda&torit#s de on"iane est embar%e dans la!!let ava so&s la "orme d&n $ic,ier de tpe'estoreE.,s a& "ormat ;')H. e ,e=store est en "ait &n ontene&r de erti"iats des A deon"iane.
Notons %&e $a%&e erti"iat dA de on"iane om!rend normalement &n $am!s aveladresse @J> de la J> de lA. e $am!s sera &tilis# !o&r v#ri"ier la validit# d& erti"iat a&moment de la signat&re Eo& de la v#ri"iationH.
>e $ic,ier de con$iguration local)crl)list.con$om!rend &n !aramtre Rloal-rlS %&i !e&t
tre renseign# ave ladresse @J> d&ne J> loale.ela r#!ond a& besoin de d#larer invalide &n erti"iat a&!rs d& s=stme E&ne !ersonne na!l&s le droit de se onneter de signer o& de v#ri"ierH sans !o&r a&tant %&e le erti"iat de la!ersonne soit r#vo% !ar son A #mettrie Eelle na !as $ang# didentit# a !a=# saredevaneH.)on &tilisation n(est dont !as n#essaire (est &ne ommodit# !o&r l(e7!loitant.
-81
%i4ersi5n 6 sci1ications tec!ni7ues
-
7/25/2019 API_libersign_1.6
8/15
2.. onctionnement de l*applet de signature
2.4.1. Scha siplifi
081
%i4ersi5n 6 sci1ications tec!ni7ues
-
7/25/2019 API_libersign_1.6
9/15
2.4.2. !oo sur l"applet
981
%i4ersi5n 6 sci1ications tec!ni7ues
-
7/25/2019 API_libersign_1.6
10/15
2.3. etour visuels de l*applet
Po&r "ailiter le travail de lint#grate&r eb de la!!let no&s !ro!osons %&e les reto&rs vis&elsde la!!let soient diretement g#r#s !ar elle-i et non renvo=#s B la !age.
Ainsi les message derre&rs ERerti"iat intro&vableS Rerti"iat invalideS...H seront a""i$#s !arla!!let.
@n ode de reto&r !o&rra n#anmoins tre renvo=# a& serve&r si besoin.
2.6. 4sage de l*applet
ette a!!let #tant mono-"ontionnelle Esignat&reH elle ne !ossde !as de m#t$ode !&bli%&ed(a!!el. @n sim!le a!!el B la!!let en d#len$e le "ontionnement.
'7em!le da!!el :
-
7/25/2019 API_libersign_1.6
11/15
2.5. 7plication des param8tres 9API:
Param8tre Description
$as$_o&nt Nombre de $aUnes de aratres L $as$ M B $i""rer.
$as$_n ondens# de $a%&e do&ment B signer E)KA-1 $e7aH
iddo_n Nom d& do&ment B signer Esera reto&rn# ave la signat&reorres!ondanteH
&rl_send_ontent @J> oV le r#s<at des signat&res doit tre !ost# B &tiliser sireturn_mode='http'.
id_&ser Identi"iant d& signataire B &tiliser si return_mode='http'.
erti"iat_n $am! N d& erti"iat d& signataire.
erti"iat_serial N&m#ro de s#rie d& erti"iat.
erti"iat_iss&er_nl N d& erti"iat de l(A #mettrie E!o&r garantir l(&niit# d& n&m#rode s#rieH
"ormat_n - signat&re d#ta$#e: (+;a !age Xeb doit im!l#menter &ne "ontion ;ava)ri!t injectSignature( %&i ira r#&!#rer lao& les signat&reEsH a&!rs de l(a!!let. Par e7em!le:
5unctioninjectSignature
>varsignature= null?tr@>signature= document.applets'B.returnSignature"hash+"?
C catche >alerte?
Ci5signature >document.5orms'B.elements"signature"B.value = signature?document.5orms'B.elements"5inish-button"B.click?
C else>return5alse?
CC
1181
%i4ersi5n 6 sci1ications tec!ni7ues
http://injectsignature/http://injectsignature/ -
7/25/2019 API_libersign_1.6
12/15
as !arti&lier: )ignat&re d(&n "i$ier /F> !Sv#EP')-AllerH
>es "i$iers P')v2 !e&vent tre sign#s ave l(a!!let mo=ennant %&el%&es am#nagements. 'ne""et la signat&re doit tre envelo!!#e Einl&se dans le "i$ier P')v2H et sa g#n#rationdemande bien !l&s d(in"ormations %&e le sim!le ondens# )KA-1 d& do&ment.
A"in de garder le b#n#"ie d& mode "ragment# de la signat&re E#onomie de bande !assanteHle !rogramme serve&r devra mettre en [&vre des trans"ormations d& "l&7 /F> selon less!#i"iations en vig&e&r Evoir L )=stme d(#$ange des donn#es d& P') M di""&s# so&s le nomde "i$ier 0401*_K1_+_'_D5)'_)=steme'$angesDonneesP')_ P')v2 selon l(algorit$mes&ivant: $tt!:CC.+.orgC2001C7ml-e71n3
al&l d(&ne em!reinte )KA-1 s&r e blo B mettre dans le !aramtre hash_n.
'n o&tre &n ertain nombre de donn#es sont B e7traire d& P')_Aller !o&r renseigner les!aramtres B !asser B l(a!!let:
Param8tre Description
$as$_n ondens# d& blo P') B signer E)KA-1 $e7aH al&l# selon m#t$odei-dess&s.
!esid_n Attrib&t Id de l(#l#ment !es:P
-
7/25/2019 API_libersign_1.6
13/15
as !arti&lier: o-signat&re P)34 C F) d#ta$#e.
@n do&ment o-sign# a& "ormat P)34 d#ta$# "ait s&ivre ave l&i a&tant de "i$iers (!4s(
%&e de signat&res elles-i !o&vant tre rassembl#es en &n se&l "i$ier IP.e!endant la norme F)CP)34 !r#voit %&(&n "i$ier P)34 !&isse ontenir !l&sie&rsL o-signat&res M. Po&r e "aire l(a!!let va avoir besoin d& ontene&r ontenant les signat&res!r##dentes a"in d(= ao&ter la no&velle.
Ao&t d(&n !aramtre L p5s_nM oV (n( est le n&m#ro d& do&ment s&r le%&el !orte lasignat&re.
Param8tre Description
$as$_n ondens# de $a%&e do&ment B signer E)KA-1 $e7aH.
!4s_n ?i$ier P)34 enod# base6 o& (n&ll( si !as de ontene&r.
1$81
%i4ersi5n 6 sci1ications tec!ni7ues
-
7/25/2019 API_libersign_1.6
14/15
$. Alet de 2ri,i)ati"! de si#!at're
/.1. Description
>a!!let de v#ri"iation de signat&re a les "ontionnalit#s s&ivantes :
v#ri"iation d&ne signat&re d#ta$#e a& "ormat P)34
v#ri"iation d&ne signat&re d#ta$#e a& "ormat /Ad')
a""i$age des in"ormations s&r le erti"iat de signat&re.
)on "ontionnement est le s&ivant :
>a!!let est lan#e ave ladresse @J> d&ne signat&re et son "ormat en !aramtres. 'lle invitel&tilisate&r B s#letionner le "i$ier loal et l&i !ermet de v#ri"ier sa signat&re. @n reto&r vis&elest !r#sent# B l&tilisate&r.
!ackaging de l)applet de vrification
1(81
%i4ersi5n 6 sci1ications tec!ni7ues
-
7/25/2019 API_libersign_1.6
15/15
/.2. 4sage de l*applet de v&ri$ication
ette a!!let #tant mono-"ontionnelle Ev#ri"iationH elle ne !ossde !as de m#t$ode !&bli%&e.
@n sim!le a!!el B la!!let en d#len$e le "ontionnement.
'7em!le d(a!!el :
/./. 7plication des param8tres 9API:
Param8tre Description
&rl_get_signat&re @J> B la%&elle on obtient la signat&re B v#ri"ier.
"ormat ?ormat de signat&re: (F)( o& (/AD')(
Il "a&t noter %&e la!!let va a!rs son lanement a""i$er des in"ormations s&r le onten& de
la signat&re Esignataire et...H et demander B l&tilisate&r de $oisir le do&ment dont il "a&drav#ri"ier la signat&re.
181
%i4ersi5n 6 sci1ications tec!ni7ues