Kvalifikovaná služba ověřování elektronických podpisů
Kvalifikovaná služba ověřování elektronických podpisů umožňuje ověřit platnost elektronických podpisů, pečetí, časových razítek v podepsaném dokumentu, včetně dokumentu podepsaného externím podpisem, a dat. Akceptované formáty podpisů jsou v souladu s požadavky na rozšířený formát elektronického podpisu definovaného dle ETSI, nelze ověřit formáty typu DOC či XLS.
Ověření je prováděno vůči OCSP nebo odpovídajícím CRL listům, které poskytují kvalifikovaní poskytovatelé služeb vytvářejících důvěru, jež jsou uvedeni na EU Trust Listu.
Název metody: Validate
Popis služby včetně WSDL schématu a příklad požadavku a odpovědi pro SOAP 1.1 a SOAP 1.2 je umístěn na https://localhost/secusign/default.asmx?op=Validate.
Localhost je obecný název používaný pro lokální počítač; namísto něj zvolte jméno/IP adresu SDK serveru (dle nastavení v IIS). |
Požadavek v rozhraní SOAP 1.1
POST /secusign/default.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://software602.com/secusign/Validate"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Validate xmlns="http://software602.com/secusign/">
<FileName>string</FileName>
<FileData>base64Binary</FileData>
<FileType>UNKNOWN or CMSPKCS7 or CMSPKCS7Ext or PDF or XML or XML602FORM or XMLISDOC or ASiC_S_CAdES or ASiC_S_XAdES or ASiC_S_Tst or ASiC_E_CAdES_Tst or ASiC_E_XAdES or MS_WORD or MS_EXCEL or MS_PWR_PNT or ODF or EML or MSG
</FileType>
<ExternalSignatureFileName>string</ExternalSignatureFileName>
<ExternalSignature>base64Binary</ExternalSignature>
<Properties>
<ReportLanguage>string</ReportLanguage>
<GetReport>boolean</GetReport>
<GetXMLReport>boolean</GetXMLReport>
<GetHTMLReport>boolean</GetHTMLReport>
<GetPDFReport>boolean</GetPDFReport>
<ValidationTime>dateTime</ValidationTime>
<IgnoreNoPOE>boolean</IgnoreNoPOE>
<UseClaimedTimeIfNoTS>boolean</UseClaimedTimeIfNoTS>
<DontUseGracePeriodForQCerts>boolean</DontUseGracePeriodForQCerts>
</Properties>
<Params>string</Params>
</Validate>
</soap:Body>
</soap:Envelope>
Vstupní parametry metody
<FileName>
[povinný element]
Vstup | Popis |
---|---|
String |
Název vstupního souboru (včetně přípony), který se má ověřit. Příklad: Dokument.pdf. Max. 260 znaků. |
<FileType>
[povinný element]
Vstup | Popis |
---|---|
UNKNOWN |
Neznámý typ dokumentu. |
CMSPKCS7 |
Dokument podepsaný interním CMS/PKCS7 podpisem např.: Datové zprávy z Informačního systému datových schránek. |
CMSPKCS7Ext |
Dokument podepsaný externím CMS/PKCS7 podpisem např.: Datové zprávy z Informačního systému datových schránek. |
PDF dokument. |
|
XML |
XML data. |
XML602FORM |
FO/ZFO formuláře aplikace Software602 Form Filler. |
XMLISDOC |
XML ISDOC data. |
ASiC_S_CAdES |
ASiC-Simple s CAdES podpisem. |
ASiC_S_XAdES |
ASiC-Simple s XAdES podpisem. |
ASiC_S_Tst |
ASiC-Simple s Timestamp. |
ASiC_E_CAdES_Tst |
ASiC-Extended s CAdES podpisem nebo s Timestamp. |
ASiC_E_XAdES |
ASiC-Extended s XAdES podpisem. |
MS_WORD |
Dokument aplikace MS Word. |
MS_EXCEL |
Dokument aplikace MS Excel. |
MS_PWR_PNT |
Dokument aplikace MS Powerpoint. |
ODF |
OpenDocumentFormat (OpenOffice). |
EML |
Elektronická mailová zpráva.* |
MSG |
Elektronická mailová zpráva, kontakt, schůzka nebo úloha vytvořená nebo uložená v Microsoft Outlook*. |
* Experimentální podpora. V případě zájmu o povolení nás kontaktujte.
<ExternalSignatureFileName>
[nepovinný element]
Vstup | Popis |
---|---|
string |
Název souboru externího podpisu. Pouze v případě, že k dokumentu byl takový podpis vytvořen. |
<ExternalSignature>
[nepovinný element]
Vstup | Popis |
---|---|
Base64Binary |
Data externího podpisu kódovaná v base64. Pouze v případě, že k dokumentu byl takový podpis vytvořen. |
<Properties>
[povinný element včetně jednoho z GetReport na true]
<ReportLanguage>
[nepovinný element]
Vstup | Popis |
---|---|
String |
Lokalizace textových informací ve výstupní doložce. Hodnoty: cz, en Výchozí hodnota: cz. |
<GetReport>
[nepovinný element]
Vstup | Popis |
---|---|
Boolean |
Definuje získání <Report> v odpovědi. Výchozí hodnota: true. |
<GetXMLReport>
[nepovinný element]
Vstup | Popis |
---|---|
Boolean |
Definuje získání podepsaného reportu ověření v XML. Výchozí hodnota: true. |
<GetHTMLReport>
[nepovinný element]
Vstup | Popis |
---|---|
Boolean |
Definuje získání reportu ověření v HTML. Výchozí hodnota: true. |
<GetPDFReport>
[nepovinný element]
Vstup | Popis |
---|---|
Boolean |
Definuje získání podepsaného reportu ověření v PDF. Výchozí hodnota: false. |
<ValidationTime>
[nepovinný element]
Vstup | Popis |
---|---|
dateTime |
Definuje rozhodný okamžik, ke kterému se má ověřovat platnost podpisu. Příklad hodnoty: 2018-11-09T07:35:00+02:00 (vč. časové zóny). Pro odpovídající vyhodnocení musí být nastaven parametr IgnoreNoPoe na true. Pokud údaj ValidationTime není zadán, nebo s tímto údajem není nastaven parametr IgnoreNoPoe na true, nastaví se rozhodný okamžik na datum a čas připojení časového razítka nebo, v případě chybějícího časového razítka, na aktuální. V případě nastavení hodnoty ValidationTime je tato informace vyznačena červeným textem ve výstupním PDF reportu. Výchozí hodnota: Now (aktuální čas ze SecuSign SDK serveru). |
<IgnoreNoPOE>
[nepovinný element]
Vstup | Popis |
---|---|
Boolean |
Umožní vyhodnotit platnost podpisu i bez prokazatelného času existence (časového razítka), a to buď k aktuálnímu času nebo, v případě nastavení ValidationTime, ke zvolenému času rozhodného okamžiku. Hodnoty: false, true. V případě nastavení hodnoty IgnoreNoPoe na true je tato informace vyznačena červeným textem ve výstupním PDF reportu. Výchozí hodnota: false. |
<UseClaimedTimeIfNoTs>
[nepovinný element]
Vstup | Popis |
---|---|
Boolean |
Umožní vyhodnotit platnost podpisu k deklarovanému času, jestliže u podpisu chybí časové razítko. Deklarovaný čas je získán ze signingTime atributu podpisu. Hodnoty: false, true Pro odpovídající vyhodnocení musí být nastaven parametr IgnoreNoPoe na true. Pokud parametr UseClaimedTimeIfNoTs není zvolen, a podpis neobsahuje časové razítko, je k vyhodnocení platnosti podpisu použit aktuální čas. V případě nastavení hodnoty UseClaimedTimeIfNoTs na true je tato informace vyznačena červeným textem ve výstupním PDF reportu. Výchozí hodnota: false. |
<DontUseGracePeriodForQCerts>
[nepovinný element]
Vstup | Popis |
---|---|
Boolean |
Umožní vyhodnotit platnost podpisu bez nutnosti čekat 24 hodin (grace period) na jeho ověření. Pro kontrolu revokace využijeme informaci z OCSP nebo v případě nedostupnosti OCSP z prvního dostupného CRL vydaného po rozhodném okamžiku. Výchozí hodnota: true. |
</Properties>
Struktura odpovědi na požadavek
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ValidateResponse xmlns="http://software602.com/secusign/">
<ValidateResult>int</ValidateResult>
<Report>
<CreationDateTime>dateTime</CreationDateTime>
<FileName>string</FileName>
<FileSize>long</FileSize>
<ExtSigFileName>string</ExtSigFileName>
<ExtSigFileSize>long</ExtSigFileSize>
<PDFVersion>string</PDFVersion>
<PDFNumOfPages>int</PDFNumOfPages>
<docType>string</docType>
<expiration>dateTime</expiration>
<docDataHash>base64Binary</docDataHash>
<docDataHashAlg>string</docDataHashAlg>
<currSignHashAlg>string</currSignHashAlg>
<globalStatus>string</globalStatus>
<validationProperties>
<ValidationTime>dateTime</ValidationTime>
<CustomValidationTime>boolean</CustomValidationTime>
<IgnoreNoPOE>boolean</IgnoreNoPOE>
<UseClaimedTimeIfNoTS>boolean</UseClaimedTimeIfNoTS>
<DontUseGracePeriodForQCerts>boolean</DontUseGracePeriodForQCerts>
</validationProperties>
<sigInfos>
<SigInfo>
<id>unsignedInt</id>
<sid>string</sid>
<sigTimestamps xsi:nil="true" />
<sigType>string</sigType>
<xmlSignedReferences xsi:nil="true" />
<pdfByteRange xsi:nil="true" />
<hasFurtherChanges>boolean</hasFurtherChanges>
<Reason>string</Reason>
<Location>string</Location>
<Contact>string</Contact>
</SigInfo>
<SigInfo>
<id>unsignedInt</id>
<sid>string</sid>
<sigTimestamps xsi:nil="true" />
<sigType>string</sigType>
<xmlSignedReferences xsi:nil="true" />
<pdfByteRange xsi:nil="true" />
<hasFurtherChanges>boolean</hasFurtherChanges>
<Reason>string</Reason>
<Location>string</Location>
<Contact>string</Contact>
</SigInfo>
</sigInfos>
</Report>
<XMLReport>base64Binary</XMLReport>
<HTMLReport>base64Binary</HTMLReport>
<PDFReport>base64Binary</PDFReport>
<StatusMessage>string</StatusMessage>
</ValidateResponse>
</soap:Body>
</soap:Envelope>
Výstupní parametry metody
<ValidateResult>
Návratová hodnota | Popis |
---|---|
Int |
Výsledek metody Validate (ověření podpisů). 0 = v pořádku, jinak Návratové kódy všech metod a chyba popsaná ve StatusMessage. |
<Report>
<CreationDateTime>
Návratová hodnota | Popis |
---|---|
dateTime |
Datum a čas, kdy došlo k vytvoření ověřovacího reportu. |
<FileName>
Návratová hodnota | Popis |
---|---|
string |
Název vstupního souboru (včetně přípony), ze kterého byly ověřeny podpisy nebo ke kterému náleží externí podpis. Max. 260 znaků. |
<ExtSigFileName>
Návratová hodnota | Popis |
---|---|
string |
Název vstupního souboru externího podpisu (včetně přípony), ze kterého byl ověřen podpis. |
<ExtSigFileSize>
Návratová hodnota | Popis |
---|---|
long |
Velikost vstupního souboru externího podpisu (v bajtech). |
<docType>
Návratová hodnota | Popis |
---|---|
UNKNOWN |
Neznámý typ dokumentu. |
CMSPKCS7 |
Dokument podepsaný interním CMS/PKCS7 podpisem např.: Datové zprávy z Informačního systému datových schránek. |
CMSPKCS7Ext |
Dokument podepsaný externím CMS/PKCS7 podpisem např.: Datové zprávy z Informačního systému datových schránek. |
Podepsaný PDF dokument. |
|
XML |
Podepsaná XML data. |
XML602FORM |
FO/ZFO formuláře aplikace Software602 Form Filler. |
XMLISDOC |
Podepsaná XML ISDOC data. |
ASiC_S_CAdES |
ASiC-Simple s CAdES podpisem. |
ASiC_S_XAdES |
ASiC-Simple s XAdES podpisem. |
ASiC_S_Tst |
ASiC-Simple s Timestamp. |
ASiC_E_CAdES_Tst |
ASiC-Extended s CAdES podpisem nebo s Timestamp. |
ASiC_E_XAdES |
ASiC-Extended s XAdES podpisem. |
MS_WORD |
Podepsaný dokument aplikace MS Word. |
MS_EXCEL |
Podepsaný dokument aplikace MS Excel. |
MS_PWR_PNT |
Podepsaný dokument aplikace MS Powerpoint. |
ODF |
Podepsaný OpenDocumentFormat (OpenOffice). |
<expiration>
Návratová hodnota | Popis |
---|---|
DateTime |
Datum a čas vypršení ověřitelnosti celého dokumentu. Po tomto datu nebude možné ověřit platnost podpisových certifikátů a zajistit další ověřitelnost, uchování a platnost dokumentu. |
<docDataHash>
Návratová hodnota | Popis |
---|---|
Base64Binary |
Hash analyzovaného dokumentu v kódování Base64. Algoritmus výpočtu hashe je v následujícím elementu docDataHashAlg. |
<docDataHashAlg>
Návratová hodnota | Popis |
---|---|
String |
Algoritmus výpočtu hashe analyzovaného dokumentu. Ve tvaru například: 2.16.840.1.101.3.4.2.1. |
<currSignHashAlg>
Návratová hodnota | Popis |
---|---|
String |
Algoritmus výpočtu hashe posledního podpisu. Příklad: 2.16.840.1.101.3.4.2.1 |
<globalStatus>
Návratová hodnota | Popis |
---|---|
String |
Sumarizuje stav dokumentu na základě všech podpisů a časových razítek. Může nabývat hodnot:
|
<validationProperties>
<ValidationTime>
Návratová hodnota | Popis |
---|---|
dateTime |
Rozhodný okamžik – čas, ke kterému byla ověřena platnost podpisu. Příklad hodnoty: 2018-11-09T07:35:00.085+01:00 Výchozí hodnota Now (aktuální čas z SecuSign SDK serveru). |
<CustomValidationTime>
Návratová hodnota | Popis |
---|---|
Boolean |
Určuje, zda byl pro ověření platnosti podpisu nastaven vlastní rozhodný okamžik – ValidationTime Výchozí hodnota false. |
<IgnoreNoPOE>
Návratová hodnota | Popis |
---|---|
Boolean |
Určuje, zda byla vyhodnocena platnost podpisu bez prokazatelného času existence (časového razítka). Výchozí hodnota false. |
<UseClaimedTimeIfNoTs>
Návratová hodnota | Popis |
---|---|
Boolean |
Určuje, zda byla vyhodnocena platnost podpisu k deklarovanému času. Deklarovaný čas je případně získán ze signingTime atributu podpisu. Výchozí hodnota false. |
<DontUseGracePeriodForQCerts>
Návratová hodnota | Popis |
---|---|
Boolean |
Určuje, zda byla vyhodnocena platnost podpisu bez nutnosti čekat 24 hodin (grace period) na jeho ověření. Pro kontrolu revokace se využila informace z OCSP nebo, v případě nedostupnosti OCSP, z prvního dostupného CRL vydaného po rozhodném okamžiku. Výchozí hodnota true. |
</validationProperties>
<sigInfos>
<SigInfo>
Informace o podpisu (opakující se element v případě více podpisů).
<status>
Návratová hodnota | Popis |
---|---|
String |
Výsledný stav ověření podpisu podle první verze ETSI normy[1] týkající se ověřování PAdES, CAdES, XAdES a ASiC. |
<statusEN>
Návratová hodnota | Popis |
---|---|
String |
Výsledný stav ověření podpisu podle aktuální verze ETSI normy[2] týkající se ověřování PAdES, CAdES, XAdES a ASiC, viz hodnoty Indication a subIndication v Preserve_register/update/getInfo. |
<message>
Návratová hodnota | Popis |
---|---|
String |
Podrobnosti ověření stavu podpisu/pečeti/razítka, pokud jsou u daného stavu k dispozici. |
<certType>
Návratová hodnota | Popis |
---|---|
String |
Typ certifikátu podpisu/pečeti/razítka. Může nabývat hodnot:
|
<adesType>
Návratová hodnota | Popis |
---|---|
String |
Typ podpisového certifikátu dle standardu AdES (Advanced Electronic Signature). |
<eidasType>
Návratová hodnota | Popis |
---|---|
String |
Typ podpisového certifikátu dle nařízení eIDAS. Může nabývat hodnot:
|
<baselineType>
Návratová hodnota | Popis |
---|---|
String |
Typ podpisového certifikátu dle Baseline profilu. Může nabývat hodnot:
|
<Subject>
Návratová hodnota | Popis |
---|---|
String |
Informace z certifikátového atributu Subjekt, např.:
|
<Issuer>
Návratová hodnota | Popis |
---|---|
String |
Kompletní informace o vystaviteli certifikátu z atributu Issuer . |
<ServiceStatusUri>
Návratová hodnota | Popis |
---|---|
String |
Obsahuje celou Uri stanovující servisní stav autority na TSL, např. http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted. |
<ServiceTypeUri>
Návratová hodnota | Popis |
---|---|
String |
Obsahuje celou Uri stanovující servisní typ autority na TSL, např. http://uri.etsi.org/TrstSvc/Svctype/CA/QC. |
<qcType>
Návratová hodnota | Popis |
---|---|
String |
Typ certifikátu podpisu/pečeti/razítka dle eIDAS. Může nabývat následujících hodnot, jejichž význam se může lišit i podle certType:
|
<signCertIsPseudonyme>
Návratová hodnota | Popis |
---|---|
Boolean |
Určuje, zda je certifikát (podpisu/pečeti/razítka) vystaven na pseudonym. |
<timeFromComputerClock>
Návratová hodnota | Popis |
---|---|
dateTime |
Časový údaj podpisu/pečeti/razítka z hodin počítače autora. |
<certPath>
<Subject>
Návratová hodnota | Popis |
---|---|
String |
Informace z atributu certifikátu Subjekt, např.:
|
<Issuer>
Návratová hodnota | Popis |
---|---|
String |
Kompletní informace o vystaviteli certifikátu z atributu Issuer |
<ServiceStatusUri>
Návratová hodnota | Popis |
---|---|
String |
Obsahuje celou Uri stanovující servisní stav certifikátu na TSL, např. http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted. |
<ServiceTypeUri>
Návratová hodnota | Popis |
---|---|
String |
Obsahuje celou Uri stanovující servisní typ certifikátu na TSL, např. http://uri.etsi.org/TrstSvc/Svctype/CA/QC. |
<crlPath>
<Data>
Návratová hodnota | Popis |
---|---|
String |
Revokační data CRL v base64, na základě kterých se ověřovala platnost podpisu/pečeti/razítka. |
<Source>
Návratová hodnota | Popis |
---|---|
String |
Zdroj revokačních dat, nabývá hodnot:
|
<DistributionPointChecked>
Návratová hodnota | Popis |
---|---|
Boolean |
Informace, zda byl kontrolován distribuční bod CRL/OCSP. Není vždy potřebné. |
<DistributionPointCheckDate>
Návratová hodnota | Popis |
---|---|
dateTime |
Datum a čas kontroly distribučního bodu. |
<DistributionPointThisUpdate>
Návratová hodnota | Popis |
---|---|
dateTime |
Informace z distribučního bodu CRL/OCSP o datu a času vydání této aktualizace. Pokud CRL/OCSP pro časové razítko byl vydán před rozhodným okamžikem, hledá se novější na DistributionPoint a pokud není k dispozici novější, nebyl v uvedený DistributionCheckDate certifikát časového razítka revokován. |
<lastHashAlgOid>
Návratová hodnota | Popis |
---|---|
dateTime |
Jedná se o poslední použitý OID digest algoritmus v SignerInfo (CMS, PDF). Příklad pro SHA256 algoritmus: 2.16.840.1.101.3.4.2.1. |
<id>
Návratová hodnota | Popis |
---|---|
unsignedInt |
Pořadové číslo podpisu tak, jak byl přidán do dokumentu. Počítáno od nuly. |
<counterSignsSignatureSid>
Návratová hodnota | Popis |
---|---|
String |
Unikátní identifikátor podpisu, který tento podepisuje. |
<DecisiveMoment>
Návratová hodnota | Popis |
---|---|
dateTime |
Rozhodný okamžik je čas, ke kterému rozhodujeme o dané entitě (podpisu/razítku). Jedná se vlastně o Proof of Existence, ke kterému entitu ověřujeme. Pokud není k dispozici datum a čas časového razítka použije se ValidationTime (případně aktuální datum). |
<DecisiveMomentSource>
Návratová hodnota | Popis |
---|---|
string |
Informace o původu času rozhodného okamžiku pro vyhodnocení podpisu. Hodnoty:
|
<sigTimestamps>
Nepovinný element, je závislý na existenci časového razítka u podpisu
Návratová hodnota | Popis |
---|---|
XML struktura |
Informace o časovém razítku přidaném jako atribut k digitálnímu podpisu. Stejná XML struktura informací jako u nadřazeného podpisu. Tedy obsahuje element SigInfo, viz výše, včetně všech jeho potomků. Informace v potomcích se váží k certifikátu časového razítka. |
<sigType>
Návratová hodnota | Popis |
---|---|
Enum |
Typ podpisu. Může nabývat hodnot:
|
<xmlSignedReferences>
Nepovinný element, je závislý na formátu vstupního souboru (jen pro XML/ZFO)
Návratová hodnota | Popis |
---|---|
XML struktura |
Data podpisu. Může obsahovat id, uri, digAlg a digest. |
<pdfByteRange>
Nepovinný element, je závislý na formátu vstupního souboru (jen pro PDF)
Návratová hodnota | Popis |
---|---|
XML struktura |
Bytový rozsah PDF podpisů. |