Metoda Preserve_update

Umožňuje prodloužit platnost uchovaných podpisů v dokumentu přidáním dalšího kvalifikovaného časového razítka a revokačních dat – informací souvisejících s ověřením podpisu jako jsou odpovědi OCSP/CRL na všechny certifikáty v řetězci, tj. od podpisového certifikátu ke kořenovému certifikátu vystavitele (certifikační autority), díky čemuž se zajistí jejich další ověřitelnost.

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=Preserve_update.

Localhost je 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/Preserve_update"

<?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>
    <Preserve_update xmlns="http://software602.com/secusign/">
      <DocID>string</DocID>
      <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</FileType>
      <ExternalSignatureFileName>string</ExternalSignatureFileName>
      <ExternalSignature>base64Binary</ExternalSignature>
      <SortInfo>string</SortInfo>
      <UserComment>string</UserComment>
      <Params>string</Params>
    </Preserve_update>
  </soap:Body>
</soap:Envelope>

Vstupní parametry metody

<DocID>

[povinný element]

Vstup Popis

string

Jednoznačné identifikační číslo uchovaných elektronických podpisů v dokumentu. Bylo automaticky vygenerováno při procesu uchování ve službě SecuSign. Lze jej najít v uživatelském rozhraní účtu. Max. 128 znaků.

<FileName>

[povinný element]

Vstup Popis

String

Název vstupního souboru (včetně přípony) pro uchování elektronických podpisů.

Příklad: Dokument.pdf.

Max. 260 znaků.

<FileData>

[povinný element]

Vstup Popis

Base64Binary

Data vstupního souboru kódovaná v base64

<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

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

Dokument aplikace MS Word.

MS_EXCEL

Dokument aplikace MS Excel.

MS_PWR_PNT

Dokument aplikace MS Powerpoint.

ODF

Podepsaný OpenDocumentFormat (OpenOffice).

<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.

<SortInfo>

[nepovinný element]

Vstup Popis

String

Zatřiďovací informace – např. název složky, nebo struktura vnořených složek, ve kterých je dokument u uživatele evidován. Max. 100 znaků.

<UserComment>

[nepovinný element]

Vstup Popis

String

Vlastní komentář nebo popis uživatele k uchovanému dokumentu.

<Params>

[nepovinný element]

Vstup Popis

String

Volitelné, obsahuje další parametry. Zatím se nevyužívá.

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>
    <Preserve_updateResponse xmlns="http://software602.com/secusign/">
      <Preserve_updateResult>int</Preserve_updateResult>
      <OutputData>base64Binary</OutputData>
      <PreservationInfo>
        <CreationDateTime>dateTime</CreationDateTime>
        <docId>string</docId>
        <fileName>string</fileName>
        <fileSize>long</fileSize>
        <sortInfo>string</sortInfo>
        <lastUpdate>dateTime</lastUpdate>
        <expiration>dateTime</expiration>
        <docDataHash>base64Binary</docDataHash>
        <docDataHashAlg>string</docDataHashAlg>
        <currSignHashAlg>string</currSignHashAlg>
        <sigValidityCondition>ALL or AT_LEAST_ONE or LAST</sigValidityCondition>
        <sigsPreservationStatus>
          <PreservationInfo>
            <sid>string</sid>
            <sigStatus xsi:nil="true" />
            <extendedValidationEndDate>dateTime</extendedValidationEndDate>
            <signingCertSubject>string</signingCertSubject>
            <bIsDocTimeStamp>boolean</bIsDocTimeStamp>
            <procesStatus>string</procesStatus>
          </PreservationInfo>
          <PreservationInfo>
            <sid>string</sid>
            <sigStatus xsi:nil="true" />
            <extendedValidationEndDate>dateTime</extendedValidationEndDate>
            <signingCertSubject>string</signingCertSubject>
            <bIsDocTimeStamp>boolean</bIsDocTimeStamp>
            <procesStatus>string</procesStatus>
          </PreservationInfo>
        </sigsPreservationStatus>
        <preservationHistory>
          <PreservationRecord>
            <id>int</id>
            <operationTime>dateTime</operationTime>
            <operationType>REGISTER or UPDATE or UNREGISTER or UNKNOWN</operationType>
            <operationStatus>int</operationStatus>
            <operationStatusInfo>string</operationStatusInfo>
            <fileName>string</fileName>
            <fileSize>long</fileSize>
            <hashIn>string</hashIn>
            <hashOut>string</hashOut>
            <userComment>string</userComment>
          </PreservationRecord>
          <PreservationRecord>
            <id>int</id>
            <operationTime>dateTime</operationTime>
            <operationType>REGISTER or UPDATE or UNREGISTER or UNKNOWN</operationType>
            <operationStatus>int</operationStatus>
            <operationStatusInfo>string</operationStatusInfo>
            <fileName>string</fileName>
            <fileSize>long</fileSize>
            <hashIn>string</hashIn>
            <hashOut>string</hashOut>
            <userComment>string</userComment>
          </PreservationRecord>
        </preservationHistory>
        <docType>string</docType>
      </PreservationInfo>
      <StatusMessage>string</StatusMessage>
    </Preserve_updateResponse>
  </soap:Body>
