Posláním systému EZCA II je poskytovat uživatelům / systémům služby vytvářející důvěru (pečetění, podepisování, razítkování, validace). Služby pečetění, razítkování a validace dle eIDAS - Manuál EZ pro PZS - Confluence Seznam změn 🚀 Aktuální verze 1.0.7 ✨ Přidáno Přidána metoda POST stamp/proxytimestamp – vytvoření proxy časového razítka Přidána async verze metody POST stampasync/proxytimestamp 🔧 Změněno Přejmenována cesta GET certificates/certificate/{id} na GET content/certificate/{id} Přejmenována cesta GET certificatesasync/certificate/{id} na GET contentasync/certificate/{id} Přejmenována cesta POST certificates/validatecertificate na POST validate/certificate Přejmenována cesta POST certificatesasync/validatecertificate na POST validateasync/certificate Předchozí verze 1.0.6 ✨ Přidáno Přidána metoda GET content/certificate/{id} – vrátí detail certifikátu dle zadaného ID Přidána async verze metody GET contentasync/certificate/{id} Přidána metoda POST validate/certificate – validace certifikátu Přidána async verze metody POST validateasync/certificate 1.0.5 ✨ Přidáno Přidán popis swagger API včetně release notes 1.0.4 ✨ Přidáno Přidány vzorové ukázky volání všech metod Swagger: https://api.csez.gov.cz/apidoc/docs/EZCA2/EZCA2_v1.0.7.jsonAutentizace: https://mzcr.atlassian.net/wiki/spaces/EPZS/pages/160530443/Autentizace+k+API+gatewayEZCA2: (38 methods)
Seznam certifikátů (async) Vrátí seznam dostupných certifikátů pro zadaného vlastníka. Atributy requestu (co znamenají) owner.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry owner.id – identifikátor subjektu (PZS / fyzické osoby) přiřazený k certifikátu Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/list/certificates (viz request example) Očekávaný výsledek: HTTP 200, success = true a certificatesList obsahuje alespoň jeden certifikát Z odpovědi si můžete volitelně uložit certificatesList[].certificateId – lze využít pro některé další operace (např. podepisování/pečetění) Atributy odpovědi (co znamenají) certificatesList[].certificateId – ID certifikátu (používá se v podepisování/pečetění) certificatesList[].subject, issuerName, serialNumber, validFrom/validTo – identifikace a platnost certifikátu certificatesList[].certificateType – typ certifikátu dle systému 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiListasyncCertificates <in> <out>
Seznam certifikátů Synchronní varianta listasync/certificates. Vrátí seznam dostupných certifikátů pro zadaného vlastníka. Atributy requestu (co znamenají) owner.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry owner.id – identifikátor subjektu (PZS / fyzické osoby) přiřazený k certifikátu Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/list/certificates (viz request example) Očekávaný výsledek: HTTP 200, success = true a certificatesList obsahuje alespoň jeden certifikát Z odpovědi si můžete volitelně uložit certificatesList[].certificateId – lze využít pro některé další operace (např. podepisování/pečetění) Atributy odpovědi (co znamenají) certificatesList[].certificateId – ID certifikátu (používá se v podepisování/pečetění) certificatesList[].subject, issuerName, serialNumber, validFrom/validTo – identifikace a platnost certifikátu certificatesList[].certificateType – typ certifikátu dle systému 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiListCertificates <in> <out>
Seznam certifikátů Synchronní varianta listasync/certificates. Vrátí seznam dostupných certifikátů pro zadaného vlastníka. Atributy requestu (co znamenají) owner.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry owner.id – identifikátor subjektu (PZS / fyzické osoby) přiřazený k certifikátu Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/list/certificates (viz request example) Očekávaný výsledek: HTTP 200, success = true a certificatesList obsahuje alespoň jeden certifikát Z odpovědi si můžete volitelně uložit certificatesList[].certificateId – lze využít pro některé další operace (např. podepisování/pečetění) Atributy odpovědi (co znamenají) certificatesList[].certificateId – ID certifikátu (používá se v podepisování/pečetění) certificatesList[].subject, issuerName, serialNumber, validFrom/validTo – identifikace a platnost certifikátu certificatesList[].certificateType – typ certifikátu dle systému 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiContentCertificate <in> <out>
Seznam certifikátů Vrátí informace o komponentě podle id. Předpoklad: componentId z vytvoření dokumentu (POST /api/create/document), konkrétně z komponenty typu PADES. Kde vzít id: document.components[].id v odpovědi create document. Očekávaný výsledek: HTTP 200 a response obsahuje component s poli jako componentId, fileName, documentId, storageId, documentType, hash a statusy. Atributy odpovědi (co znamenají)component.componentId – ID komponenty (componentId)component.documentId – ID dokumentu, ke kterému komponenta patřícomponent.fileName, component.mimeType, component.documentType – informace o souboru/typucomponent.originalHash/actualHash – hash hodnoty (ověření integrity)component.status/statusId/previousStatus – stav uložení/životní cyklus 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiContentasyncCertificate <in> <out>
Validace certifikátu (async) Ověří platnost certifikátu pro předaný dokument a vrátí výsledek validace. Atributy requestu (co znamenají) authentication.userLogin – přihlašovací jméno volajícího uživatele owner.fileName – název souboru předávaného ke kontrole owner.sourceSystem – zdrojový systém, ze kterého dokument pochází owner.content – obsah dokumentu zakódovaný v Base64 owner.storageId – identifikátor úložiště v systému služeb důvěry owner.validationTime – čas, ke kterému se validace provádí Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete request s dokumentem v Base64 a vyplněným storageId Očekávaný výsledek: HTTP 200, success = true a výsledek validace v odpovědi 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiValidateasyncCertificate <in> <out>
Validace certifikátu Synchronní varianta certificatesasync/validatecertificate. Ověří platnost certifikátu pro předaný dokument a vrátí výsledek validace. Atributy requestu (co znamenají) authentication.userLogin – přihlašovací jméno volajícího uživatele owner.fileName – název souboru předávaného ke kontrole owner.sourceSystem – zdrojový systém, ze kterého dokument pochází owner.content – obsah dokumentu zakódovaný v Base64 owner.storageId – identifikátor úložiště v systému služeb důvěry owner.validationTime – čas, ke kterému se validace provádí Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete request s dokumentem v Base64 a vyplněným storageId Očekávaný výsledek: HTTP 200, success = true a výsledek validace v odpovědi 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiValidateCertificate <in> <out>
Informace o komponentě (async) Vrátí informace o komponentě podle id. Předpoklad: componentId z vytvoření dokumentu (POST /api/create/document), konkrétně z komponenty typu PADES. Kde vzít id: document.components[].id v odpovědi create document. Očekávaný výsledek: HTTP 200 a response obsahuje component s poli jako componentId, fileName, documentId, storageId, documentType, hash a statusy. Atributy odpovědi (co znamenají)component.componentId – ID komponenty (componentId)component.documentId – ID dokumentu, ke kterému komponenta patřícomponent.fileName, component.mimeType, component.documentType – informace o souboru/typucomponent.originalHash/actualHash – hash hodnoty (ověření integrity)component.status/statusId/previousStatus – stav uložení/životní cyklus 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiInfoasyncComponent <in> <out>
Informace o komponentě Synchronní varianta infoasync/component/{id}. Vrátí informace o komponentě podle id. Předpoklad: componentId z vytvoření dokumentu (POST /api/create/document), konkrétně z komponenty typu PADES. Kde vzít id: document.components[].id v odpovědi create document. Očekávaný výsledek: HTTP 200 a response obsahuje component s poli jako componentId, fileName, documentId, storageId, documentType, hash a statusy. Atributy odpovědi (co znamenají)component.componentId – ID komponenty (componentId)component.documentId – ID dokumentu, ke kterému komponenta patřícomponent.fileName, component.mimeType, component.documentType – informace o souboru/typucomponent.originalHash/actualHash – hash hodnoty (ověření integrity)component.status/statusId/previousStatus – stav uložení/životní cyklus 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiInfoComponent <in> <out>
Obsah komponenty (async) Vrátí obsah komponenty podle id (typicky Base64). Předpoklad: componentId z vytvoření dokumentu (POST /api/create/document), konkrétně z komponenty typu PADES (Base64). Kde vzít id: document.components[].id v odpovědi create document. Očekávaný výsledek: HTTP 200 a response obsahuje pole content s Base64 obsahem komponenty. Ověření: Base64 dekódujte na původní soubor (např. PDF) a zkontrolujte, že jde otevřít. Atributy odpovědi (co znamenají)component.componentId – ID komponentycomponent.componentName – název komponenty/souborucomponent.content – Base64 obsah komponenty 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiContentasyncComponent <in> <out>
Obsah komponenty Synchronní varianta contentasync/component/{id}. Vrátí obsah komponenty podle id (typicky Base64). Předpoklad: componentId z vytvoření dokumentu (POST /api/create/document), konkrétně z komponenty typu PADES (Base64). Kde vzít id: document.components[].id v odpovědi create document. Očekávaný výsledek: HTTP 200 a response obsahuje pole content s Base64 obsahem komponenty. Ověření: Base64 dekódujte na původní soubor (např. PDF) a zkontrolujte, že jde otevřít. Atributy odpovědi (co znamenají)component.componentId – ID komponentycomponent.componentName – název komponenty/souborucomponent.content – Base64 obsah komponenty 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiContentComponent <in> <out>
Obsah balíčku (async) Vrátí obsah balíčku podle id. Kde vzít id: pokud API vrací packageId u komponenty/dokumentu. Atributy odpovědi (co znamenají)package.packageId – ID balíčkupackage.packageName – název balíčkupackage.content – Base64 obsah balíčku 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiContentasyncPackage <in> <out>
Obsah balíčku Synchronní varianta contentasync/package/{id}. Vrátí obsah balíčku podle id. Kde vzít id: pokud API vrací packageId u komponenty/dokumentu. Atributy odpovědi (co znamenají)package.packageId – ID balíčkupackage.packageName – název balíčkupackage.content – Base64 obsah balíčku 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiContentPackage <in> <out>
Vytvoření dokumentu (async) Vytvoří nový záznam dokumentu pro dlouhodobé uložení (LTA) a uloží metadata + komponenty. Request obsahuje objekt document. document.name – název důvěryhodně uloženého dokumentu document.storageId – identifikátor úložiště (dedikovaný prostor), do kterého se dokument ukládá document.documentClassId – identifikátor dokumentové třídy (adresáře) document.sourceSystem – identifikátor původce dat (požadavku) document.components[] – seznam komponent dokumentu Komponenty (components[]) components[].content – obsah komponenty v Base64 (pokud ukládáte kontent) components[].hash – hash komponenty (pokud ukládáte XAdES/hash) components[].hashAlgorithm – hashovací algoritmus (např. SHA256/SHA512) components[].fileName – název souboru komponenty components[].mimeType – MIME typ komponenty components[].documentType – typ bezpečnostního prvku: PADES/JADES/XADES Volitelně: metadata a skartace K dokumentu můžete přidat metadata a/nebo nastavení skartace pomocí atributů document.metadata[] a document.shredding, např.: Příklad je fragment uvnitř objektu document: "metadata": [ { "id": "2d1906e4-9e19-4ae6-bf14-b54bb410c60d", "value": "IDDOC" }, { "id": "8bf49374-d6d7-47e2-8b97-525bc9317ade", "value": "19950120_10_32" }],"shredding": { "shreddingType": "be0a0d0b-4599-481d-a2ce-f30978b031ed", "activationType": "10f577a2-d9eb-4c49-aa0c-cdf9d18d5491"} metadata[].id – identifikátor konkrétního metadata definovaného na dokumentové třídě metadata[].type – nepovinné; pro „Spis“ metadata: 0 = text, 1 = datum metadata[].isCase – nepovinné; zda jde o metadato typu „Spis“ (true/false) metadata[].value – hodnota metadata (text / datum ve formátu RRRRMMDD_HH_MM) shredding.shreddingType – identifikátor skartačního typu; pokud není uvedeno, použije se výchozí hodnota úložiště shredding.activationType – identifikátor aktivace skartace; pokud není uvedeno, použije se výchozí hodnota dokumentové třídy Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/create/document (viz request example) Ověřte, že request obsahuje name, storageId, documentClassId, sourceSystem a komponenty Očekávaný výsledek: HTTP 200 a success = true Co si uložit pro další kroky document.id (documentId) – lze využít například v metodě GET /api/info/document/{id} document.components[].id (componentId) – lze využít například v těchto metodách:(GET /api/info/component/{id}, GET /api/content/component/{id}) Atributy odpovědi (co znamenají) success – true/false (výsledek operace) message – lidsky čitelný popis výsledku errorCode – kód chyby (typicky prázdné při úspěchu) document.id – ID uloženého dokumentu (documentId) document.components[].id – ID uložených komponent (componentId) document.shredding – skartační nastavení (perioda/platnost apod.) 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiCreateasyncDocument <in> <out>
Vytvoření dokumentu Stejné jako createasync/document, pouze synchronní varianta. Vytvoří nový záznam dokumentu pro dlouhodobé uložení (LTA) a uloží metadata + komponenty. Request obsahuje objekt document. document.name – název důvěryhodně uloženého dokumentu document.storageId – identifikátor úložiště (dedikovaný prostor), do kterého se dokument ukládá document.documentClassId – identifikátor dokumentové třídy (adresáře) document.sourceSystem – identifikátor původce dat (požadavku) document.components[] – seznam komponent dokumentu Komponenty (components[]) components[].content – obsah komponenty v Base64 (pokud ukládáte kontent) components[].hash – hash komponenty (pokud ukládáte XAdES/hash) components[].hashAlgorithm – hashovací algoritmus (např. SHA256/SHA512) components[].fileName – název souboru komponenty components[].mimeType – MIME typ komponenty components[].documentType – typ bezpečnostního prvku: PADES/JADES/XADES Volitelně: metadata a skartace K dokumentu můžete přidat metadata a/nebo nastavení skartace pomocí atributů document.metadata[] a document.shredding, např.: Příklad je fragment uvnitř objektu document: "metadata": [ { "id": "2d1906e4-9e19-4ae6-bf14-b54bb410c60d", "value": "IDDOC" }, { "id": "8bf49374-d6d7-47e2-8b97-525bc9317ade", "value": "19950120_10_32" }],"shredding": { "shreddingType": "be0a0d0b-4599-481d-a2ce-f30978b031ed", "activationType": "10f577a2-d9eb-4c49-aa0c-cdf9d18d5491"} metadata[].id – identifikátor konkrétního metadata definovaného na dokumentové třídě metadata[].type – nepovinné; pro „Spis“ metadata: 0 = text, 1 = datum metadata[].isCase – nepovinné; zda jde o metadato typu „Spis“ (true/false) metadata[].value – hodnota metadata (text / datum ve formátu RRRRMMDD_HH_MM) shredding.shreddingType – identifikátor skartačního typu; pokud není uvedeno, použije se výchozí hodnota úložiště shredding.activationType – identifikátor aktivace skartace; pokud není uvedeno, použije se výchozí hodnota dokumentové třídy Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/create/document (viz request example) Ověřte, že request obsahuje name, storageId, documentClassId, sourceSystem a komponenty Očekávaný výsledek: HTTP 200 a success = true Co si uložit pro další kroky document.id (documentId) – lze využít například v metodě GET /api/info/document/{id} document.components[].id (componentId) – lze využít například v těchto metodách:(GET /api/info/component/{id}, GET /api/content/component/{id}) Atributy odpovědi (co znamenají) success – true/false (výsledek operace) message – lidsky čitelný popis výsledku errorCode – kód chyby (typicky prázdné při úspěchu) document.id – ID uloženého dokumentu (documentId) document.components[].id – ID uložených komponent (componentId) document.shredding – skartační nastavení (perioda/platnost apod.) 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiCreateDocument <in> <out>
Informace o dokumentu Předpoklad: dokument už byl vytvořen a je k dispozici documentId z POST /api/create/document (pole document.id). Očekávaný výsledek: HTTP 200 a response obsahuje document s poli jako documentId, name, contentStatus a shredding. Atributy odpovědi (co znamenají) document.documentId – ID dokumentu (mělo by odpovídat zadanému id) document.name – název dokumentu document.contentStatus – stav obsahu (uloženo / dostupnost) document.storageId, document.documentClassId – kontext úložiště a třída document.shredding – skartační nastavení (character/period/aktivace/expiration) 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiInfoDocument <in> <out>
Informace o dokumentu (async) Asynchronní varianta info/document/{id}. Předpoklad: dokument už byl vytvořen a je k dispozici documentId z POST /api/create/document (pole document.id). Očekávaný výsledek: HTTP 200 a response obsahuje document s poli jako documentId, name, contentStatus a shredding. Atributy odpovědi (co znamenají) document.documentId – ID dokumentu (mělo by odpovídat zadanému id) document.name – název dokumentu document.contentStatus – stav obsahu (uloženo / dostupnost) document.storageId, document.documentClassId – kontext úložiště a třída document.shredding – skartační nastavení (character/period/aktivace/expiration) 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiInfoasyncDocument <in> <out>
Vyhledání podle metadata Vyhledá dokumenty podle zadaného metadata id a hodnoty v rámci úložiště. id – identifikátor konkrétního metadata definovaného na dokumentové třídě (které bylo pro dokument nastaveno) value – hodnota tohoto metadata, podle které se dokumenty vyhledávají documentClassId – nepovinný identifikátor dokumentové třídy (adresáře), pro zúžení vyhledávání storageId – identifikátor úložiště (prostoru), ve kterém je dokument uložen 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiSearchMetadata <in> <out>
Vyhledání podle hashe Vyhledá dokument/komponenty podle hash hodnoty v rámci úložiště. hash – hodnota hashe vypočtená z obsahu odeslaného do systému služeb důvěry algoritmem SHA512 (uppercase encoding) documentClassId – nepovinný identifikátor dokumentové třídy (adresáře), pro zúžení vyhledávání storageId – identifikátor úložiště (prostoru), ve kterém je hledaný dokument uložen 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiSearchHash <in> <out>
200 - OKSimpleHealth <in> <out>
200 - OKDetailHealth <in> <out>
Podpis dokumentu (async) Vytvoří elektronický podpis dokumentu v požadovaném formátu a vrátí podepsaný/opečetěný dokument. document.documentContent – obsah dokumentu ke zpracování kódovaný v Base64 document.documentType – požadovaný typ elektronického bezpečnostního prvku: PADES/JADES/XADES document.xadesFormat – typ XAdES: Internal (komponenta je součástí XAdES) / External (XAdES odkazuje na komponentu pouze přes hash) document.fileName – jméno dokumentu document.isSignatureWithTimestamp – zda má být výsledek opatřen i časovým razítkem (true/false) document.sourceSystem – identifikátor původce dat (požadavku) document.certificateId – identifikátor pečetícího/podpisového certifikátu, který má být použit document.cryptedPassword – PIN/heslo zašifrované šifrovacím klíčem (pokud je vyžadováno privátním klíčem) document.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Atributy odpovědi (co znamenají) document.signedDocument – výsledný podepsaný dokument (Base64) document.certificateId – použitý certifikát document.documentId, document.storageId – identifikátory kontextu Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Získejte certificateId (typicky přes POST /api/list/certificates) Pošlete POST /api/sign/document s document.documentContent (Base64) a certificateId Pokud certifikát vyžaduje heslo, vyplňte cryptedPassword; jinak ponechte prázdné/nevyplněné Očekávaný výsledek: HTTP 200 a response obsahuje Base64 výsledek v document.signedDocument Ověření: dekódujte původní i výsledný Base64 dokument a zkontrolujte, že výsledný dokument je podepsaný (např. v PDF prohlížeči) Poznámka k JAdES: stejný endpoint lze použít i pro podepsání JSON (JAdES) – do documentContent vložte Base64 JSON payload a nastavte typ/parametry dle kontraktu. 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiSignasyncDocument <in> <out>
Podpis dokumentu Synchronní varianta signasync/document. Vytvoří elektronický podpis dokumentu v požadovaném formátu a vrátí podepsaný/opečetěný dokument. document.documentContent – obsah dokumentu ke zpracování kódovaný v Base64 document.documentType – požadovaný typ elektronického bezpečnostního prvku: PADES/JADES/XADES document.xadesFormat – typ XAdES: Internal (komponenta je součástí XAdES) / External (XAdES odkazuje na komponentu pouze přes hash) document.fileName – jméno dokumentu document.isSignatureWithTimestamp – zda má být výsledek opatřen i časovým razítkem (true/false) document.sourceSystem – identifikátor původce dat (požadavku) document.certificateId – identifikátor pečetícího/podpisového certifikátu, který má být použit document.cryptedPassword – PIN/heslo zašifrované šifrovacím klíčem (pokud je vyžadováno privátním klíčem) document.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Atributy odpovědi (co znamenají) document.signedDocument – výsledný podepsaný dokument (Base64) document.certificateId – použitý certifikát document.documentId, document.storageId – identifikátory kontextu Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Získejte certificateId (typicky přes POST /api/list/certificates) Pošlete POST /api/sign/document s document.documentContent (Base64) a certificateId Pokud certifikát vyžaduje heslo, vyplňte cryptedPassword; jinak ponechte prázdné/nevyplněné Očekávaný výsledek: HTTP 200 a response obsahuje Base64 výsledek v document.signedDocument Ověření: dekódujte původní i výsledný Base64 dokument a zkontrolujte, že výsledný dokument je podepsaný (např. v PDF prohlížeči) Poznámka k JAdES: stejný endpoint lze použít i pro podepsání JSON (JAdES) – do documentContent vložte Base64 JSON payload a nastavte typ/parametry dle kontraktu. 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiSignDocument <in> <out>
Podpis hashe (async) Podepíše/opečetí zadanou hash hodnotu. Atributy requestu (co znamenají) hash.hashValue – hash vypočtený z dokumentu ke zpracování kódovaný v Base64 hash.hashAlgorithm – použitý hashovací algoritmus: SHA256/SHA512 hash.fileName – jméno původního dokumentu hash.sourceSystem – identifikátor původce dat (požadavku) hash.certificateId – identifikátor pečetícího/podpisového certifikátu, který má být použit hash.cryptedPassword – PIN/heslo zašifrované šifrovacím klíčem (pokud je vyžadováno privátním klíčem) hash.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Získejte certificateId (typicky přes POST /api/list/certificates) Pošlete POST /api/sign/hash s hashValue + hashAlgorithm Očekávaný výsledek: HTTP 200, success = true a v response je hash se signedHash, certificateId, storageId Co si uložit: hash.signedHash (pro navazující složení finálního dokumentu mimo tuto službu) Atributy odpovědi (co znamenají) hash.signedHash – podepsaný hash (Base64) hash.certificateId, hash.storageId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiSignasyncHash <in> <out>
Podpis hashe Synchronní varianta signasync/hash. Podepíše/opečetí zadanou hash hodnotu. Atributy requestu (co znamenají) hash.hashValue – hash vypočtený z dokumentu ke zpracování kódovaný v Base64 hash.hashAlgorithm – použitý hashovací algoritmus: SHA256/SHA512 hash.fileName – jméno původního dokumentu hash.sourceSystem – identifikátor původce dat (požadavku) hash.certificateId – identifikátor pečetícího/podpisového certifikátu, který má být použit hash.cryptedPassword – PIN/heslo zašifrované šifrovacím klíčem (pokud je vyžadováno privátním klíčem) hash.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Získejte certificateId (typicky přes POST /api/list/certificates) Pošlete POST /api/sign/hash s hashValue + hashAlgorithm Očekávaný výsledek: HTTP 200, success = true a v response je hash se signedHash, certificateId, storageId Co si uložit: hash.signedHash (pro navazující složení finálního dokumentu mimo tuto službu) Atributy odpovědi (co znamenají) hash.signedHash – podepsaný hash (Base64) hash.certificateId, hash.storageId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiSignHash <in> <out>
Generování reportu (async) Vygeneruje validační report podle zadaných parametrů. Atributy requestu (co znamenají) report.reportId – identifikátor vygenerovaného a uloženého validačního reportu report.validationType – identifikátor typu validace (AdES formáty) report.reportType – typ reportu: Simple (základní) / Detailed (detailní) report.reportFormat – výstupní formát reportu: PDF/XML report.withTS – zda má být report opatřen časovým razítkem (true/false) Jak to typicky použít (workflow) Nejprve validujte dokument přes POST /api/validate/document a uložte si reportId z odpovědi V této metodě nastavte report.reportId na získané reportId Očekávaný výsledek: HTTP 200, success = true a document.reportContent obsahuje Base64 PDF report Ověření: dekódujte document.reportContent a zkontrolujte, že report jde zobrazit/stažení Atributy odpovědi (co znamenají) document.reportContent – Base64 PDF obsah reportu document.reportName – název souboru reportu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiContentasyncReport <in> <out>
Generování reportu Synchronní varianta contentasync/report. Vygeneruje validační report podle zadaných parametrů. Atributy requestu (co znamenají) report.reportId – identifikátor vygenerovaného a uloženého validačního reportu report.validationType – identifikátor typu validace (AdES formáty) report.reportType – typ reportu: Simple (základní) / Detailed (detailní) report.reportFormat – výstupní formát reportu: PDF/XML report.withTS – zda má být report opatřen časovým razítkem (true/false) Jak to typicky použít (workflow) Nejprve validujte dokument přes POST /api/validate/document a uložte si reportId z odpovědi V této metodě nastavte report.reportId na získané reportId Očekávaný výsledek: HTTP 200, success = true a document.reportContent obsahuje Base64 PDF report Ověření: dekódujte document.reportContent a zkontrolujte, že report jde zobrazit/stažení Atributy odpovědi (co znamenají) document.reportContent – Base64 PDF obsah reportu document.reportName – název souboru reportu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiContentReport <in> <out>
Externí report Vytvoří validační report z externě dodaného dokumentu. Atributy requestu (co znamenají) document.documentContent – obsah dokumentu ke zpracování kódovaný v Base64 document.fileName – jméno dokumentu document.isSignatureWithTimestamp – zda má být výsledek opatřen i časovým razítkem (true/false) document.sourceSystem – identifikátor původce dat (požadavku) document.certificateId – identifikátor pečetícího/podpisového certifikátu, který má být použit document.cryptedPassword – PIN/heslo zašifrované šifrovacím klíčem (pokud je vyžadováno privátním klíčem) document.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Atributy odpovědi (co znamenají) document.signedDocument – Base64 výsledek document.documentId, document.storageId, document.certificateId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiExternalReport <in> <out>
Externí report (async) Asynchronní varianta external/report. Vytvoří validační report z externě dodaného dokumentu. Atributy requestu (co znamenají) document.documentContent – obsah dokumentu ke zpracování kódovaný v Base64 document.fileName – jméno dokumentu document.isSignatureWithTimestamp – zda má být výsledek opatřen i časovým razítkem (true/false) document.sourceSystem – identifikátor původce dat (požadavku) document.certificateId – identifikátor pečetícího/podpisového certifikátu, který má být použit document.cryptedPassword – PIN/heslo zašifrované šifrovacím klíčem (pokud je vyžadováno privátním klíčem) document.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Atributy odpovědi (co znamenají) document.signedDocument – Base64 výsledek document.documentId, document.storageId, document.certificateId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiExternalasyncReport <in> <out>
Časové razítko dokumentu (async) Aplikuje kvalifikované časové razítko (TSA) na celý dokument. Atributy requestu (co znamenají) document.documentContent – obsah dokumentu ke zpracování kódovaný v Base64 document.documentType – požadovaný typ elektronického bezpečnostního prvku: PADES/JADES/XADES document.fileName – jméno dokumentu document.sourceSystem – identifikátor původce dat (požadavku) document.tsaId – identifikátor autority časových razítek (TSA), která má být použita document.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/stamp/document s dokumentem v Base64 Očekávaný výsledek: HTTP 200, success = true a Base64 výsledek v document.stampedDocument Ověření: dekódujte původní i výsledný Base64 dokument a zkontrolujte, že výsledný dokument obsahuje časové razítko Atributy odpovědi (co znamenají) document.stampedDocument – výsledný dokument s časovým razítkem (Base64) document.tsaId – použitý TSA profil document.documentId, document.storageId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiStampasyncDocument <in> <out>
Časové razítko dokumentu Synchronní varianta stampasync/document. Aplikuje kvalifikované časové razítko (TSA) na celý dokument. Atributy requestu (co znamenají) document.documentContent – obsah dokumentu ke zpracování kódovaný v Base64 document.documentType – požadovaný typ elektronického bezpečnostního prvku: PADES/JADES/XADES document.fileName – jméno dokumentu document.sourceSystem – identifikátor původce dat (požadavku) document.tsaId – identifikátor autority časových razítek (TSA), která má být použita document.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/stamp/document s dokumentem v Base64 Očekávaný výsledek: HTTP 200, success = true a Base64 výsledek v document.stampedDocument Ověření: dekódujte původní i výsledný Base64 dokument a zkontrolujte, že výsledný dokument obsahuje časové razítko Atributy odpovědi (co znamenají) document.stampedDocument – výsledný dokument s časovým razítkem (Base64) document.tsaId – použitý TSA profil document.documentId, document.storageId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiStampDocument <in> <out>
Časové razítko hashe (async) Aplikuje časové razítko na zadaný hash. Atributy requestu (co znamenají) hash.hashValue – hash vypočtený z dokumentu ke zpracování kódovaný v Base64 hash.hashAlgorithm – použitý hashovací algoritmus: SHA256/SHA512 hash.fileName – jméno původního dokumentu hash.sourceSystem – identifikátor původce dat (požadavku) hash.tsaId – identifikátor autority časových razítek (TSA), která má být použita hash.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/stamp/hash s hashValue + hashAlgorithm Očekávaný výsledek: HTTP 200, success = true a v response je timestamp.returnedToken Co si uložit: timestamp.returnedToken (pro navazující složení finálního orazítkovaného dokumentu mimo tuto službu) Atributy odpovědi (co znamenají) document.timestamp.time – čas orazítkování document.timestamp.returnedToken – token časového razítka (Base64) document.tsaId, document.storageId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiStampasyncHash <in> <out>
Časové razítko hashe Synchronní varianta stampasync/hash. Aplikuje časové razítko na zadaný hash. Atributy requestu (co znamenají) hash.hashValue – hash vypočtený z dokumentu ke zpracování kódovaný v Base64 hash.hashAlgorithm – použitý hashovací algoritmus: SHA256/SHA512 hash.fileName – jméno původního dokumentu hash.sourceSystem – identifikátor původce dat (požadavku) hash.tsaId – identifikátor autority časových razítek (TSA), která má být použita hash.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/stamp/hash s hashValue + hashAlgorithm Očekávaný výsledek: HTTP 200, success = true a v response je timestamp.returnedToken Co si uložit: timestamp.returnedToken (pro navazující složení finálního orazítkovaného dokumentu mimo tuto službu) Atributy odpovědi (co znamenají) document.timestamp.time – čas orazítkování document.timestamp.returnedToken – token časového razítka (Base64) document.tsaId, document.storageId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiStampHash <in> <out>
Token časového razítka přes proxy (async) Získá token časového razítka prostřednictvím proxy serveru (TSA). Atributy requestu (co znamenají) requestBytes – data požadavku na časové razítko kódovaná v Base64 tsaUrl – URL adresa autority časových razítek (TSA) username / password – přihlašovací údaje k TSA (pokud TSA vyžaduje autentizaci) certificateId – GUID certifikátu pro podepisování razítka certPassword – heslo k certifikátu componentId – GUID komponenty v úložišti packageId – GUID balíčku v úložišti storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry proxyUrl – URL proxy serveru (pokud je vyžadován) proxyUser / proxyPassword – přihlašovací údaje k proxy wrapperUrl – URL wrapperu pro komunikaci s TSA Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete request s requestBytes (Base64) a URL adresou TSA Očekávaný výsledek: HTTP 200, success = true a token časového razítka v odpovědi 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiStampasyncProxytimestamp <in> <out>
Token časového razítka přes proxy Synchronní varianta stampasync/proxytimestamp. Získá token časového razítka prostřednictvím proxy serveru (TSA). Atributy requestu (co znamenají) requestBytes – data požadavku na časové razítko kódovaná v Base64 tsaUrl – URL adresa autority časových razítek (TSA) username / password – přihlašovací údaje k TSA (pokud TSA vyžaduje autentizaci) certificateId – GUID certifikátu pro podepisování razítka certPassword – heslo k certifikátu componentId – GUID komponenty v úložišti packageId – GUID balíčku v úložišti storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry proxyUrl – URL proxy serveru (pokud je vyžadován) proxyUser / proxyPassword – přihlašovací údaje k proxy wrapperUrl – URL wrapperu pro komunikaci s TSA Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete request s requestBytes (Base64) a URL adresou TSA Očekávaný výsledek: HTTP 200, success = true a token časového razítka v odpovědi 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiStampProxytimestamp <in> <out>
Validace dokumentu (async) Ověří integritu dokumentu a jeho bezpečnostních prvků. Atributy requestu (co znamenají) document.signedDocumentContent – obsah podepsaného dokumentu (samostatný soubor nebo externí podpis) v Base64 document.signedFileName – název podepsaného dokumentu (soubor nebo externí podpis) document.originalDocumentContent – obsah původního souboru v Base64 (typicky když je podpis v externí podobě) document.originalFileName – název původního souboru (typicky když je podpis v externí podobě) document.documentValidationType – identifikátor typu validace (AdES formáty) document.sourceSystem – identifikátor původce dat (požadavku) document.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/validate/document se podepsaným dokumentem v Base64 (a případně i originálem dle kontraktu) Očekávaný výsledek: HTTP 200, success = true, document.isValid (např. Valid) a v response je document.reportId Co si uložit: document.reportId – lze použít v navazující operaci pro stažení validačního reportu přes POST /api/content/report Atributy odpovědi (co znamenají) document.isValid – výsledek validace (např. Valid/Invalid) document.reportId – ID reportu (použije se pro stažení reportu) document.documentId, document.storageId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiValidateasyncDocument <in> <out>
Validace dokumentu Synchronní varianta validateasync/document. Ověří integritu dokumentu a jeho bezpečnostních prvků. Atributy requestu (co znamenají) document.signedDocumentContent – obsah podepsaného dokumentu (samostatný soubor nebo externí podpis) v Base64 document.signedFileName – název podepsaného dokumentu (soubor nebo externí podpis) document.originalDocumentContent – obsah původního souboru v Base64 (typicky když je podpis v externí podobě) document.originalFileName – název původního souboru (typicky když je podpis v externí podobě) document.documentValidationType – identifikátor typu validace (AdES formáty) document.sourceSystem – identifikátor původce dat (požadavku) document.storageId – identifikátor dedikovaného prostoru (úložiště) v systému služeb důvěry Jak to typicky použít (workflow) Autorizujte se (token) a ve Swagger UI klikněte Authorize Pošlete POST /api/validate/document se podepsaným dokumentem v Base64 (a případně i originálem dle kontraktu) Očekávaný výsledek: HTTP 200, success = true, document.isValid (např. Valid) a v response je document.reportId Co si uložit: document.reportId – lze použít v navazující operaci pro stažení validačního reportu přes POST /api/content/report Atributy odpovědi (co znamenají) document.isValid – výsledek validace (např. Valid/Invalid) document.reportId – ID reportu (použije se pro stažení reportu) document.documentId, document.storageId – identifikátory kontextu 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiValidateDocument <in> <out>
Vytvoření XAdES obálky (async) Vytvoří XAdES obálku na základě seznamu hashů. 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiCreateasyncXades <in> <out>
Vytvoření XAdES obálky Synchronní varianta createasync/xades. Vytvoří XAdES obálku na základě seznamu hashů. 200 - OK, 400 - Bad Request, 401 - Unauthorized, 403 - Forbidden, 500 - Internal Server ErrorApiCreateXades <in> <out>