lvrtc edoc specification v1 0

60
Formāta specifikācija LVRTC eDoc 1.01 dokumenta formāts Sagatavots LVRTC ceturtdiena, 8 aprīlis 2010 Versija 1.0 Fināla versija Sagatavojis Antons Mislēvičs Konsultants Līdzstrādnieki Vladimirs Davidovs

Upload: keda4u

Post on 26-Oct-2014

77 views

Category:

Documents


1 download

DESCRIPTION

Lvrtc Edoc Specification v1.0

TRANSCRIPT

Page 1: Lvrtc Edoc Specification v1 0

Formāta specifikācija

LVRTC eDoc 1.01 dokumenta formāts

Sagatavots

LVRTC

ceturtdiena, 8 aprīlis 2010

Versija 1.0 Fināla versija

Sagatavojis

Antons Mislēvičs

Konsultants

Līdzstrādnieki

Vladimirs Davidovs

Page 2: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

ii lapa

Izmaiņu un apstiprinājumu lapa

Izmaiņu uzskaitījums

Datums Autors Variants Izmaiņas raksturojums

09.10.2009 Antons Mislēvičs .1 Sākotnējā versija saskaņošanai izveidota

14.12.2009. Antons Mislēvičs .2 Dokuments papildināts pēc diskusijām ar RAPLM un EUSO.

29.12.2009 Antons Mislēvičs 1.0 Fināla versija

Izskatītāji

Vārds Apstiprinātais variants Ieņemamais amats Datums

Kārlis Mālnieks 1.0 LVRTC Sertifikācijas pakalpojumu daļa

Pakalpojumu nodrošināšanas sektora vadītājs

08.01.2010

Page 3: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

iii lapa

Saturs

1 Ievads ................................................................................................................................ 1

1.1 Dokumenta nolūks.................................................................................................................... 1

1.2 Mērķauditorija .......................................................................................................................... 1

1.3 Dokumenta struktūra ............................................................................................................... 1

1.4 Dokumenta dzīvescikls ............................................................................................................. 1

1.5 Termini un saīsinājumi.............................................................................................................. 1

1.6 Atsauces.................................................................................................................................... 2

2 Dokumenta loģiskā struktūra ............................................................................................. 3

2.1 Pakotne ..................................................................................................................................... 3

2.2 Objekti ...................................................................................................................................... 4

2.3 Meta dati .................................................................................................................................. 4

2.4 Saišu faili ................................................................................................................................... 5

2.5 Satura tipi ................................................................................................................................. 5

2.6 Parakstāmie dokumenti ........................................................................................................... 6

2.7 Paraksti ..................................................................................................................................... 6

2.7.1 Parakstu pievienošanas veidi .............................................................................................. 6

2.7.2 Parakstu līmeņi .................................................................................................................... 7

2.7.3 Parakstu meta dati .............................................................................................................. 7

3 Dokumenta fiziskā struktūra .............................................................................................. 8

3.1 EDoc pakotne............................................................................................................................ 8

3.2 Satura tipi ............................................................................................................................... 11

3.3 Relācijas .................................................................................................................................. 13

3.4 Manifesta fails ........................................................................................................................ 15

3.5 Meta dati ................................................................................................................................ 16

3.5.1 Centrālās īpašības ............................................................................................................. 16

3.5.2 Bāzes īpašības ................................................................................................................... 17

Page 4: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

iv lapa

3.5.3 Papildus īpašības ............................................................................................................... 18

3.6 Paraksti ................................................................................................................................... 18

3.6.1 Parakstu faili ...................................................................................................................... 18

3.6.2 Parakstāmie objekti .......................................................................................................... 30

3.6.3 Parakstīšanas process ....................................................................................................... 31

4 Validācija ........................................................................................................................ 34

4.1 EDoc validācijas process ......................................................................................................... 38

5 Pielikumi.......................................................................................................................... 45

5.1 Veidnes ................................................................................................................................... 46

5.2 Open XML satura tipu shēma ................................................................................................. 47

5.3 Open XML saišu faila shēma ................................................................................................... 48

5.4 Edoc manifesta faila shēma .................................................................................................... 49

5.5 EDoc centrālā veidne .............................................................................................................. 50

5.6 EDoc bāzes veidne .................................................................................................................. 51

5.7 EDoc tukšā veidne .................................................................................................................. 52

5.8 EDoc parakstāmā objekta sekcijas shēma .............................................................................. 53

5.9 EDoc paraksta īpašību shēma ................................................................................................. 54

5.10 EDoc veidnes shēma ......................................................................................................... 55

Page 5: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

1. lapa

1 Ievads

Šis dokuments ir edoc dokumenta formāta specifikācija. Dokumentā ir aprakstītas formāta iespējas, pakotnes loģiskā un fiziskā struktūra.

Specifikācijā tiek izmantotas sekojošas vārdu formas un konstrukcijas:

Prefiksa „jā” vai vārda „nepieciešams” izmantošana norada uz to, ka funkcionalitātei jābūt

obligāti realizētai. Piemēram, „jānosūta”, „jāsatur”, „nepieciešams atbildēt ar”.

Vārdi „vajadzētu”, „par labu praksi tiek atzīts” apzīmē realizācijai ieteicamo funkcionalitāti.

Ar „var” tiek atzīmētas papildus iespējas. Piemēram, „sistēma var saglabāt papildus meta-

datus …”.

1.1 Dokumenta nolūks Dokumenta nolūks ir aprakstīts visas EDoc dokumenta formāta struktūru un iespējas.

1.2 Mērķauditorija Dokuments ir paredzēts izstrādātājiem, kas implementē risinājumus, kuros tiek nodrošināts eDoc dokumentu formāta atbalsts.

1.3 Dokumenta struktūra Dokuments sastāv no četrām sadaļām. Dokumenta pirmajā daļā ir aprakstīts dokumenta nolūks, mērķauditorija un dzīvescikls, kā arī tiek piedāvāti saraksti ar izmantotiem terminiem un saīsinājumiem, un atsauces uz izmantotiem informācijas avotiem.

Dokumenta otrajā daļā tiek aprakstīta EDoc loģiskā struktūra: pakotnes uzbūve, objekti, relācijas un satura tipi. Tiek aprakstītas trīs EDoc veidojošas komponentes: meta dati, parakstāmie dokumenti un paraksti. Apskatot parakstus, tiek izskaidroti dažādi parakstīšanas veidi un atšķirības starp tiem, eksistējošie parakstu līmeņi un to pielietošanas scenāriji. Atsevišķā uzmanība tiek pievērsta arī formāta paplašināšanas iespējām.

Trešajā daļā tiek apskatīta EDoc fiziskā struktūra. Šajā sadaļā ir tehniski apskatīti faili, kas veido EDoc konteineru, un relācijas starp tiem. Sadaļā tiek detalizēti apskatīts arī EDoc parakstīšanas process – kādi objekti un relācijas tiek parakstītas, un kādi soļi tiek izpildīti parakstīšanas gaitā.

Ceturtajā daļā ir detalizēti aprakstīts EDoc validācijas process, tā posmi un iespējamie pārbaudes rezultāti. Validācijas soļi un iespējamas kļūdas ir piedāvātas vairāku diagrammu veidā.

Dokumenta pielikumos ir aprakstīts EDoc veidņu mehānisms, un tiek izklāstītas EDoc komponenšu XML shēmas.

1.4 Dokumenta dzīvescikls Šis dokuments apraksta EDoc dokumentu formāta versiju 1.01. Turpmāk formāta izmaiņas tiks aprakstītas dokumenta pielikumos.

1.5 Termini un saīsinājumi Dokumentā lietotie termini un saīsinājumi atšifrēti un aprakstīti 1. tabulā.

Termins Apraksts

CRL Certificate Revocation List

EDoc Elektroniskā dokumenta formāta nosaukums

IS Informācijas sistēma

Page 6: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

2. lapa

Termins Apraksts

OCSP Online Certificate Status Protocol

OPC Open Packaging Conventions

TSA Time Stamping Authority

XAdES-BES XAdES pamata elektroniskais paraksts

XAdES-T XAdES ar laika zīmogu

XAdES-C XAdES ar visiem parakstu pārbaudei nepieciešamiem datiem

1. tabula: Dokumentā lietotie termini un saīsinājumi

1.6 Atsauces Dokumentā lietotās atsauces uz citiem dokumentiem vai ārējiem resursiem aprakstītas 2. tabulā.

Nr. Atsauce

1. Standard ECMA-376, Office Open XML File Formats, 1st edition, Part 2: Open Packaging

Conventions, December 2006

2. Hypertext Transfer Protocol -- HTTP/1.1, The Internet Society, 1999.

http://www.w3.org/Protocols/rfc2616/rfc2616.html

3. Standard ECMA-376, Office Open XML File Formats, 1st edition, Part 2: Open Packaging

Conventions, December 2006

4. Eastlake 3rd D., Reagle J., Solo D., (Extensible Markup Language) XML Signature Syntax

and Processing. (XML-DSIG), RFC 3275, March 2002

5. XML Advanced Electronic Signatures (XAdES), ETSI TS 101 903, v 1.3.2, March 2006

6. XML Schema Part 2: Datatypes. W3C Recommendation, XML Schema 2, 02 May 2001

7. Myers, M., Ankney, R., Malpani, A., Galperin, S., Adams, C., X.509 Internet Public Key

Infrastructure: Online Certificate Status Protocol - OCSP. RFC 2560, June 1999

8. C. Adams, P. Cain, D. Pinkas, R. Zuccherato, Internet X.509 Public Key Infrastructure

Time Stamp Protocol (TSP), Network Working Group, RFC 3161, August 2001

9. R. Housley, W. Polk, W. Ford, D. Solo, Internet X.509 Public Key Infrastructure

Certificate and Certificate Revocation List (CRL) Profile, April 2002

2. tabula: Dokumentā lietotās atsauces

Open Packaging Conventions specifikācija ir publicēta ECMA mājas lapā (http://www.ecmainternational.org).

Page 7: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

3. lapa

2 Dokumenta loģiskā struktūra

Elektroniskais dokuments (EDoc) ir hierarhiskais konteineris, kas izveidots atbilstoši Open Packaging Conventions (OPC) specifikācijai, kurā ir aprakstīta metode, kas ļauj viena failā sapakot vairākus objektus, relācijas starp tiem, meta datus, kā arī pievienot iekļautajiem failiem un meta datiem elektroniskus parakstus. OPC balstās uz atvērto tehnoloģiju izmantošanas (kā XML un ZIP pakoto failu formāts), un ir dokumentēts kā daļa no ECMA standarta priekš Open XML formātiem (skat. [1]). EDoc implementē daļu no iespējām, kas aprakstītas atvērtajos pakošanas principos.

EDoc dokuments sastāv no sekojošiem elementiem:

EDoc meta dati;

Parakstāmie dokumenti (faili);

Nulle vai vairāk paraksti.

Shematiski, elektroniskā dokumenta struktūra ir parādīta 1. attēlā.

1. attēls: Elektroniskā dokumenta struktūra

EDoc formātā ir paredzētas sekojošas iespējas:

Vienlaicīgi parakstīt vienu vai vairākus dokumentus (failus pakotnē);

Parakstīt meta datus;

Veidot neparakstītas pakotnes;

Pievienot pakotnei vairākus parakstus;

Parakstāmie dokumenti var būt gan strukturētie XML, gan binārie faili (Word, Excel, PDF,

utt.).

2.1 Pakotne EDoc pakotne ir loģiskais vienums, kas uzglabā sevī vairākus objektus. Pakotnes mērķis ir apvienot vairākas EDoc (vai cita satura veida) sastāvdaļas vienā objektā. Šīs sastāvdaļas tiek kombinētas, apstrādātas un uzglabātas atbilstoši noteiktai likumu kopai. Sastāvdaļām pastāv

EDoc

Metadati

Paraksti

Dokumenti (faili)

Page 8: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

4. lapa

relācijas gan savā starpā, gan ar pakotni kā vienotu veselu. Katrai sastāvdaļai tiek definēts satura tips, kā arī piešķirts unikāls nosaukums, pēc kura sastāvdaļu var atrast.

Lai nodrošinātu EDoc formāta turpmāko attīstību, pakotnes loģiskā struktūra paredz paplašināšanas iespējas.

Pakotne

Objekts 1 Objekts 2

Objekts 3 Objekts 4 Objekts 5

Pakotnes

relācija 1

Objekta

relācija 3

Objekta

relācija 4

Objekta

relācija 5

Pakotnes

relācija 2Satura tipu saraksts

2. attēls: Pakotnes loģiskā struktūra

Objekti ir satura sastāvdaļas, kas veido dokumentu. Savukārt, citi pakotnes elementi apraksta kā šie objekti tiek apvienoti un interpretēti.

Šie elementi var būt sadalīti sekojošās grupās:

Relāciju elementi – apraksta relācijas starp objektiem;

Satura tipu elementi – apraksta objektu satura tipus.

Relāciju elementi var būt sadalīti sīkāk:

Pakotnes relācijas – definē relācijas starp objektiem un pakotni;

Objektu relācijas – apraksta relācijas starp diviem objektiem.

2.2 Objekti Katram dokumentam obligāti ir viens pamata objekts, kas iekļauj sevī, vai referencē visus citus objektus pakotnē (ja tādi ir).

Katrs objekts ir baitu straume ar noradīto MIME satura tipu. Šī straume ir secīga baitu virknes plūsma. Objekti var saturēt jebkādus binārus datus, un ir līdzīgi failiem failu sistēmā.

Katram objektam ir piešķirts nosaukums. Šis nosaukums ir daļa no URI adreses, kas norada uz objektu pakotnē. Līdzīgi URI adresēm, objekta nosaukums ir loģiska hierarhija, kas sastāv no vairākiem segmentiem. Objekta nosaukums ir reģistrnejutīgs.

Katram objektam ir noradīts satura tips, kas apraksta kāda tipa saturs glabājas objektā. Satura tipi definē vides tipu, apakš tipu, kā arī brīvizvēles papildus parametrus. Pakotnes objektu satura tipiem jāatbilst vides tipu definīcijai un sintaksei, kas ir aprakstīta RFC 2616, 3.7. nodaļā [2].

Visam objektu XML saturam, kas ir aprakstīts šajā specifikācijā, ir jābūt UTF-8 kodējumā.

2.3 Meta dati Katrs EDoc dokuments tiek veidots par pamatu izmantojot EDoc veidni. Veidnes glabājas failos ar paplašinājumu „.edot”. Šis veidnes apraksta papildus EDoc dokumenta meta datus, kā arī

Page 9: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

5. lapa

elektronisko parakstu tipus, kas tam var būt pievienoti. Ja veidojot dokumentu veidne netiek noradīta, tas tiek izveidots par pamatu izmantojot tā saucamo tukšo veidni, kurai nav nodefinētas papildus dokumenta īpašības, vai elektronisko parakstu tipi.

EDoc meta dati ir sadalīti vairākās sekcijās. Katra sekcija var saturēt vairākas īpašības. Katra no sekcijām ir aprakstīta atbilstošā veidnē. Centrālo un bāzes īpašību sekciju struktūra ir definēta EDoc risinājuma un nevar būt modificēta. Savukārt, papildus īpašību sekcijas struktūra var būt noradīta izmantojot aprakstīto veidņu mehānismu.

EDoc formāts neierobežo īpašību sekciju un saistīto veidņu skaitu. Savukārt, dokumentam, kas ir izveidots izmantojot EDoc bibliotēku, tiek vienmēr pievienotas trīs meta datu sekcijas:

Centrālās īpašības: ir definētas Open XML standartā [3]. Ir aprakstītas centrālā veidnē. Šī

veidne nekad netiek saglabāta dokumentā. Tā ir iekļauta EDoc bibliotēkas resursu failos.

Veidnes definīcija ir pievienota pielikumā 5.2.

Bāzes īpašības: īpašības, kuras ir obligātas katram EDoc dokumentam, tās aprakstītas bāzes

veidnē. Šī veidne arī nekad netiek saglabāta dokumentā un ir iekļauta EDoc bibliotēkas

resursu failos. Veidnes definīcija ir pievienota pielikumā 5.6.

Papildus īpašības: ir īpašības, kas ir specifiskas kontekstam kurā EDoc tiek izmantots, vai

konkrētām dokumenta veidam. Papildus īpašību struktūra tiek definēta izmantojot veidņu

mehānismu. Veidojot EDoc ir iespējams izvēlēties papildus īpašību veidni. Šajā veidnē tiek

definēts arī atļauto parakstu tipu saraksts. Veidņu mehānisms ir sīkāk aprakstīts pielikumā

5.1.

2.4 Saišu faili Saišu faili apraksta relācijas starp diviem pakotnes objektiem, vai pakotnes objektu un ārējo resursu. Katra relācija definē saites tipu starp objektu un mērķa resursu. Šīs relācijas palīdz ātri atrast saites starp objektiem, un nav atkarīgas no objekta tipa, vai iekšējās uzbūves. Piemēram, EDoc ir izmantoti sekojošie relāciju tipi:

relācija starp pakotni un centrālām īpašībām;

relācija starp pakotni un EDoc manifestu;

relācija starp EDoc manifestu un parakstu pirmavotu;

relācija starp EDoc manifestu un parakstītiem meta datiem;

relācija starp EDoc manifestu un neparakstītiem meta datiem;

relācija starp EDoc manifestu un pakotnē iekļauto dokumentu;

relācija starp parakstu pirmavotu un paraksta objektu.

Relācijas glabājas saišu failos (ar paplašinājumu „.rels”) „_rels” direktorijā, kas atrodas relāciju avota objekta saknes direktorijā.

Svarīgi atzīmēt, ka vienīgais pareizais objektu izgūšanas veids no EDoc pakotnes ir izmantojot relācijas, kas definētas saišu failos. Objektu izgūšana pēc zināma nosaukuma netiek atbalstīta.

Relācijas ir sīkāk aprakstītas 3.3. sadaļā.

2.5 Satura tipi Satura tipi ir meta dati, kas apraksta katra pakotnes objekta faila tipu. Satura tipi var aprakstīt dažāda tipa objektus, piemēram „text/plain”, „image/jpeg”, „application/xml”. Jāpiezīmē, ka arī relāciju elementiem tiek definēts specifisks satura tips: „application/vnd.ms-package.relationships+xml”. Satura tipi definē kā interpretēt vai attēlot katru pakotnes objektu.

Page 10: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

6. lapa

Satura tipi tiek glabāti vienā failā „[Content_Types].xml”, kas atrodas pakotnes saknes direktorijā. Šajā failā aprakstītie satura tipi attiecās uz objektiem visos pakotnes iekšējās hierarhijas līmeņos.

Pēc noklusējuma, satura tips tiek asociēts ar faila paplašinājumu (piemēram, „xml”, vai „jpg”). Pārdefinējot satura tipus var noradīt, ka konkrētajām objektam, neskatoties uz paplašinājumu, ir specifisks satura tips.

2.6 Parakstāmie dokumenti Parakstāmie dokumenti tiek iekļauti EDoc pakotnē kā atsevišķie objekti. Katra parakstāmā dokumenta objekta satura tips atbilst faila paplašinājumam. Pakotnē tiek definēta relācija ar tipu „http://schemas.microsoft.com/edoc/2006/document” starp EDoc manifesta failu (skat. 3.4. sadaļu) un katru no iekļautiem parakstāmiem dokumentiem.

2.7 Paraksti EDoc iekļautie paraksti atbilst XML-DSIG un ETSI TS 101 903 starptautiskiem standartiem [4, 5]. XML Advanced Electronic Signatures (XAdES) [5] definē formātu, kas ļauj strukturētā veidā uzglabāt parakstītus datus, parakstus, kā arī papildus drošības īpašības, kas ir saistītas ar elektronisko parakstu (piemēram, derīguma apstiprinājumus).

EDoc elektroniskā paraksta formāts var balstīties uz vienu no sekojošiem profiliem: XAdES-BES, XAdES-T vai XAdES-C. Parakstot dokumentu, ir iespējams izvēlēties nepieciešamo paraksta profilu. Atļauto paraksta profilu saraksts ir definēts veidnē, kas tika izmantota veidojot dokumentu.

Elektroniskais paraksts sastāv no divu veidu komponentēm:

obligātas (specificētas *5]);