</soap:Envelope>

Výstupní parametry metody

<Preserve_updateResult>

Návratová hodnota Popis

Int

Výsledek metody Preserve_update (ošetření dokumentu s elektronickými podpisy). 0 = v pořádku, jinak Návratové kódy všech metod a chyba popsaná ve StatusMessage.

<OutputData>

Návratová hodnota Popis

Base64Binary

Data uchovaného dokumentu s ošetřenými elektronickými podpisy kódována v base64.

<Info>

<CreationDateTime>

Návratová hodnota Popis

dateTime

Datum a čas, kdy došlo k vytvoření reportu o uchování dokumentu s elektronickými podpisy.

<docID>

Návratová hodnota Popis

String

Jednoznačné identifikační číslo uchovaného dokumentu s ošetřenými elektronickými podpisy. Bylo automaticky vygenerováno při procesu uchování ve službě SecuSign. Pod tímto číslem je možné v metodě Preserve_getInfo zjistit informace o uchovaném dokumentu.

Max. 128 znaků.

<fileName>

Návratová hodnota Popis

String

Název uchovaného souboru s elektronickými podpisy. Max. 260 znaků.

<fileSize>

Návratová hodnota Popis

Long

Velikost uchovaného souboru s elektronickými podpisy.

<sortInfo>

Návratová hodnota Popis

String

Zatřiďovací informace – např. název složky, nebo struktura vnořených složek, ve kterých je dokument u uživatele evidován. Max. 100 znaků.

<lastUpdate>

Návratová hodnota Popis

dateTime

Datum a čas posledního prodloužení platnosti a ověřitelnosti dokumentu s elektronickými podpisy.

<expiration>

Návratová hodnota Popis

dateTime

Datum a čas vypršení ověřitelnosti platnosti celého dokumentu. Po tomto datu nebude možné ověřit platnost certifikátů podpisů / pečetí / razítek a zajistit další ověřitelnost a platnost uchovaného dokumentu.

<docDataHash>

Návratová hodnota Popis

Base64Binary

Hash analyzovaného dokumentu kódovaný v 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.

<sigValidityCondition>

Návratová hodnota Popis

String

Podmínky platnosti podpisu pro další uchování. Hodnoty:

ALL – všechny podpisy jsou platné.

AT_LEAST_ONE – alespoň jeden podpis je platný.

LAST – poslední podpis je platný.

<sigsPreservationStatus>

<PreservationInfo>

Opakující se element podle počtu podpisů v dokumentu.

<sid>
Návratová hodnota Popis

String

