Archivní podpis

Dlouhodobý archivní podpis je v Kryptografickém modulu Signer implementován dle specifikace Evropského institutu pro normalizaci v telekomunikacích (ETSI - European Telecommunications Standards Institute) CMS Advanced Electronic Signatures (CAdES) ETSI TS 101 733.

Tato specifikace vychází ze Základního elektronického podpisu CAdES-BES nebo z Elektronického podpisu s explicitní politikou CAdES-EPES (zatím není implementováno). Prvním stupněm dlouhodobých podpisů je Elektronický podpis s časovým razítkem, který specifikace označuje zkratkou CAdES-T. V dalším kroku je do nepodepisovaných atributů podpisu vložena informace pro ověřování platnosti a vytvořen tak Elektronický podpis s úplnou informací na ověření platnosti CAdES-X Long (může být spojeno s vytvořením Elektronického podpisu s referencemi na úplná data pro ověření platnosti CAdES-C). Nakonec je tento podpis opatřen archivním razítkem a výsledný podpis označujeme jako Archivní elektronický podpis CAdES-A. Vždy před koncem platnosti archivního podpisu (vypršení platnosti posledního archivního razítka) musí být vloženo další archivní razítko všech důležitých informací archivního podpisu, čímž dojde k prodloužení platnosti archivního podpisu.

V následujících podkapitolách naleznete doporučený postup vytvoření archivního podpisu.

Obecný postup vytváření archivních podpisů

1. CAdES-T vložit ihned po přijetí podpisu CAdES-BES nebo CAdES-EPES.

2. CAdES-C a CAdES-X Long vložit po 14 dnech, ale před vypršením platnosti certifikátu podepisovatele*.

3.
CAdES-A vložit před vypršením platnosti certifikátu časového razítka podpisu.

4.
Další CAdES-A vložit před vypršením platnosti certifikátu posledního archivního časového razítka.

Příklad podrobného postupu vytváření archivních externích podpisů

1. Nejprve nastavit CfgTimeStampHashAlgorithmNumber, CfgSignatureHashAlgorithmNumber, CfgSigningCertificateHashAlgorithmNumber (CfgSignatureHashAlgorithmNumber a CfgSigningCertificateHashAlgorithmNumber v tomto případě nemusí být, zde uvedeno pouze pro jistotu, aby se na to nezapomnělo jinde v aplikaci při podepisování) alespoň na hodnotu 6 (SHA-256).

2. Po přijetí externího podpisu CAdES-BES, provést ověření tohoto podpisu. Natavit CfgVerify na 1 or 2 or 4 a zavolat VerifyDetached.

3. Podle výsledku ověření CAdES-BES se rozhodnout, zda vložit CAdES-T (je možné archivovat i neplatné podpisy).

4. Vložit CAdES-T, nastavit CfgVerifyTimeStamp na 1 or 2 or 4 a CfgTimeStamp na 1 a zavolat TimeStamp.

5.
Nastavit CfgVerify na 1 or 2 or 4 or 16 or 32 or 64 a CfgVerifyTimeStamp na 1 or 2 or 4 (použije se při ověřování časového razítka podpisu) a zavolat VerifyDetached.

6. Pokud není podpis ve formátu CAdES-C nebo CAdES-X měla by být vrácena chyba 1043 nebo 1045 (pro jistotu ještě kontrolovat chyby 1044 a 1046, tyto formáty mají každý dva nepodepisované atributy).

7. Pokud není podpis ve formátu CAdES-C a CAdES-X tak nastavit CfgTimeStamp na hodnotu 6 (2 or 4) a zavolat TimeStamp.

8. Nyní je popis ve formátu CAdES-C a CAdES-X.

9.
Zjistit, zda je CAdES-C a CAdES-X v časovém razítku podpisu (při vkládání druhého a dalšího archivního razítka v předchozím archivním razítku). Nastavit CfgVerify na 1 or 2 or 4 or 16 or 32 or 64 (or 512 pro druhé a všechna další archivní razítka) a CfgVerifyTimeStamp na 1 or 2 or 4 or 16 or 32 a zavolat VerifyDetached.

10. Pokud předchozí ověření skončilo chybou 1043 – 1046, nastavit CfgTimeStamp na hodnotu 32 or 64 or 128 a CfgVerifyTimeStamp na 1 or 2 or 4, jinak nastavit CfgTimeStamp na hodnotu 32 a CfgVerifyTimeStamp na 1 or 2 or 4 a zavolat TimeStampDetached.

11. Nyní je podpis ve formátu CAdES-A.

12. Nastavit CfgVerify na 1 or 2 or 4 or 16 or 32 or 64 or 512 a CfgVerifyTimestamp na 1 or 2 or 4 or 16 or 32 or 64 a zavolat VerifyDetached.

13. Pokud nedojde k chybě, je ověřeno, že podpis obsahuje archivní razítko, včetně CAdES-T, CAdES-C a CAdES-X Long a předchozí razítka obsahují CAdES-C a CAdES-X Long.

14. Pro druhé a další archivní razítko opakovat kroky 9 až 12 včetně konečného ověření.

 

* Časový interval, který uběhne od času uvedeném na časovém razítku podpisu CAdES-T do vložení CAdES-C a CAdES-X Long, musí být delší než takzvaná "grace period", což je doba, po jejíž uplynutí příslušná certifikační autorita garantuje zveřejnění zneplatněného certifikátu na seznamu zneplatněných certifikátů. Pokud tato doba přesahuje platnost certifikátu podepisovatele, což znamená, že podpis byl například vytvořen těsně před skončením platnosti certifikátu podepisovatele, je nutné provést ruční dohledání a vložení správného seznamu zneplatněných certifikátů. Pro plně automatizovaný chod archivu podpisů je vhodné zavést pravidlo o nepoužívání certifikátů k podpisu na konci jejich platnosti.