Lvrtc Edoc Specification v1 0
description
Transcript of 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
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
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
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
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
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).
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)
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ī
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.
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ī.
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.
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.
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
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
Jā
/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
Jā
/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ē
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.
Jā
/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.
Jā
/EDoc/Documents/*
.*
Parakstāmie dokumenti http://schemas.microsoft.com/edoc/2006
/document
Jā
/EDoc/Signautes/sig
natureN.xml
EDoc paraksta objekts http://schemas.microsoft.com/edoc/2006
/signature
Nē
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
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.
Jā
ContentType Satura tipa nosaukums atbilstoši RFC 2616.
Norada kāda satura tipa asociācija tiks izveidota
atbilstošiem objektiem.
Jā
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.
Jā
ContentType Satura tipa nosaukums atbilstoši RFC 2616 [2].
Norada kāda satura tipa asociācija tiks izveidota
atbilstošiem objektiem.
Jā
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:
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ā.
Jā
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].
Jā
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):
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:
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
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ā.
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>;
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
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:
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
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.
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
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ā.
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
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.
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.
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ā
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ā:
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ā.
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
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.
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.
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
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
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
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).
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
Jā
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
Jā
Parakstu sekciju pārbaudes rezultātā tika konstatētas kļūdas?
NēParakstu sekciju pārbaudes kļūda
Jā
Parakstu sekciju struktūras pārbaudes rezultātā tika konstatētas kļūdas?
Nē
Parakstu sekciju struktūras
pārbaudes kļūda
Jā
Meta datu sekciju struktūras pārbaudes rezultātā tika konstatētas
kļūdas?
Nē
Meta datu sekciju struktūras
pārbaudes kļūda
Jā
Vispārīgas pārbaudes rezultātā tika konstatētas kļūdas?
NēVispārīgas
pārbaudes kļūda
Jā
Faila struktūras pārbaudes rezultātā tika konstatētas kļūdas?
Nē
Faila struktūras pārbaudes kļūda
Jā
Faila atvēršanas laikā tika konstatētas kļūdas?
NēFaila atvēršanas
kļūda
Jā
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
Jā
Direktorija «EDoc\docProps» pastāv?
Faila atvēršanas kļūda
Nē
Nē
«EDoc\Documents» direktorijas
esamības pārbaude
Jā
Direktorija «EDoc\Documents» pastāv?
Nē
«EDoc\Signature» direktorijas
esamības pārbaude
Jā
Direktorija «EDoc\Signature» pastāv?
Nē
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ā.
Sagatavots LVRTC
40. lapa
14. attēls: EDoc faila struktūras pārbaudes soļi
Beigas
«docProps» direktorija esamības
pārbaude
Jā
Direktorija «docProps» pastāv?
Kļūda ar informāciju par trūkstošo
direktoriju
Nē
«Edoc\_rels» direktorijas
esamības pārbaude
Jā
Direktorija «Edoc\_rels» pastāv?
Nē
«EDoc\Documents» direktorijas
esamības pārbaude
Jā
Direktorija «EDoc\Documents» pastāv?
Nē
Sākums
«Edoc\docProps» direktorijas
esamības pārbaude
Jā
Direktorija «Edoc\docProps» pastāv?
«Edoc\Signatures» direktorijas
esamības pārbaude
Jā
Direktorija «Edoc\Signatures» pastāv?
«Edoc\Signatures_rels»
direktorijas esamības pārbaude
Jā
Direktorija «Edoc\Signatures_rels» pastāv?
Nē
Nē
Nē
«EDoc\Signatures\origin.sgns» faila
esamības pārbaude
Jā
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
Nē
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
Nē
Faila «[Content_Types].xml» deserializācijas mēģinājums ar
shēmas «opc-contenttypes.xsd» izmantošanu
Jā
Failu «[Content_Types].xml» izdevās deserializēt
Faila «_rels\.rels» deserializācijas mēģinājums ar shēmas «opc-
relationships.xsd» izmantošanu
Jā
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
Jā
Failu «EDoc\_rels\manifest.xml.rels» izdevās deserializēt
Kļūda ar informāciju par bojāto faila
saturu
Nē
Nē
Nē
Faila «Edoc\manifest.xml» ielādēšanas un deserializācijas
mēģinājums
Jā
Failu «Edoc\manifest.xml» izdevās ielādēt un deserializēt
Nē
Iestāda pazīmi, ka EDoc ir parakstīts
Jā
Pārbaude vai visi atsauces faili, minētie failā «_rels\.rels» ir
atrodami Edoc’ā
Jā
Vai visi atsauces faili tika atrasti
Pārbaude vai visi atsauces faili, minētie failā «EDoc\_rels\
manifest.xml.rels» ir atrodami Edoc’ā
Jā
Vai visi atsauces faili tika atrasti
Kļūda ar informāciju par trūkstošo failu
Nē
Nē
Vai pazīme, ka EDoc ir parakstīts ir iestādīta?
Jā
Pārbaude vai visi atsauces faili, minētie failā «EDoc\
Signatures_rels\origin.sgns.rels» ir atrodami Edoc’ā
Jā
Vai visi atsauces faili tika atrasti
Nē
EDoc faktiski esošo failu skaita noteikšana
Jā
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.
Jā
Nē
Nē
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
Nē
Meta datu sekciju skaits ir mazāks par 3?
Jā
Kļūda ar informāciju par EDoc'ā trūkstošiem failiem
Jā
Vai meta datu sekciju skaits ir lielāks par 3?
Nē
Kļūda ar informāciju par to, ka EDoc'ā atrodas liekie
papildus faili.
Jā
Papildus veidnes identifikators ir vienāds ar bāzes vai centrālas veidnes identifikatoru?
Nē
Kļūda ar informāciju par nederīgo veidni
Jā
EDoc bāzes veidnes identifikators ir vienāds ar noklusēto bāzes veidnes
identifikatoru?
Nē
Nē
EDoc centrālas veidnes identifikators ir vienāds ar noklusēto centrālas veidnes
identifikatoru?
Jā
Nē
EDoc versija ir vēcāka par «1.01»
Jā
Brīdinājums par veco EDoc versiju
Jā
Beigas
Nē
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?
Jā
Kļūda ar informāciju par to, ka veidne netika atrasta
Nē
Meta datu īpašības ir ielādētas no EDoc faila?
Meta datu īpašību ielāde no EDoc faila
Nē
Meta datu sekcijas īpašības tika atrastas EDoc'ā?
Jā
Beigas
Jā
Kļūda ar informāciju par bojāto EDoc
faila saturu
Nē
Sākums
EDoc dokumenta paraksta sekcijas ielāde
Paraksta sekcijas ielādes laikāir konstatētas kļūdas?
Beigas
Nē
Kļūda ar informāciju par bojāto EDoc
faila saturu
Jā
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.
Nē
Veidnes īpašības vērtības nolasīšana (jā vērtības nav, tiek paņemta
noklusēta īpašības vērtība)
Jā
Ī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
Jā
Īpašība ir izvēles tipa īpašībaun tai ir iestādīta vērtība?
Nē
Iestādīta īpašībasvērtība ir derīga saskaņā ar
veidnes definīciju?
Jā
Kļūda ar informāciju par to, ka īpašības vērtība nav derīga
Nē
Vai visas sekcijas īpašības ir atrodamas veidnē?
Jā
Kļūda ar informāciju par lieko, veidnē
nedefinēto īpašību
Nē
Nē
Beigas
Jā
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
Jā
Nē
Sekcijas, kuram ir jābūt parakstītam nav parakstītas?
Sekcijas, kuram nav jābūt parakstītam ir parakstītas?
Nē
Kļūda ar informāciju par to, ka sekcijas obligātas
parakstīšanai nav parakstītas
Jā
Kļūda ar informāciju par to, ka nezināmas sekcijas ir
parakstītas
Jā
Nē
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
Jā
Nē
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
Jā
Nē
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
Nē
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).
Jā
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.
Jā
Paraksta tips nav «Pilnīgi pārbaudīts»?
Nē
Parakstīšanas sertifikāta pārbaudes:· Uzbūvējot sertifikātu ķēdi· Izmantojot OCSP servisu
Jā
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
Jā
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;
Nē
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
Jā
Nē
Nē
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
Sagatavots LVRTC
45. lapa
5 Pielikumi
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.
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}•\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]+))/(([^\p{Cc}•\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]+))((\s+)*;(\s+)*((([^\p{Cc}•\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]+))=(([^\p{Cc}•\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]+)|("(([^\p{Cc}•"\n\r]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="ST_Extension"> <xsd:restriction base="xsd:string"> <xsd:pattern value="([!$&'\(\)\*\+,:=]|(%[0-9a-fA-F][0-9a-fA-F])|[:@]|[a-zA-Z0-9\-_~])*" /> </xsd:restriction> </xsd:simpleType> </xsd:schema>
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>
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>
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>
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>
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>
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>
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>
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" />
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>