Identifikátor podpisu, který k danému uchovanému dokumentu eviduje služba SecuSign.

<sigStatus>
<indication>
Návratová hodnota Popis

String

Stav ověření podpisu – indikace. Může nabývat hodnot:

VALID – platný (TOTAL_PASSED dle normy ETSI[2]).

INVALID – neplatný (TOTAL_FAILED dle normy ETSI[2]).

INDETERMINATE – neurčitý.

UNKNOWN – neznámý.

<subindication>
Návratová hodnota Popis

string

Podstav ověření podpisu – subindikace. Nabývá hodnot (odpovídajících normě ETSI[2]):

  • VALID – Elektronický certifikát nebyl v okamžiku podepsání revokovaný nebo expirovaný a podpis je možné prohlásit za platný.

  • INVALID_REVOKED – Podpisový certifikát byl odvolán ještě před okamžikem pořízení podpisu. Podpis je neplatný.

  • INVALID_HASH_FAILURE – Elektronický podpis je porušený a od podepsání dokumentu zřejmě došlo ke změně podepsané části jeho obsahu. Kontrolní součet uvedený v podpisu nesouhlasí s kontrolním součtem podepsané části! Podpis je neplatný.

  • INVALID_SIG_CRYPTO_FAILURE – Nepodařilo se ověřit příslušnost veřejného klíče k podpisu. Podpis je neplatný.

  • INVALID_FORMAT_FAILURE – Podepsaná data nebyla rozpoznána, formát podpisu je porušený. Podpis je neplatný.

  • INDETERMINATE_NO_CERTIFICATE_CHAIN_FOUND – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Nepodařilo se získat všechny potřebné informace pro kontrolu důvěryhodnosti a odvolání certifikátu.

  • INDETERMINATE_NO_POE – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Nepodařilo se získat všechny potřebné informace pro kontrolu důvěryhodnosti a odvolání certifikátu.

  • INDETERMINATE_TRY_LATER – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Kontrolu odvolání certifikátu je možné provést na základě seznamu odvolaných certifikátů (CRL) vydaném po

  • INDETERMINATE_SIGNED_DATA_NOT_FOUND – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout, protože nejsou k dispozici data, jejichž podpis je ověřován.

  • INDETERMINATE_UNKNOWN_SIGNING_TIME – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Nepodařilo se získat všechny potřebné informace pro kontrolu důvěryhodnosti a odvolání certifikátu.

  • INDETERMINATE_UNTRUST_SIGNING_TIME – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Není k dispozici důvěryhodný údaj z časového razítka o času podepsání.

  • INDETERMINATE_GENERAL_ERROR – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Obecná chyba aplikace, kontaktujte správce.

  • INDETERMINATE_REVOKED_NO_POE – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Podpisový certifikát byl odvolán v době ověření, ale je nejistý čas podepsání.

  • INDETERMINATE_REVOKED_CA_NO_POE – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Nejméně jeden řetěz certifikátu byl nalezen, ale certifikát zprostředkující CA je revokován.

  • INDETERMINATE_OUT_OF_BOUNDS_NO_POE – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Podpisový certifikát vypršel nebo ještě nenastala jeho platnost v době ověření a algoritmus ověřování podpisu nemůže zjistit, že čas podepsání leží uvnitř intervalu platnosti podpisového certifikátu.

  • INDETERMINATE_EXPIRED – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Podpisový certifikát vypršel. Podpis byl vytvořen po datu expirace (notAfter) podpisového certifikátu.

  • INDETERMINATE_NOT_YET_VALID – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Podpisový certifikát nebyl ještě platný v době ověřování. Čas podepsání leží před datem vydání (notBefore) podpisového certifikátu.

  • INDETERMINATE_POLICY_PROCESSING_ERROR – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Soubor dané formální politiky z nějakého důvodu nemohl být zpracován (např. není přístupný, není zpracovatelný, nesouhlasí kontrolní algoritmus atd.)

  • INDETERMINATE_TIMESTAMP_ORDER_FAILURE – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Některá omezení v pořadí podpisu časových razítek a/nebo podepsaných datových objektů časových razítek nejsou respektována.

  • INDETERMINATE_SIG_CONSTRAINTS_FAILURE – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Nejsou splněna omezení podpisu (chybějící podpisové atributy, nesouhlasná politika el. podpisu apod.).

  • INDETERMINATE_CHAIN_CONSTRAINTS_FAILURE – O platnosti podpisu není možné v tuto chvíli prokazatelně rozhodnout. Obecná chyba při sestavování certifikační cesty.

  • INDETERMINATE_CRYPTO_CONSTRAINTS_FAILURE – Alespoň jeden z algoritmů, které byly použity v materiálu (např. hodnota podpisu, certifikát, …) zapojeném v ověřování podpisu, nebo velikost klíče použita s tímto algoritmem, je pod požadovanou úroveň kryptografického zabezpečení, a tento materiál byl produkován po čase, kdy byl tento algoritmus/klíč považován za bezpečný (je-li znám takový čas), a materiál není chráněn dostatečně silným časovým razítkem aplikovaným před dobou ve které byl algoritmus považován za bezpečný (je-li znám takový čas).