neobligātas.

Atsevišķam elektroniskā paraksta komponentēm ir jābūt aizsargātām ar elektronisko parakstu. EDoc parakstu obligātas komponentes ir aprakstītas 3. tabulā. Visam šīm komponentēm ir jābūt parakstītām (aizsargātām ar elektronisko parakstu).

Nosaukums Apraksts

Parakstīšanas laiks Laiks, kad paraksts tika pievienots.

Sertifikāta identifikators Unikālais sertifikāta identifikators.

Atsauce uz paraksta

politiku

Paraksta politika ir kopēja likumu kopa, ko jāizmanto parakstītājam un

paraksta pārbaudītājam lai validējot elektronisko parakstu iegūtu

vienādu rezultātu.

3. tabula: EDoc parakstu obligātas komponentes

2.7.1 Parakstu pievienošanas veidi

Elektroniskie paraksti var būt pievienoti divos veidos:

secīgi (EDoc formāts atbalsta tikai šo parakstīšanas veidu);

paralēli.

Paralēlās parakstīšanas gadījumā, katrs paraksts paraksta dokumentu (dokumentus) un parakstāmās meta datu sekcijas (kā parādīts 3. attēls: Paralēlā parakstīšana3. attēlā). Paralēlie paraksti tiek izmantoti gadījumos, kad parakstītāji vienojas par parakstāmo saturu. Parakstīšanas brīdī, citu parakstu validācija netiek veikta. Elektronisko parakstu struktūrā katrs paralēlais paraksts ir atsevišķs elements. Visi parakstu elementi atrodas vienā līmenī.

Page 11: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

7. lapa

D

P PP

3. attēls: Paralēlā parakstīšana

Secīgās parakstīšanas gadījumā, pirmais paraksts paraksta dokumentu (dokumentus) un parakstāmās meta datu sekcijas, bet katrs nākamais paraksts, paraksta iepriekšējo (kā parādīts 43. attēls: Paralēlā parakstīšana. attēlā). Šajā gadījumā parakstītājs apstiprina gan parakstāmo saturu, gan iepriekšējo parakstu.

D P P P

4. attēls: Secīgā parakstīšana

2.7.2 Parakstu līmeņi

EDoc elektroniskā paraksta formāts var balstīties uz viena no sekojošiem profiliem:

XAdES-BES: definē vienkāršo elektronisko parakstu bez laika zīmoga.

XAdES-T: dod iespēju elektroniskām parakstam pievienot laika zīmogu. Laika zīmoga

pievienošana elektroniskajām parakstam ir vienkāršākais veids kā nodrošināt paraksta

derīgumu ilgākā laikā. Laika zīmoga pievienošanas process kā ievaddatus izmanto

elektroniskā paraksta vērtību. Šis struktūras XML ekvivalents ir XAdES-T.

XAdES-C: XML Advanced Electronic Signature with Complete validation data references

(XAdES-C) ir elektroniskais paraksts, kas papildus laika zīmogam satur pilno sertifikātu ķēdi,

kas tika izmantota dokumenta parakstīšanai, kā arī sertifikātu anulēšanas informāciju. Šīs

informācijas pievienošana nodrošina, ka parakstītais dokuments var būt izmantots

visilgāko laiku. Tas var būt pārbaudīts pat nepieslēdzoties sertifikātu servisiem, kā arī pēc

servisu sertifikātu derīguma termiņa izbeigšanās (piemēram, OCSP servisa sertifikāts).

Elektroniskais paraksts tiek uzskatīts par tehniski derīgo, ja tas tika izveidots laikā, kad bija derīgs parakstītāja sertifikāts. Šis fakts var būt pieradīts parakstam pievienojot laika zīmogu un sertifikāta statusa informāciju (iegūto no OCSP).

2.7.3 Parakstu meta dati

EDoc dokumenta veidnē ir iespējams noradīt elektronisko parakstu tipus, kurus ir atļauts pievienot uz tā pamata veidojamiem dokumentiem. Katram paraksta tipam var nodefinēt paraksta profilu (XAdES-BES, XAdES-T vai XAdES-C) un vairākus meta datu laukus. Šie meta dati tiek aizpildīti pievienojot parakstu, un saglabāti EDoc pakotnē kopā ar parakstu parakstītā veidā.

Definējot meta datus veidnē, katrai īpašībai var pievienot sekojošus atribūtus:

Īpašības nosaukums;

Vērtības tips (teksts, vai izvēlne no klasifikatora);

Noklusējuma vērtība;

Pazīmi par to vai īpašības vērtība ir obligāta;

Pazīme par to, ka vai īpašības vērtība ir pieejama tikai lasīšanai.

Veidņu mehānisms ir sīkāk aprakstīts pielikumā 5.1.

Page 12: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

8. lapa

3 Dokumenta fiziskā struktūra

3.1 EDoc pakotne EDoc pakotne ir ZIP fails ar „.edoc” paplašinājumu. Visas EDoc specifiskas komponentes atrodas „/EDoc” direktorijā: piemēram, EDoc manifests, EDoc bāzes un papildus īpašības, paraksti un parakstāmie dokumenti.

Papildus, EDoc izmanto centrālās īpašības, kas ir definētas Open XML standartā. Centrālas īpašības tiek saglabātas „/docsProps/Core.xml” failā. Šīs īpašības satur tādus metadatus, kā:

pakotnes autora vārds;

pakotnes izveidošanas laiks;

meklēšanai paredzētie atslēgas vārdi.

Visiem failu nosaukumiem iekš EDoc pakotnes jābūt URL kodētiem.

EDoc pakotnes piemērs ir parādīts 5. attēlā. Šī pakotne satur divus Microsoft Word dokumentus un ir parakstīta divas reizes. Parakstītas pakotnes daļas ir izdalītas ar krāsu. Parakstītas relācijas ir parādītas ar resno līniju.

Jāpievērš uzmanība parakstu failu parakstīšanai. Pēdējais paraksts (vai vienīgais, ja dokuments bija parakstīts tikai vienu reizi) nekad netiek parakstīts. Savukārt visi iepriekš pievienotie paraksti (šajā gadījumā – viens), tiek vienmēr parakstīti ar parakstiem, kas bija pievienoti vēlāk.

Līdz ar pirmā paraksta pievienošanu, tiek parakstīti visi pakotnē esošie dokumenti ar atbilstošām relācijām. Šai pakotnei vairs nedrīkst būt pievienoti jaunie dokumenti, vai modificēti parakstītie meta dati. Pakotnei ir atļauts tikai modificēt centrālās īpašības, vai pievienot papildus parakstus.

Page 13: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

9. lapa

5. attēls: EDoc pakotnes piemērs

EDoc pakotnes veidojošas sastāvdaļas ir aprakstītas 4. tabulā:

Objekta nosaukums Apraksts Relācijas tips Parakstīts

/[Content_Types].x

ml

Definē pakotnē izmantotus

satura tipus. Netiek

parakstīts ar EDoc parakstu,

kas ļauj parakstītai pakotnei

pievienot failus ar jauniem

satura tipiem.

Nav. Objekts tiek meklēts pēc nosaukuma. Nē

/_rels/.rels Relācijas starp EDoc pakotni

un objektiem. Satur divas

relācijas – uz

/docProps/core.xml un

/EDoc/manifest.xml. Netiek

parakstīts, kas ļauj papildināt

EDoc formātu ar jaunām

saknes līmeņa relācijām.

Nav. Objekts tiek meklēts pēc nosaukuma. Nē

/docProps/Core.xml EDoc centrālās īpašības, kas http://schemas.openxmlformats.org/pack Nē

EDoc pakotne

Centrālie metadati

/docProps/Core.xml

Satura tipu saraksts

/[Content_Types].xml

Edoc manifests

/EDoc/manifest.xml

Bāzes īpašības

/EDoc/docProps/Base.xml

Papildus īpašības

/EDoc/docProps/

Papildus+%c4%abpa%c5%a1%c4%abb

as.xml

Parakstu pirmavots

/EDoc/Signatures/origin.sgns

Dokuments

/EDoc/Documents/doc1.doc

Dokuments

/EDoc/Documents/doc2.doc

Pakotnes relāciju daļa

/_rels/.rels

Relāciju daļa

/EDoc/_rels/manifest.xml.rels

Paraksts

/EDoc/Signatures/signature1.xml

Paraksts

/EDoc/Signatures/signature2.xml

Relāciju daļa

/EDoc/Signatures/_rels/origin.sgns.rels

- Parakstītas daļas

- Parakstītas relācijas

...

...

Metadati

Dokumenti

Paraksti

Page 14: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

10. lapa

Objekta nosaukums Apraksts Relācijas tips Parakstīts

ir definētas Open XML

standartā.

age/2006/relationships/metadata/core-

properties

/EDoc/manifest.xml EDoc manifests. Apraksta

dokumenta tipu, izmantoto

veidni, EDoc formātu un

versiju. EDoc manifests ir

aprakstīts 3.4. sadaļā.

http://schemas.microsoft.com/edoc/2006

/manifest

/EDoc/_rels/manifes

t.xml.rels

EDoc manifesta relācijas ar

objektiem. Satur relācijas uz

meta datiem, dokumentiem

un parakstu pirmavotu. Visi

pakotnei pievienotie

dokumenti tiek glabāti

/EDoc/Documents

direktorijā. manifest.xml

failam ir relācijas uz visiem

metadatu failiem un

dokumentiem, kas glabājas

EDoc mapē.

Nav. Objekts tiek meklēts pēc nosaukuma. Jā

/EDoc/Signatures/or

igin.sgns

EDoc parakstu pirmavots.

origins.signs failam ir

relācijas uz visiem parakstu

objektiem, tāpēc tas tiek

izmantots kā sākuma punkts

visu EDoc pakotnei

pievienoto parakstu

nolasīšanai. Visi EDoc

paraksti tiek glabāti

/EDoc/Signatures direktorijā.

Parakstu objektu nosaukumi

tiek ģenerēti secīgi:

signature1.xml,

signature2.xml, …

