DigiDoc teegid – C++ teek – libdigidocpp

Alates ID-tarkvara versioonist 3.8 lisandus arendajatele ja integraatoritele kasutamiseks mõeldud teekide hulka täiendav multiplatvormne libdigidocpp teek.

Antud teek on mõeldud asendama alates 2002. aastast kasutusel olnud libdigidoc C-teeki ja Windowsi COM teeki, mille iseseisva kasutamise tugi kadus 2015. aastal. Libdigidocpp teek on olnud ID-tarkvaras kasutusel alates 2010. aastast, kuid see ei ole seni olnud mõeldud integratsiooniks kolmandate osapoolte rakenduste ja infosüsteemidega.

Libdigidocpp teegis on toetatud:

  • ASiC-E XAdES ehk BDOC 2.1 allkirjaformaat sh nii ajatempli kui ka ajamärgendiga formaat
  • DDOC (wrapper kasutades SiVa valideerimisteenust)

Libdigidocpp teegi   dokumentatsioon .HTML

Toeperioodi algus Uute arenduste lõpp Toeperioodi lõpp Laiendatud toeperiood
12.2013 - - - Lisainfo

Libdigidocpp teegi versiooniuuendused:

Versioon Avaldatud Muudatuste info Allalaadimine Toeperioodi lõpp
3.14.11.1432 16.12.2022 Muudatuste nimekiri (ingl. k.) Laadi alla
3.14.10.1429 21.07.2022 Muudatuste nimekiri (ingl. k.) Laadi alla
3.14.9.1426 21.07.2022 Muudatuste nimekiri (ingl. k.) Laadi alla
3.14.8.1420 15.03.2022 Muudatuste nimekiri (ingl. k.) Laadi alla
3.14.7.1413 14.04.2021 Muudatuste nimekiri (ingl. k.) Laadi alla 15.03.2022
3.14.6.1410 08.04.2021 Muudatuste nimekiri (ingl. k.) Laadi alla 14.07.2021 
3.14.5.1404 25.02.2021 Muudatuste nimekiri (ingl. k.) Laadi alla 08.04.2021 
3.14.4.1401 06.10.2020 Muudatuste nimekiri (ingl. k.) Laadi alla 25.02.2021
3.14.3.1399 19.06.2020 Muudatuste nimekiri (ingl. k.) Laadi alla 06.10.2020
3.14.2.1391 31.01.2020 Muudatuste nimekiri (ingl. k.) Laadi alla 19.06.2020
3.14.1.1389 05.11.2019 Muudatuste nimekiri  (ingl. k.)  Laadi alla 31.01.2020
3.13.9.1387 21.08.2019 Muudatuste nimekiri  (ingl. k.)  Laadi alla 05.11.2019
3.13.9.1386 08.04.2019 Muudatuste nimekiri  (ingl. k.)  Laadi alla 21.08.2019
3.13.8.1379 03.12.2018 Muudatuste nimekiri  (ingl. k.)  Laadi alla 08.04.2019
3.13.7.1377 24.10.2018 Muudatuste nimekiri  (ingl. k.)  Laadi alla  03.12.2019
3.13.6.1371 12.06.2018 Muudatuste nimekiri  (ingl. k.)  Laadi alla  24.10.2018
3.13.5.1369 06.04.2018 Muudatuste nimekiri  (ingl. k.)  Laadi alla  03.12.2018 
3.13.4.1366 26.02.2018 Muudatuste nimekiri  (ingl. k.)  Laadi alla  24.10.2018 
3.13.3.1365 21.12.2017 Muudatuste nimekiri  (ingl. k.)  Laadi alla  12.06.2018 
3.13.2.1360 24.10.2017 Muudatuste nimekiri  (ingl. k.)  Laadi alla  06.04.2018 
3.13.1.1353 16.06.2017 Muudatuste nimekiri  (ingl. k.)  Laadi alla  26.02.2018 
3.13.0.1351 07.06.2017 Muudatuste nimekiri  (ingl. k.)  N/A  21.12.2017 
3.12.3.1341 14.02.2017 Muudatuste nimekiri  (ingl. k.)  N/A  24.10.2017 
3.12.2.1329 07.07.2016 Muudatuste nimekiri  (ingl. k.)  N/A  16.06.2017 
3.12.1.1322 03.05.2016 Muudatuste nimekiri  (ingl. k.)  N/A  07.06.2017 
3.12.0.1317 29.02.2016 Muudatuste nimekiri  (ingl. k.)  N/A  14.02.2017 
3.11.1.1306 09.09.2015 Muudatuste nimekiri (ingl. k.)  N/A  07.07.2016 
3.11.0.1296 13.08.2015 Muudatuste nimekiri  (ingl. k.)  N/A  03.05.2016 
3.10.0.1279 09.02.2015 Muudatuste nimekiri (ingl. k.)  N/A  29.02.2016 
3.9.0.1248 01.07.2014
  • Lisatud tugi ajatempliga BDOC allkirjade loomiseks ja kontrollimiseks (BDOC-TS profiil).
    • Vaikimisi ei ole ajatempliteenuse tugi seadistatud.
    • Lisatud digidocpp.conf faili uus muutuja "ts.url", millega määratakse allkirja loomisel kasutatav ajatempliteenus.
    • Lisatud BDoc::ASIC_TS_PROFILE parameetri tugi Container::sign(Signer *signer, const string &profile) meetodile API kaudu BDOC-TS allkirjade loomisel.
    • Lisatud ajatempli (TS) profiili tugi digidoc-tool utiliidi "open" ja "create" käskudele. TS profiili saab määrata "--profile=TS" muutujaga.
    • BDOC-TS allkirja loomise aeg on ajatempli loomise aeg (erinevalt ajamärgendiga allkirjadest, mille puhul allkirjastamise aeg on OCSP kehtivuskinnituse loomise aeg).
    • Lisatud BDOC-TS allkirja valideerimise protsessile OCSP kehtivuskinnituse loomise ja ajatempli loomise aegadeerinevuse kontroll. Kui OCSP kehtivuskinnitus on ajatemplist varajasema ajaga, siis tagastatakse erind. Kui OCSP kehtivuskinnitus on ajatemplist üle 15 minuti võrra hilisem, siis tagastatakse hoiatus. Kui erinevus on üle 24 tunni, siis tagastatakse erind.
  • Lisatud tugi TSL nimekirja (Trusted Service List) kasutamiseks usaldusankruna sertifikaatide usaldusväärsuse kontrolliks allkirjade loomisel ja valideerimisel
    • Vaikimisi kasutatakse riiklike TSL nimekirjade leidmiseks Euroopa Komisjoni TSL nimekirja (https://ec.europa.eu/information_society/policy/esignature/trusted-list/tl-mp.xml). Soome, Eesti, Läti ja Leedu riiklikud TSL nimekirjad on vaikimisi kasutusel.
    • Lisatud TSL-i kasutuse seadistamise võimalused digidocpp.conf faili. TSL vaikeseadistuse muutmiseks saab kasutada "tsl.autoupdate", "tsl.cache", "tsl.cert" ja "tsl.url" muutujaid.
    • Lisatud käsk "tsl" digidoc-tool utiliiti, käsk kuvab TSL diagnostika ja valideerib TSL nimekirja.
    • Lisatud võimalus keelata teegis TSL funktsionaalsus, kui määrata teegi build-protsessi käivitamisel CMake USE_TSL muutuja väärtuseks "false".
    • Lisatud klass XmlConfV2, mida peaks kasutama XmlConf klassi asemel, kui tekib vajadus seadistada ajatempli ja TSL-i konfiguratsiooniparameetreid.
  • Lisatud võimalus lisada allkirjale OCSP kinnitus, kui allkirjastaja sertifikaat on väljastatud "VRK CA for Qualified Certificates - G2" või "VRK Gov. CA for Citizen Qualified Certificates - G2" poolt.
  • Täiendatud BDOC dokumentide valideerimist. Nüüd kontrollitakse, et andmefaili mime-tüübi väärtus manifest.xml failis ja vastav väärtus signatures*.xml faili <DataObjectFormat><MimeType> elemendis on samad.
  • Lisatud "--mime=" muutuja digidoc-tool utiliidi "create" käsule. Muutujat saab kasutada koos "--file=" muutujaga, et määrata andmefaili mime-tüübi väärtus. Kui väärtust ei ole antud siis kasutatakse vaikimisi väärtust  "application/octet-stream".
  • Täiendatud BDOC dokumendi valideerimist, lisatud ECDSA allkirjade jaoks nõrga räsialgortimi (SHA-1) kasutuse kontroll.
  • Täiendatud BDOC signatures*.xml faili XML struktuuri valideerimist. Nüüd kontrollitakse lisaks, et failis ei oleks mittetoetatud elemente, nagu CounterSignature, CompleteCertificateRefs, CompleteRevocationRefs, AttributeCertificateRefs, AttributeRevocationRefs, SigAndRefsTimeStamp, RefsOnlyTimeStamp, AttrAuthoritiesCertValues, AttributeRevocationValues, CommitmentTypeIndicationType, AllDataObjectsTimeStamp ja IndividualDataObjectsTimeStampType.
  • Täiendatud vastavalt RFC3986-le erimärkide töötlemist URI atribuudi väärtuses. Erimärgid URI-s on protsent-kodeeritud v.a. reserveerimata tähemärgid ja eraldusmärgid. Allkirja valideerimisel on toetatud nii protsent-kodeeritud kui tavakujul tähemärgid. Tähele tuleks panna, et failid, mis sisaldavad URI väärtustes erimärke ja on loodud 3.9 teegiga ei pruugi ühilduda 3.8 teegi versiooniga.
  • Parandatud viga, mis põhjustas vigaseid allkirju, kui andmefaili nimes oli kasutatud tähemärgina koolonit.
  • Parandatud digidoc-tool utiliidi "extract" käsu "--extractAll" muutuja funktsionaalsust.  Kui muutujat kasutatakse lahtipakkimisel aga kataloogi ei ole määratletud, siis pakitakse failid lahti töökataloogi.
  • Parandatud digidoc-tool utiliidi viga, mis põhjustas programmi ootamatu sulgumise, kui üritati luua või allkirjastada DDOC faili.
  • Muudetud Libdigidoc mähkurklassi (wrapper), et parandada viga, mis ilmnes kui loeti sisse spetsiifilisi erimärke sisaldavat DDOC dokumendi andmefaili nime. Enne kuvati erimärgid ekslikult alternatiivses vormis.
  • Parandatud Libdigidoc mähkurklassi (wrapper) viga, mis ilmnes andmefaili suuruse arvutamisel DDOC faili sisselugemisel. Varem tagastati vahel vale andmefaili suurus.
  • Lisatud XAdESv141.xsd XML Schema tugi, et võimaldada tulevikus BDOC arhiiv-ajatempli profiili rakendamist.
  • OS X platvormil võeti kasutusele libc++ teek libstdc++ asemel. Libc++ kindlustab täieliku c++11 toe.
  • Kogu Libdigidocpp dokumentatsioon on nüüd saadaval HTML formaadis (vaata algkataloogis /documentation/html/index.html faili). Uuendatud olemasolevat HTML-il baseeruvat API dokumentatsiooni ja teisendatud "Libdigidocpp Programmer's Guide" PDF/Word dokumendi sisu HTML formaati. Eemaldatud varem kasutusel olnud PDF/Word dokumendid.
  • Kasutatud coverity.com staatilise analüüsi tööriista lähtekoodi vigade ja puuduste leidmiseks.
N/A  09.09.2015 
3.8.0.1209 18.12.2013 Teegi esmane avalikustamine eraldiseisva pakendusena. Teegi API on uuendatud ja ei ole ühilduv versiooniga 3.7, kui antud teek oli vaid DigiDoc3 klient tarkvara poolt kasutusel.  
 
Teadaolevad vead:
  • Kui BDOC konteinerisse on lisatud andmefail, mille nimes on koolon siis tekib vigane allkiri.
N/A  13.08.2015