</sigStatus>

<extendedValidationEndDate>
Návratová hodnota Popis

dateTime

Datum a čas, do kdy byla prodloužena ověřitelnost podpisu.

<signingCertSubject>
Návratová hodnota Popis

string

Identifikace podpisového certifikátu, který byl ošetřen.

<bISDocTimeStamp>
Návratová hodnota Popis

boolean

Určuje, zda podpis je samostatným časovým razítkem.

<procesStatus>
Návratová hodnota Popis

string

Stav ošetření podpisu při uchování. Hodnoty:

  • None – Neproběhlo ošetření podpisu.

  • Full – Plně proběhlo ošetření podpisu.

  • Partial – Podpis byl ošetřen částečně (neobsahuje všechna validační data).

  • Unknown – Neznámý stav.

</PreservationInfo>

</sigsPreservationStatus>

<preservationHistory>

<PreservationRecord>
<id>
Návratová hodnota Popis

int

Identifikátor provedené operace.

<operationTime>
Návratová hodnota Popis

dateTime

Datum a čas provedení operace.

<operationType>
Návratová hodnota Popis

PreserveOperation

Typ provedené operace. Hodnoty:

  • REGISTER – uchování dokumentu s elektronickými podpisy.

  • UPDATE – prodloužení platnosti a ověřitelnosti elektronických podpisů v dokumentu.

  • UNREGISTER – odebrání dokumentu z uchování ve službě SecuSign.

  • UNKNOWN – neznámý typ operace.

<operationStatus>
Návratová hodnota Popis

Int

Stav provedení operace. 0 = v pořádku.

<operationStatusInfo>
Návratová hodnota Popis

string

Textová zpráva odpovídající stavu provedení operace.

<fileName>
Návratová hodnota Popis

string

Název souboru, ze kterého byl podpis uchován. Max. 260 znaků.

<fileSize>
Návratová hodnota Popis

long

Velikost souboru, ze kterého byl podpis uchován.

<hashIn>
Návratová hodnota Popis

string

Hash souboru, který měl dokument na vstupu.

<hashOut>
Návratová hodnota Popis

string

Hash souboru, který měl dokument na výstupu.

<userComment>
Návratová hodnota Popis

string

Vlastní komentář nebo popis dokumentu uživatelem.

</PreservationRecord>

</preservationHistory>

<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.

PDF

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).

</PreservationInfo>

<StatusMessage>

Návratová hodnota Popis

String

Textová zpráva odpovídající celkovému výsledku uchování elektronických podpisů ve službě SecuSign. Hodnota je naplněna pouze v případě problematického výsledku.