signatureN.xml (parakstu

faili ir sīkāk aprakstīti 3.6.

sadaļā). Atbilstoši Open XML

standartam, origin.sgns

failam ir jābūt tukšam.

http://schemas.microsoft.com/edoc/2006

/signature/origin

/EDoc/Signatures/_r

els/origin.sgns.rels

Relācijas starp EDoc

parakstu pirmavotu un

parakstu objektiem.

Nav. Objekts tiek meklēts pēc nosaukuma. Nē

Page 15: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

11. lapa

Objekta nosaukums Apraksts Relācijas tips Parakstīts

/EDoc/docProps/Bas

e.xml

EDoc bāzes īpašības. http://schemas.microsoft.com/edoc/2006

/metadata/signed

Relācijas tips nenorada uz konkrēto

objekta tipu. Objekts tiek meklēts pēc

nosaukuma.

/EDoc/docProps/Pa

pildus+%c4%abpa%c

5%a1%c4%abbas.xm

l

EDoc papildus īpašības http://schemas.microsoft.com/edoc/2006

/metadata/signed

Relācijas tips nenorada uz konkrēto

objekta tipu. Objekts tiek meklēts pēc

nosaukuma.

/EDoc/Documents/*

.*

Parakstāmie dokumenti http://schemas.microsoft.com/edoc/2006

/document

/EDoc/Signautes/sig

natureN.xml

EDoc paraksta objekts http://schemas.microsoft.com/edoc/2006

/signature

4. tabula: EDoc pakotnes sastāvdaļas

3.2 Satura tipi Satura tipi tiek glabāti „/[Content_Types].xml” failā. Šim failam ir jāatrodas pakotnes saknes direktorija. Satura tipu fails pakotnē tiek meklēts pēc precīza URL.

Šis fails satur XML ar <Types> elementu dokumenta līmenī, un vienu vai vairākiem <Default> un <Override> apakš elementiem. Šie elementi ir aprakstīti 5. tabulā.

<Default> elementi definē satura tipu asociācijas ar objektu nosaukuma paplašinājuma daļu (failu paplašinājumiem). Tipiski, katram faila paplašinājumam ir atsevišķs satura tips. <Default> elementa atribūti ir aprakstīti 6. tabulā.

<Override> elementi tiek izmantoti lai definētu satura tipu asociācijas objektiem, kuru paplašinājumiem nav izveidotas satura tipu asociācijas, izmantojot <Default> elementu, vai tiem, kuru satura tips atšķiras no identificējama pēc objekta paplašinājuma. <Override> elementa atribūti ir aprakstīti 7. tabulā.

<Default> elementu izmantošana ļauj ievērojami samazināt nepieciešamo <Override> elementu skaitu.

Elements Apraksts

<Types> XML faila saknes elements.

<Default> Definē satura tipu asociācijas ar objektu nosaukumu

paplašinājumiem.

<Override> Definē satura tipu asociācijas ar konkrētiem objektiem

pakotnē.

5. tabula: Satura tipu faila elementi

Atribūts Apraksts Obligāts atribūts

Page 16: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

12. lapa

Atribūts Apraksts Obligāts atribūts

Extension Objekta nosaukuma paplašinājums. <Default>

elements izveido atbilstošo satura tipa asociāciju

visiem objektiem, kuru nosaukums beidzās ar

punktu un šī atribūta vērtību.

ContentType Satura tipa nosaukums atbilstoši RFC 2616.

Norada kāda satura tipa asociācija tiks izveidota

atbilstošiem objektiem.

6. tabula: <Default> elementa atribūti

Atribūts Apraksts Obligāts atribūts

PartName Objekta nosaukums. <Override> elements izveido

atbilstošo satura tipa asociāciju objektam, kura

nosaukums ir vienāds ar šī atribūta vērtību.

Objekta nosaukums ir reģistrnejutīgs.

ContentType Satura tipa nosaukums atbilstoši RFC 2616 [2].

Norada kāda satura tipa asociācija tiks izveidota

atbilstošiem objektiem.

7. tabula: <Override> elementa atribūti

EDoc formātam specifiskie satura tipi ir apkopoti 8. tabulā.

Satura tips Apraksts

application/vnd.microsoft-edoc.signature-origin Parakstu pirmavots

application/vnd.microsoft-edoc.manifest+xml EDoc manifests

application/vnd.microsoft-edoc.signature+xml Paraksts

8. tabula: EDoc speciālie satura tipi

Piemērā apskatītas EDoc pakotnes (5. attēls) satura tipu faila saturs ir sekojošs:

Page 17: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

13. lapa

<?xml version="1.0" encoding="utf-8"?>

<Types xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns="http://schemas.openxmlformats.org/package/2006/content-types">

<Default Extension="rels"

ContentType="application/vnd.openxmlformats-package.relationships+xml"/>

<Default Extension="xml" ContentType="application/xml"/>

<Default Extension="doc" ContentType="application/word"/>

<Default Extension="sgns"

ContentType="application/vnd.microsoft-edoc.signature-origin"/>

<Override PartName="/docProps/core.xml"

ContentType="application/vnd.openxmlformats-package.core-properties+xml"/>

<Override PartName="/EDoc/manifest.xml"

ContentType="application/vnd.microsoft-edoc.manifest+xml"/>

<Override PartName="/EDoc/Signatures/signature1.xml"

ContentType="application/vnd.microsoft-edoc.signature+xml"/>

<Override PartName="/EDoc/Signatures/signature2.xml"

ContentType="application/vnd.microsoft-edoc.signature+xml"/>

</Types>

Satura tipu XML faila shēma ir pievienota pielikumā 5.2.

3.3 Relācijas Relācijas glabājas saišu failos (ar paplašinājumu „.rels”) „_rels” direktorijā, kas atrodas relāciju avota objekta saknes direktorijā.

EDoc pakotne satur trīs relāciju failus:

/_rels/.rels – relācijas starp EDoc pakotni un objektiem;

/EDoc/_rels/manifest.xml.rels – EDoc manifesta relācijas ar objektiem;

/EDoc/Signatures/_rels/origin.sgns.rels – relācijas starp EDoc parakstu pirmavotu un

parakstu objektiem.

Relācijas tiek definētas izmantojot vairākus <Relationship> elementus, kas ir iekļauti vienā <Relationships> elementā. Šie elementi ir aprakstīti 9. tabulā.

Elements Apraksts

<Relationships> XML faila saknes elements.

<Relationship> Definē vienu relāciju. Katrai relācijai ir jābūt definētam Id

atribūtam, kura vērtība ir unikāla viena saišu faila

ietvaros.

9. tabula: Saišu failu elementi

<Relationship> elementa atribūti ir aprakstīti 10. tabulā.

Atribūts Apraksts Obligāts atribūts

Target URI atsauce uz atbilstošu resursu. Šī atsauce var

būt pilna (ārējiem, vai iekšējiem resursiem) vai

relatīva (iekšējiem). Meklējot objektu, kas atbilst

noradītām ceļam, šī vērtība tiek salīdzināta ar

objekta nosaukumu. Salīdzināšanai tiek ievērots

sekojošais princips: ASCII simboli tiek salīdzināti

reģistrnejutīgi, savukārt unikoda simboli –

reģistrjutīgi. Šis mehānisms ir detalizēti aprakstīts

Open XML standartā.

Page 18: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

14. lapa

Atribūts Apraksts Obligāts atribūts

Id Ir jābūt derīgam XML identifikatoram. Id atribūta

tips ir xsd:ID. Vērtībai jāatbilst xsd:ID

ierobežojumiem [6].

Type URI kas unikāli definē relācijas tipu. Jā

10. tabula: <Relationship> elementa atribūti

EDoc izmantotie relāciju tipi ir apkopoti 11. tabulā.

URI Apraksts

http://schemas.openxmlformats.org/package/20

06/relationships/metadata/core-properties

Relācija starp pakotni un centrālām īpašībām.

http://schemas.microsoft.com/edoc/2006/manif

est

Relācija starp pakotni un EDoc manifestu.

http://schemas.microsoft.com/edoc/2006/signat

ure/origin

Relācija starp EDoc manifestu un parakstu

pirmavotu.

http://schemas.microsoft.com/edoc/2006/meta

data/signed

Relācija starp EDoc manifestu un parakstītiem

meta datiem.

http://schemas.microsoft.com/edoc/2006/meta

data/unsigned

Relācija starp EDoc manifestu un

neparakstītiem meta datiem.

http://schemas.microsoft.com/edoc/2006/docu

ment

Relācija starp EDoc manifestu un pakotnē

iekļauto dokumentu.

http://schemas.microsoft.com/edoc/2006/signat

ure

Relācija starp parakstu pirmavotu un paraksta

objektu.

11. tabula: EDoc izmantoti relāciju tipi

Piemērā apskatītas EDoc pakotnes (5. attēls) saišu faili satur sekojošus elementus:

Pakotnes saišu fails (/_rels/.rels):

<?xml version="1.0" encoding="utf-8"?>

<Relationships xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns="http://schemas.openxmlformats.org/package/2006/relationships">

<Relationship

Id="rId1"

Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-

properties"

Target="/docProps/core.xml"/>

<Relationship

Id="rId2"

Type="http://schemas.microsoft.com/edoc/2006/manifest"

Target="/EDoc/manifest.xml"/>

</Relationships>

EDoc manifesta saišu fails (/EDoc/_rels/manifest.xml.rels):

Page 19: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

15. lapa

<?xml version="1.0" encoding="utf-8"?>

<Relationships xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns="http://schemas.openxmlformats.org/package/2006/relationships">

<Relationship

Id="rId1"

Type="http://schemas.microsoft.com/edoc/2006/signature/origin"

Target="/EDoc/Signatures/origin.sgns"/>

<Relationship

Id="rId2" Type="http://schemas.microsoft.com/edoc/2006/metadata/signed"

Target="/EDoc/docProps/Base.xml"/>

<Relationship

Id="rId3" Type="http://schemas.microsoft.com/edoc/2006/metadata/signed"

Target="/EDoc/docProps/Papildus+%c4%abpa%c5%a1%c4%abbas.xml"/>

<Relationship

Id="rId4" Type="http://schemas.microsoft.com/edoc/2006/document"

Target="/EDoc/Documents/doc1.doc"/>

<Relationship

Id="rId5" Type="http://schemas.microsoft.com/edoc/2006/document"

Target="/EDoc/Documents/doc2.doc"/>

</Relationships>

Parakstu pirmavota saišu fails (/EDoc/Signatures/_rels/origin.sgns.rels):

<?xml version="1.0" encoding="utf-8"?>

<Relationships xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns="http://schemas.openxmlformats.org/package/2006/relationships">

<Relationship

Id="rId1"

Type="http://schemas.microsoft.com/edoc/2006/signature"

Target="/EDoc/Signatures/signature1.xml"/>

<Relationship

Id="rId2"

Type="http://schemas.microsoft.com/edoc/2006/signature"

Target="/EDoc/Signatures/signature2.xml"/>

</Relationships>

Saišu faila XML shēma ir pievienota pielikumā 5.3.

3.4 Manifesta fails EDoc manifests (/EDoc/manifest.xml) satur EDoc formāta nosaukumu, versiju un dokumenta tipu. Manifesta izmantotie elementi ir aprakstīti 12. tabulā.

Elements Apraksts

<Manifest> XML faila saknes elements.

<DocumentType> Satur URN, kas apraksta izmantoto dokumenta veidni.

Pēc noklusējuma ir

URN:MICROSOFT:LV:EDOCTEMPLATE:EXTENDED, kas

norāda uz tukšo veidni (skat. pielikumu 5.7.)

<TemplateLocation> Veidnes URL adrese.

<Format> EDoc faila formāta nosaukums. Aktuālais formāta

nosaukums ir „EDOC-XML”.

<Version> EDoc faila formāta versija. Aktuālā versija ir „1.01”.

12. tabula: Manifesta faila elementi

Piemērā apskatītas EDoc pakotnes (5. attēls) manifesta fails (/EDoc/manifest.xml) satur sekojošus elementus:

Page 20: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

16. lapa

<?xml version="1.0" encoding="utf-8"?>

<Manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns="http://schemas.microsoft.com/edoc/2006/manifest">

<DocumentType>URN:MICROSOFT:LV:EDOCTEMPLATE:TEMPLATE2</DocumentType>

<TemplateLocation>http://server/folder/Template2.edot</TemplateLocation>

<Format>EDOC-XML</Format>

<Version>1.01</Version>

<Manifest>

Manifesta faila XML shēma ir pievienota pielikumā 5.4.

3.5 Meta dati EDoc meta dati ir sadalīti vairākās sekcijās. Katra sekcija var saturēt vairākas īpašības. Katra no sekcijām ir aprakstīta atbilstošā veidnē. Centrālo un bāzes īpašību sekciju struktūra ir definēta EDoc risinājuma un nevar būt modificēta. Savukārt, papildus īpašību sekcijas struktūra var būt noradīta izmantojot veidņu mehānismu.

EDoc formāts neierobežo īpašību sekciju un saistīto veidņu skaitu. Savukārt, dokumentam, kas ir izveidots izmantojot EDoc bibliotēku, tiek vienmēr pievienotas trīs meta datu sekcijas:

centrālās īpašības (definētas Open XML standartā);

bāzes īpašības (obligātas katram EDoc dokumentam);

papildus īpašības (ir atkarīgas no veidnes no kuras bija izveidots atbilstošais EDoc

dokuments).

3.5.1 Centrālās īpašības

EDoc formātā centrālās īpašības ir Open XML definēto centrālo īpašību apakškopa. Īpašības glabājas „/docProps/core.xml” failā. Šim failam nav nodefinēts speciālais relācijas tips, un tas tiek nolasīts pēc precīza URL. EDoc pakotnē failam ir jāatrodas tieši pēc tādas adreses. Dažu centrālo īpašību vērtības tiek iestatītas automātiski, bez iespējas tos modificēt manuāli. Centrālo īpašību veidnes definīcija ir pievienota pielikumā 5.5.

EDoc centrālās īpašības ir aprakstītas 13. tabulā.

Nosaukums Nosaukumu

telpa

Apraksts Datu tips Vērtības piemērs

Created Doublin Core Resursa izveidošanas

datums. Ir ieteicams

pārbaudīt vai šī lauka vērtība

ir derīgs xsd:dateTime

teksts, un ja ir, tad apstrādāt

to kā datumu. Ir ieteicams

arī saglabāt šī lauka vērtību

atbilstoši xsd:dateTime

formātam.

Teksts 2009-06-27T17-

22-11+03

Creator Doublin Core Vienība, kas ir primāri

atbildīga par resursa satura

sagatavošanu.

Teksts janis.berzins

Language Doublin Core Resursa satura valoda. Teksts English

Last_Modified_By Open Lietotājs, kas bija veicis Teksts janis.berzins

Page 21: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

17. lapa

Nosaukums Nosaukumu

telpa

Apraksts Datu tips Vērtības piemērs

Packaging

Conventions

pēdējās izmaiņas.

Izmantotais lietotāja

identifikators ir atkarīgs no

konteksta: piemēram, vārds,

e-pasta adrese, darbinieka

numurs. Ir rekomendēts, lai

šī vērtība būtu tik īsa, cik

iespējams.

Modified Doublin Core Pēdējo izmaiņu datums. Ir

ieteicams pārbaudīt vai šī

lauka vērtība ir derīgs

xsd:dateTime teksts, un ja ir,

tad apstrādāt to kā datumu.

Ir ieteicams arī saglabāt šī

lauka vērtību atbilstoši

xsd:dateTime formātam.

Teksts 2009-07-06T16-

33-13+03

Revision Open

Packaging

Conventions

Pārskatīšanu skaits. Šī

vērtība parāda cik reizes

dokuments bija saglabāts,

vai pārskatīts. Šo vērtību

lietojumprogramma atjauno

automātiski pēc katras

izmaiņu saglabāšanas.

Teksts 4

Title Doublin Core Resursa nosaukums. Teksts Līgums Nr. 324

Version Open

Packaging

Conventions

Versijas numurs. Šo vērtību

iestata lietojumprogramma,

vai lietotājs.

Teksts 1

13. tabula: EDoc centrālās īpašības

Īpašību nosaukumu telpas atbilst sekojošiem URI:

Doublin Core: http://purl.org/dc/elements/1.1/;

Open Packaging Conventions:

http://schemas.openxmlformats.org/package/2006/metadata/core-properties.

3.5.2 Bāzes īpašības

Bāzes īpašības ir definētas EDoc formātā un ir obligātas katram EDoc dokumentam. Bāzes īpašības ir aprakstītas bāzes veidnē (skat. pielikumu 5.6.) un tiek saglabātas „/EDoc/docProps/base.xml” failā. Šim failam speciālais relācijas tips nav definēts, un tas tiek nolasīts pēc precīza URL. EDoc pakotnē failam ir jāatrodas atbilstoši ti adresei.

EDoc bāzes īpašības ir aprakstītas 14. tabulā.

Page 22: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

18. lapa

Nosaukums Nosaukumu

telpa

Apraksts Datu tips Vērtības piemērs

eDoc_Format edoc Formāta versija. Teksts 1.01

14. tabula: EDoc bāzes īpašības

Īpašību nosaukumu telpas atbilst sekojošiem URI:

edoc: http://schemas.microsoft.com/edoc/2006/metadata.

3.5.3 Papildus īpašības

Papildus īpašību struktūra tiek definēta izmantojot veidņu mehānismu. Šis mehānisms ir sīkāk aprakstīts pielikumā 5.1.

Papildus īpašības tiek glabātas failā „/EDoc/docProps/<sectionName>.xml”, kur <sectionName> ir izmantotās veidnes atribūta sectionName vērtība (tipiski, tas ir „Papildus īpašības”). Faila vārdam tiek piemērots URL kodējums.

Papildus īpašību struktūra ir atkarīga no veidnes, no kuras bija izveidots EDoc dokuments. Šis veidnes identifikators tiek glabāts EDoc manifestā, elementā <DocumentType> (skat. sekciju 3.4 Manifesta fails).

Tukšās veidnes XML shēma ir pievienota pielikumā 5.7.

3.6 Paraksti EDoc iekļautie paraksti atbilst XML-DSIG un ETSI TS 101 903 starptautiskiem standartiem standartiem [4, 5]. XML Advanced Electronic Signatures (XAdES) [5] definē formātu, kas ļauj strukturētā veidā uzglabāt parakstītus datus, parakstus, kā arī papildus drošības īpašības, kas ir saistītas ar elektronisko parakstu (piemēram, derīguma apstiprinājumus). EDoc elektroniskā paraksta formāts var balstīties uz vienu no sekojošiem profiliem: XAdES-BES, XAdES-T vai XAdES-C. Parakstot dokumentu, ir iespējams izvēlēties nepieciešamo paraksta profilu.

Sākuma punkts visu EDoc pakotnei pievienoto parakstu nolasīšanai ir parakstu pirmavota objekts: „/EDoc/Signatures/origins.sgns” fails. Šim failam ir relācijas uz visiem parakstu objektiem. Atbilstoši Open XML standartam, origin.sgns failam ir jābūt tukšam (nesaturēt neviena baita).

EDoc parakstu pirmavotam ir nulle vai vairākas relācijas uz parakstu failiem. Katrs paraksts ir glabāts atsevišķā failā /EDoc/Signatures mapē. Parakstu failu nosaukumi tiek ģenerēti secīgi: signature1.xml, signature2.xml, … signatureN.xml.

EDoc pakotnē var būt tikai viens parakstu pirmavota objekts. Ir jābūt izveidotai relācijai no EDoc manifesta uz parakstu pirmavota objektu. Šis relācijas tipam ir jābūt „http://schemas.microsoft.com/edoc/2006/signature/origin”.

Relācijas starp parakstu pirmavota objektu un parakstu failiem tiek definētas atbilstošajā saišu failā. Parakstu pirmavota failam vajadzētu būt tukšam.

3.6.1 Parakstu faili

Parakstu faili atbilst XAdES shēmai, kura ir aprakstīta XML Advanced Electronic Signatures (XAdES) specifikācijā.

Paraksta fails, vienkārša paraksta gadījumā, sastāv no sekojošiem galvenajiem elementiem:

<Signature>;

<SignedInfo>;

<Reference>;

<SignatureValue>;

<KeyInfo>;

Page 23: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

19. lapa

<Object>.

Šie elementi ir aprakstīti 15. tabulā.

Katram elementam, uz kuru ir atsauces citos elementos, tiek pievienots Id atribūts ar tipu xsd:Id. Šī atribūta vērtība tiek izmantota noradot atsauces. Paraksta faila vienkāršota struktūra un saites starp elementiem ir parādītas 6. attēlā.

6. attēls: Parakstu faila struktūra

Elements Apraksts

<Signature> XML faila saknes elements. Id atribūta vērtība sakrīt ar atbilstoša paraksta

objekta nosaukumu („EDoc\Signatures\signatureN.xml”, kur N ir paraksta

numurs pēc kārtas, sākot ar 1).

Apakš elementi: SignatureInfo, SignatureValue, KeyInfo, Object.

<SignedInfo> XML-DSIG bloks kas satur informāciju par visiem parakstāmiem objektiem

(<Reference> elementus). Elements tiek izmantots atbilstoši XAdES

Page 24: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

20. lapa

Elements Apraksts

standartam.

Apakš elementi: Reference.

<Reference> Definē atsauci uz katru parakstāmo pakotnes sekciju (<Object> elementu).

Katram <Reference> elementam jābūt noradītam URI atribūtam. Šī atribūta

vērtība ir „#<object-id>”, kur <object-id> ir atbilstošā <Object> elementa Id

atribūta vērtība.

Apakš elementi: Transforms, DigestMethod, DigestValue.

<SignatureValue> Satur elektronisko parakstu. Id atribūta vērtība ir

„SignatureValue_<signature-id>”, kur <signature-id> ir šī paraksta

<Signature> elementa Id atribūta vērtība. Elements tiek izmantots atbilstoši

XAdES standartam.

Apakš elementi: nav.

<KeyInfo> Satur sertifikātu, kas tiek izmantots parakstīšanai, un RSA publisko atslēgu.

Elements tiek izmantots atbilstoši XAdES standartam.

Apakš elementi: nav.

<Object> Apzīmē katru parakstāmo pakotnes sekciju. Šis elements satur relatīvo EDoc

objekta adresi un aprēķināto faila hešu (sekcijas shēma ir pievienota

pielikumā 5.8.). Relatīvais ceļš atbilst Open XML standartam. Meklējot

objektu, kas atbilst noradītām relatīvam ceļam, šī vērtība tiek salīdzināta ar

objekta nosaukumu. Salīdzināšanai tiek ievērots sekojošais princips: ASCII

simboli tiek salīdzināti reģistrnejutīgi, savukārt unikoda simboli – reģistrjutīgi.

Salīdzināšanas mehānisms ir detalizēti aprakstīts Open XML standartā.

Aprēķināta faila heša vērtība ir izmantota veidojot XAdES parakstu. Parakstot

failu tiek parakstīta šī aprēķināta heša vērtība, nevis pilns objekta saturs. Tas

nozīme, ka pārbaude sastāv ne tikai no XAdES paraksta pārbaudes, bet arī no

saglabātas heša vērtību salīdzināšanas ar reāla laikā aprēķināto no pilnā

dokumentu satura.

Katram <Object> elementam ir jābūt noradītai Id atribūta vērtībai. Šī vērtība

tiek ģenerēta kā: „hash_<object-name>”, kur <object-name> ir atbilstošā

objekta nosaukums (piemēram, „hash_Edoc\docProps\base.xml”).

Papildus, vienmēr tiek pievienoti divi <Object> elementi: XAdES paraksta

meta datiem (Id = ”XadesObject_<signature-id>”, kur <signature-id> ir šī

paraksta <Signature> elementa Id atribūta vērtība) un EDoc paraksta meta

datiem (Id = ”signature_properties”). EDoc paraksta metadatu XML shēma ir

pievienota pielikumā 5.9.

<Object> elementa izmantošana atbilst XAdES standartam.

Apakš elementi: postcsp:section_reference.

15. tabula: Parakstu faila elementi

Paraksta failam tiek vienmēr pievienoti divi speciālie <Object> elementi:

Page 25: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

21. lapa

EDoc paraksta meta datiem (Id = ”signature_properties”). Šajā objektā tiek glabātas EDoc

standarta un papildus paraksta īpašību vērtības. Papildus īpašības tiek definētas izmantotā

EDoc veidnē. Elementa piemērs ir paradīts 7. attēlā. Izmantotie apakš elementi ir aprakstīti

16. tabulā;

XAdES paraksta meta datiem (Id = ”XadesObject_<signature-id>”, kur <signature-id> ir

atbilstošā paraksta <Signature> elementa Id atribūta vērtība). Šajā objektā glabājas

parakstītas un neparakstītas XAdES paraksta īpašības. Parakstītas īpašības, glabājas

elementā <SignedProperties>, kas tiek pievienots jebkuram paraksta tipam. Elementa

piemērs ir parādīts 8. attēlā, un tas tiek sīkāk aprakstīts 17. tabulā. Neparakstītas īpašības

glabājas elementā <UnsignedProperties> un ir atkarīgas no izmantotā paraksta tipa. Tās

tiek aprakstītas zemāk, atsevišķi katram paraksta tipam.

7. attēls: EDoc paraksta īpašības

Elements Apraksts

<postcsp:signature_properties> EDoc paraksta īpašību saknes elements. Elementam ir sekojošie

obligātie atribūti:

- level – paraksta līmenis (atbilstoši XAdES - Basic,

Timestamped, Verified);

- sigType – paraksta tips no veidnes (atbilstoša paraksta

definīcijas customTypes elementa „name” atribūta

vērtība). Ja ir izmantots paraksts no noklusētas veidnes,

kura ir tukša, šī vērtība arī tiek atstāta tukša.

Apakš elementi: postcsp:property (neobligāts).

<postcsp:property> Papildus īpašība. Elementam ir sekojošie obligātie atribūti:

- name – īpašības nosaukums;

- value – īpašības vērtība.

16. tabula: EDoc paraksta īpašību elementu apraksts

8. attēls: XAdES paraksta īpašības

Page 26: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

22. lapa

Elements Apraksts

<QualifyingProperties> Saknes elements XAdES paraksta īpašībām. Target atribūts satur

atsauci uz paraksta objektu: Target = ”#<signature-id>”, kur

<signature-id> ir atbilstošā paraksta <Signature> elementa Id

atribūta vērtība.

Apakš elementi: SignedProperties, UnsignedProprties (neobligāts).

Elements ir izmantots atbilstoši XAdES specifikācijai.

<SignedProperties> Satur XAdES paraksta parakstītas īpašības. Id atribūta vērtība ir

„SignedProperties_<signature-id>”, kur <signature-id> ir šī paraksta

<Signature> elementa Id atribūta vērtība.

Apakš elementi: SignedSignatureProperties.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<SignedSignatureProperties> Satur informāciju par parakstīšanas faktu.

Apakš elementi: SigningTime, SigningCertificate,

SignedPolicyIdentifier.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<SigningTime> Parakstīšanas laiks. Vērtībai ir jābūt xsd:dateTime formātā. Laiks var

būt noradīts divos veidos:

- Kā datora lokālais laiks parakstīšanas brīdī: „YYYY-MM-

DDThh:mm:ss”. Šajā gadījumā noradītais laiks tiek parādīts

lietotāja saskarnē bez konvertācijas – tieši tā, kā arī bija

saglabāts.

- Kā UTC laiks: „YYYY-MM-DDThh:mm:ssZ”. Šajā gadījumā

pirms parādīšanas lietotāja saskarnē šis laiks ir jākonvertē

lokālajā laika zonā.

Lauka vērtībai ir tikai informatīva nozīme. Tas netiek iekļauts

validācijā. Lai nemulsinātu aplikācijas lietotājus, ir ieteicams noradīt

šo vērtību UTC formātā, kā arī pie attēlošanas lietotāja saskarnē

rādīt attiecīgo piezīmi, ja failā bija noradīts lokālais datora laiks.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<SigningCertificate> Informācija par sertifikātu, kas tika izmantots parakstīšanai.

Apakš elementi: Cert.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<Cert> Satur informāciju par sertifikātu.

Apakš elementi: CertDigest, IssuerSerial.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CertDigest> Satur informāciju par izmantoto heša funkciju.

Page 27: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

23. lapa

Elements Apraksts

Apakš elementi: DigestMethod, DigestValue.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<DigestMethod> Atsauce uz izmantoto heša funkciju. Atsauce tiek glabāta Algorithm

atribūtā.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<DigestValue> Aprēķināta heša vērtība.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<IssuerSerial> Satur informāciju par sertifikāta izdēvēju.

Apakš elementi: X509IssuerName, X509SerialNumber.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<X509IssuerName> Izdēvēja nosaukums.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<X509SerialNumber> Izdevēja sertifikāta seriālais numurs.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<SignaturePolicyIdentifier> Paraksta pārbaudes politika. Formātā ir pieņemts ka validācija

notiek pret valsts noteikto kopējo politiku. Tāpēc šim elementam ir

vienmēr jāsatur SignaturePolicyImplied apakš elementu.

Elements ir izmantots atbilstoši XAdES specifikācijai.

17. tabula: XAdES paraksta īpašību elementu apraksts

XAdES-T paraksta gadījumā (XAdES paraksts ar laika zīmogu) paraksta īpašībām tiek pievienoti neparakstītie paraksta meta dati (9. attēls). Šie papildus elementi ir aprakstīti 18. tabulā.

9. attēls: Laika zīmoga glabāšana

Page 28: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

24. lapa

Elements Apraksts

<UnsignedProperties> Satur XAdES neparakstītas īpašības.

Apakš elementi: UnsignedSignatureProperties

Elements ir izmantots atbilstoši XAdES specifikācijai.

<UnsignedSignatureProperties> Satur XAdES paraksta neparakstītas īpašības.

Apakš elementi: SignatureTimeStamp (obligāts priekš XAdES-T, vai

XAdES-C), CompleteCertificateRefs (obligāts priekš XAdES-C),

CompleteRevocationRefs (obligāts priekš XAdES-C), CertificateValues

(obligāts priekš XAdES-C), RevocationValues (obligāts priekš XAdES-

C).

Elements ir izmantots atbilstoši XAdES specifikācijai.

< SignatureTimeStamp> Satur informāciju par laika zīmogu.

Apakš elementi: HashDataInfo, EncapsulatedTimeStamp.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<HashDataInfo> Satur norādi uz elektronisko parakstu kuram tika piešķirts laika

zīmogs. uri atribūta vērtība ir „#<signaturevalue-id>”, kur

<signaturevalue-id> ir <SignatureValue> elementa Id atribūta

vērtība.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<EncapsulatedTimeStamp> Satur laika zīmogu. Id atribūta vērtība ir „<signature-id>Timestamp”,

kur <signature-id> ir šī paraksta <Signature> elementa Id atribūta

vērtība. Laika zīmoga vērtība tiek iegūta nosūtot pieprasījumu uz TSA

servisu. Šī vērtība tiek glabāta XML Base64 kodējuma.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

18. tabula: Parakstu faila ar laika zīmogu papildus elementi

Gadījumā ja tiek izmantots pilnīgi pārbaudīts XAdES-C paraksts, XAdES paraksta īpašībām tiek pievienoti papildus elementi <UnsignedSignatureProperties> sekcijā, kuri satur informāciju par izmantoto sertifikātu ķēdi. Elementu hierarhija ir parādīta 10. attēlā. Sekcijas piemērs ir izklāstīts 11. attēlā. Elementi ir aprakstīti 19. tabulā.

Page 29: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

25. lapa

UnsignedSignatureProperties

CompleteCertificateRefs

CertificateValues

RevocationValues

CRLValues

OCSPValues

CompleteRevocationRefs

CRLRefs

OCSPRefs

CertRefs

10. attēls: UsnignedSignatureProperties elementu hierarhija

11. attēls: Parakstu faila papildus sekcijas XAdES-C parakstam

Page 30: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

26. lapa

Elements Apraksts

<CompleteCertificateRefs> Obligāts XAdES-C profila elements. Satur informāciju par

sertifikātiem, kas tiks izmantoti elektroniskā paraksta pārbaudes

procesā. Šajā elementā tiek iekļautas atsauces uz visiem sertifikātiem

ķēdē – no CA līdz parakstīšanas sertifikātam. Pats parakstīšanas

sertifikāts netiek iekļauts.

Apakš elementi: CertRefs.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CertRefs> Konteinera elements visiem sertifikātu atsauces objektiem. Satur

informāciju par visiem sertifikātiem sekojošo sertifikātu ķēdēs:

Parakstīšanas;

Autentifikācijas

Unikālām OCSP parakstīšanas.

Apakš elementi: Cert.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<Cert> Satur atsauci uz konkrētu sertifikātu.

Apakš elementi: CertDigest.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CertDigest> Satur informāciju par pielietoto heša funkciju.

Apakš elementi: DigestMethod, DigestValue.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<DigestMethod> Atsauce uz pielietoto heša funkciju. Atsauce glabājas Algorithm

atribūtā.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<DigestValue> Aprēķināta heša vērtība.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<IssueSerial> Satur informāciju par sertifikāta izdēvēju.

Apakš elementi: X509IssuerName, X509SerialNumber.

Elements ir izmantots atbilstoši XAdES specifikācijai.

< X509IssuerName> Izdēvēja nosaukums.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

< X509SerialNumber> Izdēvēja sertifikāta seriālais numurs.

Apakš elementi: nav.

Page 31: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

27. lapa

Elements Apraksts

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CompleteRevocationRefs> Obligāts XAdES-C profila elements. Satur informāciju par sertifikātu

anulēšanas statusiem, kas tiek izmantoti elektroniskā paraksta

pārbaudes procesā. Tiek iekļautas atsauces uz anulēšanas statusiem

visiem sertifikātiem ķēdē – no CA līdz parakstīšanas sertifikātam.

Apakš elementi: CRLRefs.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CRLRefs> Konteinera elements sertifikātu anulēšanas statusu atsauces

objektiem. Informācija par vienu OCSP sertifikātu tiek iekļauta tikai

vienu reizi.

Apakš elementi: CRLRef.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CRLRef> Satur atsauci uz konkrēta sertifikāta anulēšanas statusu.

Apakš elementi: DigestAlgAndValue, CRLIdentifier.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<DigestAlgAndValue> Satur informāciju par pielietoto heša funkciju un vērtību.

Apakš elementi: DigestMethod, DigestValue.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CRLIdentifier> Satur informāciju par CRL. URI atribūtā var glabāties atsauce uz

alternatīvo CRL arhivēšanas vietu. Atribūta vērtība tiek atstāta tukša.

Apakš elementi: Issuer, IssueTime.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<Issuer> CRL izdevējs.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<IssueTime> CRL publicēšanas laiks. Vērtībai ir jābūt xsd:dateTime formātā. Laiks

var būt noradīts divos veidos:

- Kā datora lokālais laiks: „YYYY-MM-DDThh:mm:ss”. Šajā

gadījumā noradītais laiks tiek parādīts lietotāja saskarnē bez

konvertācijas – tieši tā, kā arī bija saglabāts.

- Kā UTC laiks: „YYYY-MM-DDThh:mm:ssZ”. Šajā gadījumā

pirms parādīšanas lietotāja saskarnē šis laiks ir jākonvertē

lokālajā laika zonā.

Lauka vērtībai ir tikai informatīva nozīme. Tas netiek iekļauts

validācijā. Lai nemulsinātu aplikācijas lietotājus, ir ieteicams noradīt

šo vērtību UTC formātā, kā arī pie attēlošanas lietotāja saskarnē rādīt

attiecīgo piezīmi, ja failā bija noradīts lokālais datora laiks.

Page 32: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

28. lapa

Elements Apraksts

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<OCSPRefs> Konteinera elements OCSP sertifikātu anulēšanas statusu atsauces

objektiem. Tiek iekļauta informācija par visam OCSP atbildēm, kas

bija nepieciešamas pārbaudes laikā.

Apakš elementi: OCSPRef.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<OCSPRef> Satur atsauci uz OCSP atbildi par viena sertifikāta anulēšanas statusu.

Apakš elementi: OCSPIdentifier, DigestAlgAndValue.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<OCSPIdentifier> Satur informāciju par OCSP. URI atribūtā var glabāties atsauce uz

OCSP. OCSP adrese tiek nolasīta arī no sertifikāta.

Apakš elementi: ResponderID, ProducedAt.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<ResponderID> OCSP atbildētāja nosaukums.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<ProducedAt> OCSP atbildes laiks. Vērtībai ir jābūt xsd:dateTime formātā. Laiks var

būt noradīts divos veidos:

- Kā datora lokālais laiks: „YYYY-MM-DDThh:mm:ss”. Šajā

gadījumā noradītais laiks tiek parādīts lietotāja saskarnē bez

konvertācijas – tieši tā, kā arī bija saglabāts.

- Kā UTC laiks: „YYYY-MM-DDThh:mm:ssZ”. Šajā gadījumā

pirms parādīšanas lietotāja saskarnē šis laiks ir jākonvertē

lokālajā laika zonā.

Lauka vērtībai ir tikai informatīva nozīme. Tas netiek iekļauts

validācijā. Lai nemulsinātu aplikācijas lietotājus, ir ieteicams noradīt

šo vērtību UTC formātā, kā arī pie attēlošanas lietotāja saskarnē rādīt

attiecīgo piezīmi, ja failā bija noradīts lokālais datora laiks.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CertificateValues> Konteinera elements iekš kura tiek uzglabāti visi izmantotie sertifikāti

(uz kuriem iepriekšējās sekcijās tika ievietotas atsauces). Satur

informāciju par visiem sertifikātiem sekojošās ķēdēs: parakstīšanas,

autentifikācijas un unikālām OCSP parakstīšanas. Katrs sertifikāts tiek

glabāts kā simbolu virkne XML Base64 kodējuma. Šo informāciju ir

nepieciešams uzglabāt dokumenta konteinerā, jo elektroniskā

Page 33: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

29. lapa

Elements Apraksts

paraksta pakalpojuma sniedzējs nenodrošina sertifikātu arhivēšanu.

Apakš elementi: EncapsulatedX509Certificate.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<EncapsulatedX509Certificate> Tiek glabāts viens sertifikāts XML Base64 kodējuma. Obligāti jābūt

noradītai ID atribūta vērtībai. Šī vērtība tiek ģenerēta atbilstoši

sertifikāta tipam sekojošā veidā:

- Parakstīšanas ķēdes sertifikātiem: „chain-<N>”, kur <N> ir

sertifikāta numurs pēc skaita sākot ar 1 (piemēram, „chain-

1”, „chain-2”, „chain-3”, utt.);

- TSA ķēdes sertifikātiem: „tsa-chain-<N>”, kur <N> ir

sertifikāta numurs pēc skaita sākot ar 1 (piemēram, „tsa-

chain-1”, „tsa-chain-2”, „tsa-chain-3”, utt.);

- OCSP ķēdes sertifikātiem: „ocsp-chain-<N>”, pirmajai ķēdei,

un „ocsp-chain-<M>-<N>”, katrai nākamai, kur <M> ir ķēdes

numurs sākot ar 1, un <N> - sertifikāta numurs tajā

(piemēram, „ocsp-chain-1”, „ocsp-chain-2”, „ocsp-chain-3”,

„ocsp-chain-1-1”, „ocsp-chain-1-2”, „ocsp-chain-2-1”).

Elementu secībai arī ir nozīme. Sertifikātus jāiekļauj tādā secībā, kādā

tie atrodas sertifikātu ķēdes (respektīvi, sākot ar hierarhijas zemākā

līmeņa sertifikātiem, uz augstāko līmeni, kur visaugstākais līmenis ir

saknes sertifikāts). Jāpiezīmē, ka parakstīšanās un TSA ķēdēs zemākā

līmeņa sertifikāti netiek iekļauti (pats parakstīšanas un TSA

sertifikāts).

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<RevocationValues> Konteinera elements iekš kura tiek uzglabātas visi izmantotie

sertifikātu anulēšanas statusi (uz kuriem iepriekšējās sekcijās tika

ievietotas atsauces). Sertifikāta anulēšanas statusi tiek glabāti kā

simbolu virkne XML Base64 kodējuma. Šo informāciju ir

nepieciešams uzglabāt dokumenta konteinerā, jo elektroniskā

paraksta pakalpojuma sniedzējs nenodrošina sertifikātu arhivēšanu.

Apakš elementi: CRLValues.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<CRLValues> Konteinera elements sertifikātu anulēšanas statusiem. Tiek iekļauta

informācija tikai unikāliem OCSP parakstīšanas sertifikātiem.

Apakš elementi: EncapsulatedCRLValue.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<EncapsulatedCRLValue> Tiek glabāta CRL vērtība. Obligāti jābūt noradītai elementa Id atribūta

vērtībai. Šī vērtība tiek ģenerēta sekojošā veidā:

Page 34: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

30. lapa

Elements Apraksts

- Pirmajām elementam: „ocsp_responder_crl”;

- Katram nākamajām: „ocsp_responder_crl-<N>”, kur <N> ir

numurs pēc kārtas sākot ar 1.

CRL vērtība tiek glabāta XML Base64 kodējuma.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<OCSPValues> Konteinera elements OCSP sertifikātu anulēšanas statusiem. Tiek

iekļauta informācija par visam OCSP atbildēm, kas bija nepieciešamas

pārbaudes laikā.

Apakš elementi: EncapsulatedOCSPValue.

Elements ir izmantots atbilstoši XAdES specifikācijai.

<EncapsulatedOCSPValue> Tiek glabātas OCSP atbildes vērtība. Obligāti jābūt noradītai elementa

Id atribūta vērtībai. Šī vērtība tiek ģenerēta sekojošā veidā:

- Pirmajām elementam: „ocsp_response”;

- Katram nākamajām: „ocsp_response-<N>”, kur <N> ir

numurs pēc kārtas sākot ar 1.

OCSP atbildes vērtība tiek glabāta XML Base64 kodējuma.

Apakš elementi: nav.

Elements ir izmantots atbilstoši XAdES specifikācijai.

19. tabula: Parakstu faila elementi XAdES-C parakstam

3.6.2 Parakstāmie objekti

EDoc pakotnē parakstāmie objekti un relācijas tika aprakstīti 5. attēlā, to apraksts ir pieejams 20. tabulā.

Objekta nosaukums Apraksts

/EDoc/manifest.xml EDoc manifests.

/EDoc/_rels/manifest.xml.rels EDoc manifesta relācijas.

/EDoc/Signatures/origin.sgns Elektronisko parakstu pirmavots.

/EDoc/docProps/base.xml EDoc bāzes īpašības.

/EDoc/docProps/<sectionName>.xml, kur

<sectionName> ir izmantotās veidnes atribūta

sectionName vērtība (tipiski, tas ir „Papildus

īpašības”). Faila vārdam tiek piemērots URL

kodējums.

EDoc papildus īpašības.

/EDoc/Documents/*.* EDoc iekļautie dokumenti. Visiem

dokumentiem jābūt reģistrētai relācijai EDoc

manifesta saišu failā.

Page 35: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

31. lapa

20. tabula: Parakstāmie elementi

EDoc formāts atbalsta tikai secīgo parakstīšanu (kā parādīts 43. attēls: Paralēlā parakstīšana. attēlā). Šajā gadījumā pirmais paraksts paraksta visus 20. tabulā aprakstītus parakstāmos elementus. Katrs nākamais paraksts paraksta visus 20. tabulā aprakstītus elementus, un iepriekšējo parakstu objektus. Visi paraksti tiek saķēdēti. Tas nozīme, ka neviens paraksts nevar būt izņemts no pakotnes. Šajā gadījumā visi pārējie paraksti kļūst nederīgie.

EDoc manifests ar visām izejošām relācijām ir vienmēr parakstīts. Centrālās īpašības netiek parakstītas, un tāpēc var būt izmainītas arī parakstītām dokumentam. Parakstu pirmavots tiek parakstīts.

Bāzes īpašības tiek parakstītas. Papildus īpašību objekti tiek parakstīti gadījumā ja tie tiek pievienoti ar relāciju, kurai tips ir „http://schemas.microsoft.com/edoc/2006/metadata/signed”. Savukārt, ja relācijas tips ir „http://schemas.microsoft.com/edoc/2006/metadata/unsigned”, atbilstošie papildus īpašību objekti netiek parakstīti.

Tiek parakstīti arī visi dokumenti, uz kuriem eksistē relācija ar tipu „http://schemas.microsoft.com/edoc/2006/document”.

EDoc dokumenta veidnes netiek iekļautas pakotnē, tāpēc tās arī netiek parakstītas.

3.6.3 Parakstīšanas process

EDoc dokumenta parakstīšanas process sastāv no sekojošiem soļiem:

Nolasīt no EDoc un apkopot vienā sarakstā atsaucēs uz visiem EDoc parakstāmiem

objektiem (skat., 20. tabulu).

Izveidot jauno paraksta objektu (failu).

Izveidot parakstāmo elementu masīvu un parakstāmo referenču masīvu (kurā tiks glabātas

parakstāmo objektu Signature/SignedInfo/Reference elementa URI atribūta vērtības).

Katram vienumam no 1. solī apkopotā sarakstā:

Izmantojot SHA1 algoritmu izrēķināt ar sekciju asociēta objekta (faila) heša vērtību un

pārkonvertēt to Base64 teksta virknē.

Pievienot Signature/Object sekciju.

Ievietot tajā postcsp:section_reference elementu, ar diviem apakšelementiem:

postcsp:relative_path, kura vērtība satur objekta faila URL;

postcsp:hash, kas satur izrēķināto heša vērtību Base64 kodējumā.

Pievienot izveidoto postcsp:section_reference sekciju parakstāmo elementu masīvām.

Izmantojot SHA1 algoritmu izrēķināt heša vērtību pievienotas sekcijas XML teksta

virknei.

Pievienot paraksta failam atbilstošo Signature/SignatureInfo/Reference elementu.

Tā DigestValue apakš elementam kā vērtību noradīt aprēķināto XML sekcijas hešu

Base64 kodējumā.

Pievienot Reference elementa URI atribūta vērtību parakstāmo referenču masīvam.

EDoc paraksta meta datiem:

Pievienot paraksta failam atbilstošo Signature/Object sekciju (Id =

„signature_properties”). Pievienot tai postcsp:signature_properties apakš elementu,

kuram level atribūts definē izmantota paraksta līmeni, bet sigType – paraksta veida

Page 36: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

32. lapa

nosaukumu no veidnes. Ja izmantotā EDoc veidnē parakstam ir nodefinētas

parakstāmās īpašības, tās tiek pievienotas kā postcsp:property apakš elementi

postcsp:signature_properties elementam. Katram postcsp:property apakšelementam

tiek definētas divu atribūtu vērtības: name – paraksta īpašības nosaukums, value –

īpašības vērtība.

Izveidotais postcsp:signature_properties elements tiek pievienots parakstāmo

elementu masīvām.

Izmantojot SHA1 algoritmu izrēķināt heša vērtību pievienotas sekcijas XML teksta

virknei.

Pievienot paraksta failam atbilstošo Signature/SignatureInfo/Reference elementu.

Tā DigestValue apakš elementam kā vērtību noradīt aprēķināto XML sekcijas hešu XML

Base64 kodējumā.

Reference elementa URI atribūta vērtība tiek pievienota parakstāmo referenču

masīvam.

Iegūt parakstīšanas sertifikāta publisko un privāto atslēgu. Pārbaudīt vai izvēlētais

sertifikāts ir paredzēts parakstīšanai un vai sertifikātam nav izbeidzies derīguma termiņš.

Informāciju par publisko atslēgu saglabāt Signature/KeyInfo elementā.

XAdES paraksta meta datiem:

Pievienot paraksta failam atbilstošo Signature/Object elementu (Id =

”XadesObject_<signature-id>”), kurā tiek iekļauta informācija par parakstīšanai

izmantoto sertifikātu un parakstīšanas laiku UTC formātā.

Izveidotais Signature/Object/QualifyingProperties/SignedProperties elements tiek

pievienots parakstāmo elementu masīvām.

Izmantojot SHA1 algoritmu izrēķināt heša vērtību pievienotas sekcijas XML teksta

virknei.

Pievienot paraksta failam atbilstošo Signature/SignatureInfo/Reference elementu.

Tā DigestValue apakš elementam kā vērtību noradīt aprēķināto XML sekcijas hešu XML

Base64 kodējumā.

Parakstāmo referenču masīvam pievienot sekojošo vērtību:

„#<SignedPorperties*@Id+>”, kur <SignedPorperties*@Id+> ir SignedProperties

elementa Id atribūta vērtība.

Izmantojot iegūto privāto atslēgu, aprēķināt paraksta vērtību izveidotiem parakstāmo

elementu un parakstāmo referenču masīviem, un saglabāt šo vērtību

Signature/SignatureValue elementā.

Ja ir izmantots XAdES-T, vai XAdES-C paraksts:

Pievienot XAdES paraksta metadatu objektam (Signature/Object[@Id =

”XadesObject_<signature-id>”+) elementu QualifyingProperties/UnsignedProperties/

SignatureTimeStamp.

Aprēķināt SHA1 hešu saglabātai paraksta vērtībai.

Page 37: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

33. lapa

Nosūtīt šī heša vērtību TSA servisam.

Saglabāt TSA servisa atbildi XML Base64 kodējuma, kā EncapsulatedTimeStamp apakš

elementa vērtību.

Ja ir izmantots XAdES-C paraksta līmenis:

Izveidot parakstīšanas sertifikātu ķēdi.

Izveidot TSA sertifikātu ķēdi.

Izveidot OCSP sertifikātu ķēdes.

Pārbaudīt ķēdes, un saglabāt OCSP atbildes.

Iegūt informāciju par sertifikātu anulēšanas statusiem.

Papildināt Signature/Object*@Id = ”XadesObject_<signature-

id>”+/QualifyingProperties/UnsignedProperties elementu ar sekojošiem apakš

elementiem (elementi ir sīkāk aprakstīti 19. tabulā):

CompleteCertificateRefs ar informāciju par sertifikātiem, kas tika izmantoti

paraksta pārbaudes procesā.

CompleteRevocationRefs ar informāciju par sertifikātu anulēšanas statusiem.

CertificateValues ar visu izmantoto sertifikātu vērtībām XML Base64 kodējumā.

RevocationValues, kas satur:

CRLValues – anulēšanas statusu vērtības XML Base64 kodējumā;

OCSPValues – OCSP atbildes pārbaudes laikā XML Base64 kodējumā.

Ja visi soļi tika izpildīti sekmīgi, izveidot pakotnē relāciju starp parakstu pirmavota objektu,

un jaunizveidoto paraksta objektu. Gadījumā ja kādā no soļiem tika konstatēta kļūda,

paraksta objekts pakotnei netiek pievienots.

Page 38: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

34. lapa

4 Validācija

EDoc validācija sastāv no vairākām secīgam pārbaudēm. Katras pārbaudēs rezultātā tiek atgriezts viens no sekojošiem statusiem:

Derīgs – pārbaudes rezultāts ir sekmīgi;

Nav derīgs – pārbaudes rezultāts ir nesekmīgi. Šajā gadījumā lietojumprogrammai ir

jāparada lietotājam papildus informācija par kļūdu un kas to izsauca;

Nav pārbaudīts – pārbaudes rezultāts nav nesekmīgs, tomēr nav pieejama visa pārbaudei

nepieciešama informācija, lai noteiktu ka pārbaude ir sekmīga. Piemēram, nav pieejams

OCSP serviss. Šajā gadījumā EDoc var būt atkārtoti pārbaudīts vēlāk, kad būs pieejama visa

informācija. Ja validācijas rezultātā tiek konstatēts šis statuss, lietotājam jābūt parādītām

attiecīgajām ziņojumam. Tas ļauj lietotājam pašam nolemt ko darīt ar daļēji pārbaudīto

EDoc.

EDoc validācija sastāv no vairākiem soļiem, kuru laikā tiek pārbaudīta paša EDoc konteinera struktūra un visi paraksti tajā. Šie soļi ir aprakstīti 21. tabulā:

Dokuments Paraksts

Nr. Pārbaudes

apraksts

Derīgs Nav

derīgs

Nav

pārbaudīts

Derīgs Nav

derīgs

Nav

pārbaudīts

1.0 EDoc pārbaude

1.1 Pārbaudīt

dokumenta

atbilstību EDoc

faila shēmai.

Pārbaude var iziet

tikai sekmīgi, vai

nesekmīgi.

Derīgs Nav derīgs - - - -

1.2 Pārbaudīt EDoc

meta datu

atbilstību

izmantotai veidnei.

Ja lokālajā vedņu

glabātuvē (uz

lokāla diska)

veidne netiek

atrasta, tai jābūt

lejupielādētai no

noradītā URL. Ja

to neizdodas

izdarīt, pārbaudes

statuss būs „Nav

pārbaudīts”.

Derīgs Nav derīgs Derīgs ar

brīdinājumiem

- - -

2.0 Parakstu pārbaude

2.1 Pārbaudīt paraksta

struktūras

atbilstību

norādītām

paraksta tipam.

Derīgs Nav derīgs Derīgs Nav derīgs

2.2 Pārbaudīt EDoc

paraksta meta datu

atbilstību

Derīgs Derīgs ar

brīdinājumiem

Derīgs ar

brīdinājumiem

Derīgs Nav derīgs Derīgs ar

brīdinājumiem

Page 39: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

35. lapa

Dokuments Paraksts

Nr. Pārbaudes

apraksts

Derīgs Nav

derīgs

Nav

pārbaudīts

Derīgs Nav

derīgs

Nav

pārbaudīts

izmantotai veidnei.

Ja lokālajā vedņu

glabātuvē (uz

lokāla diska) nevar

atrast veidni ar

izmantoto Id, tai

jābūt lejupielādētai

no noradītā URL.

Ja to neizdodas

izdarīt, pārbaudes

statuss ir Nav

pārbaudīts.

2.3 Pārbaudīt vai

parakstītā heša

vērtība ir vienāda

ar parakstāmā

objekta heša

vērtību

Derīgs Nav derīgs Derīgs Nav derīgs

3.1 XAdES-BES un XAdES-T parakstu pārbaudes

3.1.1 Izveidot sertifikātu

ķēdi. Pārbaudīt vai

saknes sertifikāts ir

uzticams.

Derīgs Nav derīgs - Derīgs Nav derīgs

3.1.2 Pārbaudīt visu

ķēdes sertifikātu

(izņemot saknes

sertifikātu)

statusus,

izmantojot OCSP.

OCSP-R sertifikāts

tiek pārbaudīts,

izmantojot CRL.

Derīgs Nav derīgs Skat. 3.1.3 Derīgs Nav derīgs Skat. 3.1.3

3.1.3 Jā 3.1.2. soļa

rezultāts ir „Nav

pārbaudīts”,

pārbaudīt visus

sertifikātus ķēdē,

izņemot saknes

sertifikātu,

izmantojot CRL.

Derīgs Nav derīgs Nav derīgs Derīgs ar

brīdinājumiem

Nav derīgs Nav derīgs

3.2 XAdES-T paraksta pārbaudes (papildus XAdES-BES pārbaudēm)

3.2.1 Pārbaudīt laika

zīmoga integritāti:

salīdzinot paraksta

hešu ar hešu, kas

bija izmantots

uzliekot laika

zīmogu.

Derīgs Nav derīgs - Derīgs Nav derīgs

3.2.2 Pārbaudīt TSA

sertifikātu

izmantojot CRL.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

Page 40: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

36. lapa

Dokuments Paraksts

Nr. Pārbaudes

apraksts

Derīgs Nav

derīgs

Nav

pārbaudīts

Derīgs Nav

derīgs

Nav

pārbaudīts

3.3 XADES-C paraksta pārbaudes

3.3.1 Uzbūvēt sertifikātu

ķēdi izmantojot

informāciju no

XAdES-C paraksta

(pārbauda tikai to,

vai ķēde var būt

uzbūvēta.

Sertifikātu statusi

netiek pārbaudīti).

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.2 Pārbaudīt vai

saknes sertifikāts ir

uzticams.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.3 Pārbaudīt vai

XAdES-C iekļautās

OCSP atbildes

satur derīgus

statusus visiem

sertifikātiem ķēdē.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.4 Uzbūvēt OCSP-R

sertifikātu ķēdi

(ņemot OCSP

sertifikātu no

OCSP atbildes).

Pārbaudīt vai ķēde

ir derīga un vai

beidzās ar to pašu

saknes sertifikātu,

kas bija izmantots

parakstīšanas

ķēdē.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.5 Pārbaudīt ka

neviens sertifikāts

OCSP-R ķēdē nav

atsaukts,

izmantojot CRL,

kas tiek glabāti

XAdES-C (saknes

sertifikāts netiek

pārbaudīts, jo tas ir

uzticams).

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.6 Pārbaudīt laika

zīmoga integritāti,

salīdzinot paraksta

hešu ar hešu, kas

bija izmantots

uzliekot laika

zīmogu.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.6 Uzbūvēt TSA

sertifikātu ķēdi, lai

pārliecinātos ka to

var izveidot (TSA

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

Page 41: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

37. lapa

Dokuments Paraksts

Nr. Pārbaudes

apraksts

Derīgs Nav

derīgs

Nav

pārbaudīts

Derīgs Nav

derīgs

Nav

pārbaudīts

sertifikāts tiek

nolasīts no laika

zīmoga)

3.3.7 Pārbaudīt vai TSA

ķēde beidzās ar

uzticamo saknes

sertifikātu.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.8 Izmantojot CRL,

pārbaudīt ka

neviens TSA

ķēdes sertifikāts,

kas tiek glabāti

XAdES-C, nav

anulēts (saknes

sertifikāts netiek

pārbaudīts, jo tas ir

uzticams).

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.9 Pārbaudīt vai laiks

starp OCS

atbildēm

(saņemtajiem

parakstīšanas

ķēdes pārbaudes

gaitā) nav ilgāks

par labvēlības

periodu no TSA

laika zīmogā

saglabātā laika.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.10 Pārbaudīt vai CRLi

kas bija izmantoti

TSA sertifikātu

ķēdes pārbaudei,

bija derīgi TSA

laika zīmogā

saglabātajā laikā.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

3.3.11 Pārbaudīt vai CRL

kas bija izmantoti

OCSP-R sertifikātu

ķēdes pārbaudei,

bija derīgi TSA

laika zīmogā

saglabātajā laikā.

Derīgs Nav derīgs Nav derīgs Derīgs Nav derīgs Nav derīgs

Rezultāts EDoc ir

derīgs ja

visi ir

„Derīgs”.

EDoc nav

derīgs, ja

kāds no šiem

„Nav derīgs”.

Atbilstoši

augstāk

noradītām

rezultātam.

Paraksts ir

derīgs, ja visi

ir „Derīgs”.

Paraksts

nav derīgs,

ja kāds no

šiem „Nav

derīgs”.

Atbilstoši

augstāk

noradītām

rezultātam.

21. tabula: EDoc validācijas soļi

Maksimālā laika starpība starp TSA laika zīmogu un OCSP atbildi (derīguma periods) ir 3 stundas.

Ir iespējams palaist validāciju visam EDoc failam, vai tikai konkrētiem parakstiem, kad tiks izpildīta tikai daļa no pārbaudēm (tās, kas attiecas uz konkrēto parakstu).

Page 42: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

38. lapa

Iespējamie validācijas rezultāti ir:

Derīgs – EDoc (vai paraksts) ir izgājis pārbaudi un ir atzīts par;

Derīgs ar brīdinājumiem – nozīme, ka validācijas laikā dažas mazsvarīgas pārbaudes

atgrieza statusu „Nav derīgs”, vai arī „Nav pārbaudīts”. Tas ļauj lietotājam pašam pieņemt

lēmumu cik nozīmīgas ir šis validācijas kļūdas konkrētajā kontekstā, un attiecīgi ko tālāk

darīt ar šo dokumentu. Statusi ir detalizēti aprakstīti 21. tabulā.

Nav derīgs – pārbaude izieta nesekmīgi, un ir atzīts par nederīgo.

4.1 EDoc validācijas process EDoc validācija procesa posmi ir shematiski parādīti 12. attēlā.

12. attēls: EDoc validācijas posmi

Sākums

EDoc faila atvēršana

EDoc faila struktūras pārbaude

Vispārīga pābaude

Visu EDoc dokumenta meta datu sekciju

struktūras validācija

Visu EDoc dokumenta parakstu sekciju

struktūras validācija

EDoc versija ir vēcāka par «1.01»?

Kļūda ar informāciju par veco EDoc

versiju

Visu EDoc dokumenta meta datu sekciju

pārbaude

Visu EDoc dokumenta parakstu sekciju

pārbaude

Beigas

Meta datu sekciju pārbaudes rezultātā tika konstatētas kļūdas?

NēMeta datu sekciju pārbaudes kļūda

Parakstu sekciju pārbaudes rezultātā tika konstatētas kļūdas?

NēParakstu sekciju pārbaudes kļūda

Parakstu sekciju struktūras pārbaudes rezultātā tika konstatētas kļūdas?

Parakstu sekciju struktūras

pārbaudes kļūda

Meta datu sekciju struktūras pārbaudes rezultātā tika konstatētas

kļūdas?

Meta datu sekciju struktūras

pārbaudes kļūda

Vispārīgas pārbaudes rezultātā tika konstatētas kļūdas?

NēVispārīgas

pārbaudes kļūda

Faila struktūras pārbaudes rezultātā tika konstatētas kļūdas?

Faila struktūras pārbaudes kļūda

Faila atvēršanas laikā tika konstatētas kļūdas?

NēFaila atvēršanas

kļūda

Page 43: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

39. lapa

EDoc faila atvēršanas soļi un iespējamas kļūdas ir parādītas 13. attēlā.

Manifesta faila esamības pārbaude

Manifesta fails pastāv?

Beigas

«EDoc\docProps» direktorija esamības

pārbaude

Direktorija «EDoc\docProps» pastāv?

Faila atvēršanas kļūda

«EDoc\Documents» direktorijas

esamības pārbaude

Direktorija «EDoc\Documents» pastāv?

«EDoc\Signature» direktorijas

esamības pārbaude

Direktorija «EDoc\Signature» pastāv?

Sākums

13. attēls: EDoc faila atvēršanas soļi

EDoc faila struktūras pārbaudes soļi un iespējamas kļūdas ir parādītas 14. attēlā.

Page 44: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

40. lapa

14. attēls: EDoc faila struktūras pārbaudes soļi

Beigas

«docProps» direktorija esamības

pārbaude

Direktorija «docProps» pastāv?

Kļūda ar informāciju par trūkstošo

direktoriju

«Edoc\_rels» direktorijas

esamības pārbaude

Direktorija «Edoc\_rels» pastāv?

«EDoc\Documents» direktorijas

esamības pārbaude

Direktorija «EDoc\Documents» pastāv?

Sākums

«Edoc\docProps» direktorijas

esamības pārbaude

Direktorija «Edoc\docProps» pastāv?

«Edoc\Signatures» direktorijas

esamības pārbaude

Direktorija «Edoc\Signatures» pastāv?

«Edoc\Signatures_rels»

direktorijas esamības pārbaude

Direktorija «Edoc\Signatures_rels» pastāv?

«EDoc\Signatures\origin.sgns» faila

esamības pārbaude

Fails «EDoc\Signatures\origin.sgns» pastāv?

«EDoc\Signatures_rels\origin.sgns.rels» faila nosaukuma

pievienošana obligāto failu sarakstam

· «[Content_Types].xml»· «EDoc\manifest.xml»· «_rels\.rels»· «EDoc\_rels\manifest.xml.rels»failu nosaukumu pievienošana obligāto failu sarakstam

Pārbaude vai faili ar nosaukumiem obligāto failu

sarakstā pastāv

Pārbaude vai faili ar nosaukumiem obligāto failu

sarakstā pastāv

Kļūda ar informāciju par trūkstošo failu

Faila «[Content_Types].xml» deserializācijas mēģinājums ar

shēmas «opc-contenttypes.xsd» izmantošanu

Failu «[Content_Types].xml» izdevās deserializēt

Faila «_rels\.rels» deserializācijas mēģinājums ar shēmas «opc-

relationships.xsd» izmantošanu

Failu «_rels\.rels» izdevās deserializēt

Faila «EDoc\_rels\manifest.xml.rels» deserializācijas mēģinājums ar

shēmas «opc-relationships.xsd» izmantošanu

Failu «EDoc\_rels\manifest.xml.rels» izdevās deserializēt

Kļūda ar informāciju par bojāto faila

saturu

Faila «Edoc\manifest.xml» ielādēšanas un deserializācijas

mēģinājums

Failu «Edoc\manifest.xml» izdevās ielādēt un deserializēt

Iestāda pazīmi, ka EDoc ir parakstīts

Pārbaude vai visi atsauces faili, minētie failā «_rels\.rels» ir

atrodami Edoc’ā

Vai visi atsauces faili tika atrasti

Pārbaude vai visi atsauces faili, minētie failā «EDoc\_rels\

manifest.xml.rels» ir atrodami Edoc’ā

Vai visi atsauces faili tika atrasti

Kļūda ar informāciju par trūkstošo failu

Vai pazīme, ka EDoc ir parakstīts ir iestādīta?

Pārbaude vai visi atsauces faili, minētie failā «EDoc\

Signatures_rels\origin.sgns.rels» ir atrodami Edoc’ā

Vai visi atsauces faili tika atrasti

EDoc faktiski esošo failu skaita noteikšana

Vai EDoc faktiski esošo failu skaits pārsniedz to, kuram tajā ir jābūt?

Kļūda ar informāciju par to, ka EDoc'ā atrodas liekie papildus

faili.

Page 45: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

41. lapa

EDoc vispārīgas pārbaudes soļi un iespējamas kļūdas ir parādītas 15. attēlā.

15. attēls: EDoc vispārīgas pārbaudes soļi

Sākums

Manifesta derīguma pārbaude atbilstoši sekojošiem nosacījumiem:· Manifests tika atrasts EDoc'ā;· Ir norādīts dokumenta tips;· Ir norādīts veidnes identifikators;· Ir norādīta dokumenta versija.

Visas manifesta derīguma pārbaudes ir izpildītas veiksmīgi?

Kļūda ar informāciju par nederīgo manifestu

Meta datu sekciju skaits ir mazāks par 3?

Kļūda ar informāciju par EDoc'ā trūkstošiem failiem

Vai meta datu sekciju skaits ir lielāks par 3?

Kļūda ar informāciju par to, ka EDoc'ā atrodas liekie

papildus faili.

Papildus veidnes identifikators ir vienāds ar bāzes vai centrālas veidnes identifikatoru?

Kļūda ar informāciju par nederīgo veidni

EDoc bāzes veidnes identifikators ir vienāds ar noklusēto bāzes veidnes

identifikatoru?

EDoc centrālas veidnes identifikators ir vienāds ar noklusēto centrālas veidnes

identifikatoru?

EDoc versija ir vēcāka par «1.01»

Brīdinājums par veco EDoc versiju

Beigas

Page 46: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

42. lapa

EDoc metadatu sekciju struktūras validācijas soļi un iespējamas kļūdas ir parādītas 16. attēlā.

16. attēls: EDoc metadatu sekciju struktūras validācijas soļi

EDoc parakstu sekciju validācijas soļi un iespējamas kļūdas ir parādītas 17. attēlā.

17. attēls: EDoc parakstu sekciju validācijas soļi

Sākums

Meta datu sekcijas veidnes īpašība satur atsauci uz veidni?

Kļūda ar informāciju par to, ka veidne netika atrasta

Meta datu īpašības ir ielādētas no EDoc faila?

Meta datu īpašību ielāde no EDoc faila

Meta datu sekcijas īpašības tika atrastas EDoc'ā?

Beigas

Kļūda ar informāciju par bojāto EDoc

faila saturu

Sākums

EDoc dokumenta paraksta sekcijas ielāde

Paraksta sekcijas ielādes laikāir konstatētas kļūdas?

Beigas

Kļūda ar informāciju par bojāto EDoc

faila saturu

Page 47: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

43. lapa

EDoc katras metadatu sekcijas pārbaudes soļi un iespējamas kļūdas ir parādītas 18. attēlā.

18. attēls: EDoc metadatu sekcijas pārbaudes soļi

Sākums

Veidne pastāv un nav ģenerēta?

Kļūda ar informāciju par to, ka veidne

netika atrasta.

Veidnes īpašības vērtības nolasīšana (jā vērtības nav, tiek paņemta

noklusēta īpašības vērtība)

Īpašība ir obligāta un tās vērtība ir tukša?

Kļūda ar informāciju par to, ka obligātas īpašības vērtība

netika atrasta

Īpašība ir izvēles tipa īpašībaun tai ir iestādīta vērtība?

Iestādīta īpašībasvērtība ir derīga saskaņā ar

veidnes definīciju?

Kļūda ar informāciju par to, ka īpašības vērtība nav derīga

Vai visas sekcijas īpašības ir atrodamas veidnē?

Kļūda ar informāciju par lieko, veidnē

nedefinēto īpašību

Beigas

Page 48: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

44. lapa

EDoc paraksta sekcijas validācijas soļi un iespējamas kļūdas ir parādītas 19. attēlā.

19. attēls: EDoc paraksta sekcijas pārbaudes soļi

Sākums

Sekcijas pārbaudes laikā ir identificētas kļūdas?

Paraksta sekcijas integritātes

pārbaudes kļūda

Sekcijas, kuram ir jābūt parakstītam nav parakstītas?

Sekcijas, kuram nav jābūt parakstītam ir parakstītas?

Kļūda ar informāciju par to, ka sekcijas obligātas

parakstīšanai nav parakstītas

Kļūda ar informāciju par to, ka nezināmas sekcijas ir

parakstītas

Parakstu sekcijas meta datu pārbaudes rezultātā ir konstatētas

kļūdas?

Kļūda ar informāciju par paraksta sekcijas meta

datu validācijas noteikumu neizpildīšanu

Sekcijas pārbaudes laika tika noteikts, ka parakstīta sekcija tika mainīta pēc

parakstīšanas?

Sekcijas integritātes pārkāpuma kļūda

Parakstam izmantoto sertifikātu nolūks ir «DigitalSignature» vai «NonRepudiation»?

Kļūda ar informāciju par sertifikātu ar nepiederošo nolūku

izmantošanu

Paraksta tips nav «Bāzes»?

Paraksta laika zīmoga pārbaudes:· Vai laika zīmogs pastāv;· Laika zīmoga integritāte - vai tas netika mainīts kopš

izsniegšanas brīža un vai tas tika izsniegts pārbaudāmām parakstam (tā heša vērtībai).

Nē Laika zīmogs nav atrasts vai ir modificēts pēc parakstīšanas?

Kļūda ar informāciju par to, ka laika zīmogs nav atrasts vai tika

mainīts pēc parakstīšanas.

Paraksta tips nav «Pilnīgi pārbaudīts»?

Parakstīšanas sertifikāta pārbaudes:· Uzbūvējot sertifikātu ķēdi· Izmantojot OCSP servisu

Parakstīšanas sertifikāta pārbaudes norāda uz to, ka tas nav derīgs?

Kļūda ar informāciju par to, ka EDoc paraksts nav derīgs

Pilna «XAdES-C» formāta paraksta pārbaude:· OCSP atbildes paraksta integritātes

pārbaude ar sertifikātiem;· Laika zīmoga paraksta integritātes

pārbaude ar sertifikātiem;

Beigas

Parakstīšanas sertifikāta, OCSP vai laikazīmoga derīguma pārbaude norāda uz to, ka kaut

viena no pārbaudītām vienībām nav derīga vai tika mainīta pēc parakstīšanas

Veic sekcijas integritātes pārbaudi

Parakstīto sekciju sarakta pārbaude

Parakstu sekciju meta datu pārbaude

Parakstīto sekciju integritātes pārbaude - pārbauda vai sekciju saturs bija mainījies pēc parakstīšanas

izrēķinot tā heša vērtību un salīdzinot ar saglabāto

Page 49: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

45. lapa

5 Pielikumi

Page 50: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

46. lapa

5.1 Veidnes EDoc veidnes apraksta EDoc meta datus un parakstus. Ar veidņu mehānismu palīdzību var definēt kontekstam specifiskus meta datus dažādiem dokumentu veidiem. Šie meta dati tiks glabāti dokumenta papildus īpašību sekcijā, vai pie parakstiem. Papildus, var noradīt kāda tipa paraksti var būt izmantoti ar konkrēto dokumenta veidu. Veidne ir XML dokuments, kas atbilst EDoc veidnes shēmai (5.10. pielikums). Veidnes tiek glabātas failos ar paplašinājumu „.edot”.

Veidne satur sekojošo informāciju:

Veidnes unikālais identifikators;

Vispārēja informācija par veidni (organizācijas nosaukums, veidnes apraksts un versija);

Sekcijas nosaukums kurā tiks glabātas veidnē nodefinētas papildus īpašības;

URL adrese kas norada uz veidnes oriģinālo versiju;

Īpašību saraksts. Katrai īpašībai veidnē tiek definēts nosaukums, XML vārdu telpa, datu

tips, atļautas vērtības, vai īpašība ir obligāta, un vai lietotājs var mainīt tās vērtību.

Atļauto parakstu saraksts (neobligāti). Katram parakstam tiek definēts nosaukums un

paraksta īpašību kopa.

Papildus metadatu atbilstība veidnei tiek pārbaudīta EDoc validācijas procesā.

Organizācijas veidnes var būt glabātas centralizētā tīmekļa vietā. Alternatīvi, veidnes var būt glabātas uz failu servera. Klienta lietojumprogramma lejupielādē veidnes no noradītā URL un saglabā lokālajā glabātuvē. Veidnes nekad netiek saglabātas kā daļa no EDoc dokumenta.

Dokumenta tips, kas unikāli identificē veidni un tās oriģinālo atrašanas vietu, tiek noradīts EDoc manifesta <DocumentType> un <TemplateLocation> elementos. Šī faila struktūra ir aprakstīta sadaļā 3.4. Manifesta fails. <DocumentType> ir URN kas definē relāciju starp dokumentu un atbilstošo veidni.

Katrai jābūt piešķirtam unikālam URN identifikatoram. Papildus, katrai veidnei jābūt noradītām sectionName atribūtam. Šis atribūts apraksta nosaukumu, ar kādu EDoc pakotnei tiks pievienots fails papildus īpašību glabāšanai.

Veidnes centrālām un bāzes īpašībām ir iekļautas EDoc bibliotēkā, tāpēc tas netiek lejupielādētas no noradītas URL adreses.

Lejupielādētās veidņu kopijas tiek saglabātas lokālajā keša glabātuve. Tā atrodas „eParakstitajs” apakšdirektorijā iekš lietotāja noklusējuma Windows veidņu direktorijas. Lai atrastu atbilstošo veidni, klienta lietojumprogramma:

Meklē to lokālajā keša glabātuvē, pēc noradīta identifikatora (URN);

Ja veidne netiek atrast, lietojumprogramma parāda lietotājam brīdinājumu, ka veidne nav

atrasta, un prasa vai lejupielādēt to no adreses, kas ir noradīta iekš EDoc manifesta;

Ja lietotājs atteicās lejupielādēt veidni, lietojumprogrammai jāizmanto noklusējuma

centrālas un bāzes īpašības;

Ja lietotājs piekrīt lejupielādēt veidni, lietojumprogramma lejupielāde veidni un saglabā to

lokālajā glabātuvē.

Ja veidne nevar būt lejupielādēta no noradītas URL adreses, tiek izmantota tukšā EDoc īpašību veidne (5.7. pielikums). Šī veidne nesatur nekādu īpašību.

Page 51: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

47. lapa

5.2 Open XML satura tipu shēma <?xml version="1.0" encoding="utf-8"?> <xsd:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/content-types" elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.openxmlformats.org/package/2006/content-types" xmlns:odoc="http://schemas.microsoft.com/office/internal/2005/internalDocumentation"> <xsd:element name="Types" type="CT_Types"> <xsd:annotation> <xsd:documentation>Part Content Types</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="CT_Types"> <xsd:annotation> <xsd:documentation>Types Complex Type</xsd:documentation> </xsd:annotation> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="Default" type="CT_Default"> <xsd:annotation> <xsd:documentation>Default Content Type</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Override" type="CT_Override"> <xsd:annotation> <xsd:documentation>Content Type Override</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> </xsd:complexType> <xsd:complexType name="CT_Default"> <xsd:annotation> <xsd:documentation>Default Content Type definition</xsd:documentation> </xsd:annotation> <xsd:attribute name="Extension" type="ST_Extension" use="required" /> <xsd:attribute name="ContentType" type="ST_ContentType" use="required" /> </xsd:complexType> <xsd:complexType name="CT_Override"> <xsd:annotation> <xsd:documentation>Override Complex Type</xsd:documentation> </xsd:annotation> <xsd:attribute name="ContentType" type="ST_ContentType" use="required" /> <xsd:attribute name="PartName" type="xsd:anyURI" use="required" /> </xsd:complexType> <xsd:simpleType name="ST_ContentType"> <xsd:restriction base="xsd:string"> <xsd:whiteSpace value="collapse" /> <xsd:pattern value="((([^\p{Cc}•\(\)&lt;&gt;@,;:\\&quot;/\[\]\?=\{\}\s\t]+))/(([^\p{Cc}•\(\)&lt;&gt;@,;:\\&quot;/\[\]\?=\{\}\s\t]+))((\s+)*;(\s+)*((([^\p{Cc}•\(\)&lt;&gt;@,;:\\&quot;/\[\]\?=\{\}\s\t]+))=(([^\p{Cc}•\(\)&lt;&gt;@,;:\\&quot;/\[\]\?=\{\}\s\t]+)|(&quot;(([^\p{Cc}•&quot;\n\r]|(\s+))|(\\[\p{IsBasicLatin}]))*&quot;))))*)" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="ST_Extension"> <xsd:restriction base="xsd:string"> <xsd:pattern value="([!$&amp;'\(\)\*\+,:=]|(%[0-9a-fA-F][0-9a-fA-F])|[:@]|[a-zA-Z0-9\-_~])*" /> </xsd:restriction> </xsd:simpleType> </xsd:schema>

Page 52: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

48. lapa

5.3 Open XML saišu faila shēma <?xml version="1.0" encoding="utf-8"?> <xsd:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/relationships" blockDefault="#all" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:rs="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:odoc="http://schemas.microsoft.com/office/internal/2005/internalDocumentation"> <xsd:element name="Relationships" type="rs:CT_Relationships"> <xsd:annotation> <xsd:documentation>Package Relationships</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="CT_Relationships"> <xsd:annotation> <xsd:documentation>Relationships XML Element</xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element ref="rs:Relationship" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation>Package Relationship</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="Relationship" type="rs:CT_Relationship"> <xsd:annotation> <xsd:documentation>Relationship XML Element</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="CT_Relationship"> <xsd:annotation> <xsd:documentation>Package Relationship Type</xsd:documentation> </xsd:annotation> <xsd:attribute name="TargetMode" type="rs:ST_TargetMode" use="optional" default="Internal"> <xsd:annotation> <xsd:documentation>Relationship Target Mode</xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="Target" type="xsd:anyURI" use="required"> <xsd:annotation> <xsd:documentation>Relationship XML Attributes Reference</xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="Type" type="xsd:anyURI" use="required"> <xsd:annotation> <xsd:documentation>Relationship XML Attributes Reference</xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="Id" type="xsd:ID" use="required"> <xsd:annotation> <xsd:documentation>Relationship XML Attributes Reference</xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> <xsd:simpleType name="ST_TargetMode"> <xsd:annotation> <xsd:documentation>Relationship XML TargetMode type</xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:string"> <xsd:enumeration value="External"> <xsd:annotation> <xsd:documentation>Relationship XML Attributes Reference</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="Internal"> <xsd:annotation> <xsd:documentation>Relationship XML Attributes Reference</xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType> </xsd:schema>

Page 53: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

49. lapa

5.4 Edoc manifesta faila shēma <?xml version="1.0" encoding="utf-8"?> <xs:schema id="Manifest" targetNamespace="http://schemas.microsoft.com/edoc/2006/manifest" elementFormDefault="unqualified" xmlns="http://schemas.microsoft.com/edoc/2006/manifest" xmlns:mstns="http://schemas.microsoft.com/edoc/2006/manifest" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Manifest"> <xs:complexType> <xs:sequence> <xs:element name="DocumentType" type="xs:string" /> <xs:element name="TemplateLocation" type="xs:string" /> <xs:element name="Format" type="xs:string" /> <xs:element name="Version" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Page 54: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

50. lapa

5.5 EDoc centrālā veidne <?xml version="1.0" encoding="utf-8" ?> <t:EdocTemplate id="URN:MICROSOFT:LV:EDOCTEMPLATE:CORE" sectionName="Core" url="http://schemas.microsoft.com/edoc/2006/Core.template.xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/edoc/2006/EdocTemplate.xsd" xsi:schemaLocation="http://schemas.microsoft.com/edoc/2006/EdocTemplate.xsd ..\schemas\EdocTemplate.xsd"> <t:info> <t:organization>Latvian Post</t:organization> <t:description>eDoc template - core properties</t:description> <t:version>1</t:version> </t:info> <t:namespace prefix="dc" url="http://purl.org/dc/elements/1.1/"/> <t:namespace prefix="opc" url="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"/> <t:properties> <t:property name="Created" dataType="text" description="Creation date/time" mandatory="true" readonly="true" namespace="dc" defaultValue="01-Sep-2006 00:00:00"/> <t:property name="Language" dataType="text" description="Document language" mandatory="true" readonly="true" namespace="dc" defaultValue="English"/> <t:property name="Last_Modified_By" dataType="text" description="Last Modified By" mandatory="true" readonly="true" namespace="opc" defaultValue="user"/> <t:property name="Modified" dataType="text" description="Last modification date" mandatory="true" readonly="true" namespace="dc" defaultValue="01-Sep-2006 00:00:00"/> <t:property name="Revision" dataType="text" description="Revision Number" mandatory="false" readonly="true" namespace="opc" defaultValue="1"/> <t:property name="Title" dataType="text" description="Title" mandatory="false" namespace="dc" defaultValue="Default Title"/> <t:property name="Version" dataType="text" description="Version" mandatory="false" namespace="dc" defaultValue="1"/> <t:property name="Creator" dataType="text" description="Author name" mandatory="false" namespace="dc" defaultValue="user"/> </t:properties> </t:EdocTemplate>

Page 55: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

51. lapa

5.6 EDoc bāzes veidne <?xml version="1.0" encoding="utf-8" ?> <t:EdocTemplate id="URN:MICROSOFT:LV:EDOCTEMPLATE:BASE" sectionName="Base" url="http://schemas.microsoft.com/edoc/2006/Base.template.xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/edoc/2006/EdocTemplate.xsd" xsi:schemaLocation="http://schemas.microsoft.com/edoc/2006/EdocTemplate.xsd ..\Schemas\EdocTemplate.xsd"> <t:info> <t:organization>Latvian Post</t:organization> <t:description>eDoc template - base properties</t:description> <t:version>1</t:version> </t:info> <t:namespace prefix="edoc" url="http://schemas.microsoft.com/edoc/2006/metadata"/> <t:properties> <t:property name="eDoc_Format" dataType="text" description="eDoc Format version" mandatory="true" readonly="true" namespace="edoc" defaultValue="0.0.1"/> </t:properties> </t:EdocTemplate>

Page 56: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

52. lapa

5.7 EDoc tukšā veidne <?xml version="1.0" encoding="utf-8" ?> <t:EdocTemplate id="URN:MICROSOFT:LV:EDOCTEMPLATE:EXTENDED" sectionName="Papildus īpašības" url="http://schemas.microsoft.com/edoc/2006/Extended.template.xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/edoc/2006/EdocTemplate.xsd" xsi:schemaLocation="http://schemas.microsoft.com/edoc/2006/EdocTemplate.xsd EdocTemplate.xsd"> <t:info> <t:organization>Latvian Post</t:organization> <t:description>Tukša veidne</t:description> <t:version>1</t:version> </t:info> <t:namespace prefix="extended" url="http://schemas.microsoft.com/edoc/2006/extended-section"/> <t:properties> </t:properties> </t:EdocTemplate>

Page 57: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

53. lapa

5.8 EDoc parakstāmā objekta sekcijas shēma <?xml version="1.0" encoding="utf-8"?> <xs:schema id="signature_properties" targetNamespace="http://schemas.microsoft.com/edoc/2006/signature_properties.xsd" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/edoc/2006/signature_properties.xsd" xmlns:mstns="http://schemas.microsoft.com/edoc/2006/signature_properties.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="signature_properties"> <xs:complexType> <xs:sequence> <xs:element name="property_type" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> </xs:sequence> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="value" type="xs:string" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="level_type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Basic" /> <xs:enumeration value="Timestamped" /> <xs:enumeration value="Verified" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="sigType" type="xs:string" /> </xs:complexType> </xs:element> </xs:schema>

Page 58: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

54. lapa

5.9 EDoc paraksta īpašību shēma <?xml version="1.0" encoding="utf-8"?> <xs:schema id="signature_properties" targetNamespace="http://schemas.microsoft.com/edoc/2006/signature_properties.xsd" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/edoc/2006/signature_properties.xsd" xmlns:mstns="http://schemas.microsoft.com/edoc/2006/signature_properties.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="signature_properties"> <xs:complexType> <xs:sequence> <xs:element name="property_type" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> </xs:sequence> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="value" type="xs:string" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="level_type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Basic" /> <xs:enumeration value="Timestamped" /> <xs:enumeration value="Verified" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="sigType" type="xs:string" /> </xs:complexType> </xs:element> </xs:schema>

Page 59: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

55. lapa

5.10 EDoc veidnes shēma <?xml version="1.0" encoding="utf-8"?> <xs:schema id="EdocTemplate" targetNamespace="http://schemas.microsoft.com/edoc/2006/EdocTemplate.xsd" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/edoc/2006/EdocTemplate.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="templateInfo" type="TemplateInfo"> </xs:element> <xs:simpleType name="AllowedTypes"> <xs:restriction base="xs:string"> <xs:enumeration value="text" /> </xs:restriction> </xs:simpleType> <xs:complexType name="Choice"> <xs:sequence> <xs:element name="value" type="xs:string" minOccurs="1" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="allowUserValues" type="xs:boolean" default="false" use="optional" /> </xs:complexType> <xs:element name="EdocTemplate"> <xs:complexType> <xs:sequence> <xs:element name="info" type="TemplateInfo" maxOccurs="1" minOccurs="1" nillable="false" /> <xs:element name="namespace" type="NamespaceType" maxOccurs="unbounded" minOccurs="0"> </xs:element> <xs:element name="properties" type="PropertyList" maxOccurs="1" minOccurs="1"> </xs:element> <xs:element name="restrictions" maxOccurs="1" minOccurs="0" type="TemplateRestrictions" nillable="true"> </xs:element> <xs:element name="signatures" type="SignatureTypes" nillable="true" minOccurs="0" maxOccurs="1"> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required" /> <xs:attribute name="sectionName" type="xs:string" default="Extended" /> <xs:attribute name="url" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:complexType name="TemplateInfo"> <xs:sequence> <xs:element name="organization" type="xs:string" minOccurs="1" maxOccurs="1" /> <xs:element name="description" type="xs:string" maxOccurs="1" minOccurs="1" /> <xs:element name="version" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="TemplateProperty"> <xs:sequence> <xs:element name="choice" nillable="false" type="Choice" maxOccurs="1" minOccurs="0"> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:NCName" use="required" /> <xs:attribute name="mandatory" type="xs:boolean" use="optional" default="false" /> <xs:attribute name="dataType" type="AllowedTypes" use="optional" default="text"> </xs:attribute> <xs:attribute name="description" type="xs:string" use="required" /> <xs:attribute name="readonly" type="xs:boolean" /> <xs:attribute name="namespace" type="xs:string" /> <xs:attribute name="defaultValue" type="xs:string" /> </xs:complexType> <xs:complexType name="PropertyList"> <xs:sequence> <xs:element name="property" type="TemplateProperty" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="TemplateRestrictions"> <xs:sequence> <xs:element name="maxSignatures" type="xs:int" default="0" minOccurs="0" maxOccurs="1" nillable="false" /> <xs:element name="maxDocuments" type="xs:int" nillable="false" default="0" minOccurs="0" maxOccurs="1" /> <xs:element name="maxSizeMb" type="xs:int" nillable="false" default="0" minOccurs="0" maxOccurs="1" />

Page 60: Lvrtc Edoc Specification v1 0

Sagatavots LVRTC

56. lapa

<xs:element name="minSignatures" type="xs:int" nillable="false" default="0" minOccurs="0" maxOccurs="1"> </xs:element> <xs:element name="minDocuments" type="xs:int" nillable="false" default="0" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> <xs:complexType name="SignatureTypes"> <xs:sequence> <xs:element name="customTypes" type="SignatureType" minOccurs="0" maxOccurs="unbounded"> </xs:element> </xs:sequence> <xs:attribute name="simpleSignatureAllowed" type="xs:boolean" default="true" use="optional" /> </xs:complexType> <xs:complexType name="SignatureType"> <xs:sequence> <xs:element name="properties" type="PropertyList" /> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="basic_sig_allowed" type="xs:boolean" use="optional" default="true" /> <xs:attribute name="timestamped_sig_allowed" type="xs:boolean" default="true" use="optional" /> <xs:attribute name="verified_sig_allowed" type="xs:boolean" default="true" use="optional" /> </xs:complexType> <xs:complexType name="NamespaceType"> <xs:sequence> </xs:sequence> <xs:attribute name="prefix" type="xs:string" /> <xs:attribute name="url" type="xs:string" /> </xs:complexType> </xs:schema>