Podepisování PDF s Code Signing certifikátem

14. 3. 2017 | Jindřich Zechmeister

Code signing certifikát je určen pro podpis aplikací, které vývojář vydává a umisťuje na internet. Můžete ho však využít i k podpisu PDF souborů za vaši firmu. V dnešním návodu se podíváme, jak na to.

Jak získat Code Signing certifikát?

V úvodu je dobré vysvětlit, kde získat Code Signing certifikát. Code Signing certifikát můžete zakoupit u největšího prodejce SSL certifikátů v ČR SSLmarket.cz. Jeho získání je stejně jednoduché jako v případě serverových certifikátů. S případným nasazením a prvním použitím vám pomůžou naše návody a samozřejmě ráda poradí i naše zákaznická podpora.

Návod předpokládá, že už máte Code Signing certifikát k dispozici. Pro podpis můžete mít certifikát uložen v PFX souboru na disku, ale doporučuji pohodlnější způsob použití v úložišti systému. Stačí PFX soubor otevřít, zadat heslo a obsah naimportovat do úložiště. Pak ho z něj můžete i vybrat a nemusíte při každém použití zadávat heslo znovu.

Podepisování PDF zdarma

Pro podpis PDF dokumentů určitě nebudete chtít investovat do drahého komerčního programu, jakým je například Acrobat Pro od Adobe. Pokud vám nezáleží na grafickém zkrášlování podpisu různými pečetěmi nebo fotkami skutečného podpisu, tak můžete dokument podepsat i pomocí programů dostupných zdarma.

Jedním z kandidátů je český program PodepsatPdf. Podpis se provádí velice jednoduše přetažením dokumentu na jeho ikonu na ploše. Parametry podpisu (jako výběr certifikátu) se nastavi v jeho možnostech. Umí udělat i vizuální podpis a timestamp (časové razítko, viz níže). Další výhodou programu je "nedestruktivní" podpis - aplikace vytvoří nový podepsaný soubor a originál neupravuje. Nevýhodou je jen fakt, že se po každém podpisu otevírá v prohlížeči web výrobce.

Dialog nastavení programu PodepsatPdf. Certifikát byl vybrán z úložiště systému.

Podepsaný PDF soubor můžete vytvořit i exportem z balíku LibreOffice. V LibreOffice je přítomna nativní podpora exportu dokumentu do PDF. Export obsahuje mnoho možností a jednou z nich je i digitální podpis vybraným certifikátem.

Dialog pro nastavení podpisu v Libre Office.

Při testování však Acrobat u takto podepsaného souboru zobrazoval hlášku o změněném souboru, i když byl samotný podpis v pořádku.

Další možností k podpisu je program iSafePDF. Tento program ovládá stejné funkce jako český ekvivalent, ale navíc si můžete zvolit vlastní obrázek pro vizuální podpis a jeho přesné umístění (polohu) v dokumentu. Umí použít certifikát z úložiště i PFX souboru, avšak při testu na Windows 10 podepisování certifikátem z úložiště nefungovalo (musel se použít PFX soubor).

Pamatujte - nikdy nepoužívejte žádný online nástroj, ani kdyby takový na podepisování existoval. Museli byste mu poskytnou váš privátní klíč, což rozhodně nechcete.

Kde vzít časové razítko?

Časové razítko je funkce, která umožňuje potvrdit čas podpisu dokumentu, nebo čas jeho vytvoření. Kromě podpisu samotného tedy může být v dokumentu ještě autoritou podepsaný časový údaj, který se k podpisu vztahuje. Pro podpis aplikací doporučuji časové razítko používat vždy, protože aplikace je díky tomu důvěryhodná i po expiraci certifikátu (časové razítko prokazuje čas, kdy byla aplikace podepsána; pokud byl certifikát v ten moment platný a aplikace se nezmění, bude aplikace důvěryhodná navždy).

Časové razítko do podpisu můžete získat zdarma. Použijte server https://timestamp.geotrust.com/tsa (na adrese není web, pouze ji doplňte do programu pro podepisování), přihlašovací údaje nejsou v případě tohoto serveru potřeba.

Pozor na ověřování podpisů v Adobe Acrobatu

Acrobat je stále zřejmě nejpoužívanější PDF prohlížeč. Samozřejmě existují menší, rychlejší a méně náročné alternativy, nicméně Acrobat je synonymem pro prohlížeč PDF souborů. Jeho tvůrce má bohužel svůj vlastní seznam důvěryhodných kořenových certifikačních autorit, kterým program důvěřuje (podobně jako Firefox). Tento seznam není rozsáhlý a při běžném používání ukazuje Acrobat skoro u každého podpisu nedůvěryhodnost. Tento nežádoucí stav je třeba napravit tím, že v programu nastavíte používání úložiště certifikátů systému. Pak bude důvěrovat stejným kořenovým autoritám, jako systém Windows, což problém vyřeší.

Nastavení důvěryhodnosti v Acrobatu na úložiště certifikátů systému

Nyní umíte podepisovat PDF dokumenty s Code Signing certifikátem a můžete ho využít i pro jiné účely, než jen podpis aplikací.


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz