api_libersign_1.6

Upload: babiso

Post on 24-Feb-2018

219 views

Category:

Documents


0 download

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&lti-"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&lter 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&ltat 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