Digitální podpis dokumentu

Aktualizováno: 7. 11. 2019, datum vydání: 12. 3. 2011

Centrální úložiště certifikátů ve Windows

TužkaAbyste mohli digitálně podepisovat dokumenty, musíte mít již opatřený digitální podpis a ten řádně nainstalovaný do počítače, nebo umístěný v USB tokenu (ten není zadarmo). Pro podepisování dokumentů a pro elektronickou komunikaci s úřady potřebujete tzv. „kvalifikovaný certifikát“ (QCA). Pokud máte certifikát nainstalovaný do PC, tak Váš certifikát by měl být uložený v centrálním úložišti Windows. Do centrálního úložiště se můžete podívat příkazem certmgr.msc zadaným do políčka Start/Zahájit hledání a do pole hledat dáte: certmgr.msc. V centrálním úložišti je Váš certifikát uložen ve složce Osobní/Certifikáty.

Z tohoto úložiště si načítá Váš soukromý elektronický klíč většina aplikací, které s elektronickým podpisem umí pracovat. Do centrálního úložiště jste certifikát naimportovali a můžete ho i obvykle z něho vyexportovat. Zadává se při tom heslo pro import/export, které se vztahuje a chrání konkrétní soubor *.p12 či *.pfx s klíči. Pro zvýšenou ochranu proti nežádoucímu použití certifikátu z vašeho počítače (např. jinou osobou) je vhodné zároveň s importem certifikátu (ze souboru *.p12 či *.pfx) do datového úložiště Windows zvolit „vyšší úroveň zabezpečení“ či „Povolit silnou ochranu soukromého klíče“ a zadat heslo CryptoAPI. Toto heslo pak používají některé aplikace (např. MS Office, JSignPdf) při digitálním podepisování. Vždy, když chcete elektronicky dokument podepsat, tak Vás vyzvou k zadání tohoto hesla. Použití certifikátu je tak více chráněno proti nežádoucímu použití.

Toto heslo CryptoAPI se Vám bohužel k certifikátu v datovém úložišti nepřidá, pokud certifikát nainstalujete přímo poklepáním na vydaný certifikát *.crt podle návodu pro jednoduchou přímou instalaci. Pravděpodobně ale půjde takto nainstalovaný certifikát z datového úložiště následně vyexportovat do souboru pfx a pak zpět naimportovat do datového úložiště s již rozšířenou volbou pro vyšší zabezpečení a požadavkem na heslo CryptoAPI. To musím ještě ozkoušet a dám vědět :).

Elektronicky podepsaný email

Zde jsou vypsáni emailoví klienti, kteří umí elektronicky podepisovat emaily:

  • Microsoft Outlook Express
  • Microsoft Windows Mail (Win Vista, 7)
  • Microsoft Outlook 2003
  • Microsoft Outlook 2007
  • Mozilla Thunderbird

Návody, jak zprovoznit podepisování v emailových klientech najdete např. na PostSignum: Příručky a návody

Například v Microsoft Outlook 2007 digitální podpis do emailu v rozepsané zprávě přidáte volbou: Zpráva/Možnosti/Digitálně podepsat zprávu.

Pokud byste takto chtěli například poslat elektronicky podepsanou fakturu a podepsali byste pouze email, který v sobě elektronickou fakturu obsahuje v příloze, tak by si příjemce správně musel archivovat celý email, protože email by obdržel digitálně podepsaný. To není ideální. Proto je lepší elektronicky podepsat nikoli email, ale přímo dokument - fakturu.

Elektronicky podepsaný dokument

S elektronickými podpisy dobře spolupracuje Microsoft Office. Příjemce si pak může digitální podpis prohlédnout v Microsoft Office.

Microsoft Office

Do dokumentů sady Microsoft Office 2007 (Excel a Word) se digitální podpis vkládá přes volbu:

K podpisu se vloží obrázek Vašeho podpisu (ten si nascanujete) a takové veliké X s čarou, který má asi označovat, že jde o digitální podpis.

Pozor, digitálně podepsaný dokument se Vám uloží pouze pro čtení - nelze již editovat. Proto je vhodné si předem dokument, který chcete digitálně podepsat uložit jako samostatný soubor (tj. nechat si v záloze editovatelnou kopii) a pak ho teprve podepsat. Přeuložení pouze pro čtení je pochopitelné a žádoucí. Zabrání se tak nechtěným změnám v dokumentu, které by digitální podpis zneplatnily. Navíc příjemce dokumentu nevidí vzorečky a nemůže se v dokumentu „hrabat“.

Bohužel, ačkoli Office podporují export dokumentu do pdf, není zde možnost zahrnout elektronický podpis do dokumentu pdf. Přeukládání dokumentů Microsoft Office 2007 do pdf je možné po nainstalování doplňku sady pro ukládání do PDF, ale elektronický podpis k pdf není připojen.

Pokud chcete podepsat wordovský či excelovský dokument, musíte poslat tento dokument ve formátu MS Office *.docx či *.xlsx.

Bohužel příjemce sice nemůže editovat dokument, ale vidí jeho strukturu (strukturu buněk v excelu). Aby příjemce neviděl strukturu excelovského souboru (jednotlivé buňky), tak lze mřížky, sloupce i řádek se vzorci vypnout volbou: Zobrazení/Zobrazit či skrýt/Mřížka či Řádek vzorců či Nadpisy. Uživatel se ale i tak dostane na jednotlivé buňky. Jako další nevýhoda mne napadá komplikace s tiskem dokumentu. Nastavení tisku je velice individuální a záleží na tiskárně. Mohlo by se stát, že Vy si klidně vytisknete dokument na A4, ale příjemci by se dokument na A4 nemusel vejít a musel by si hrát s nastavením tisku. Proto je lepší přeuložení do souboru typu pdf. Tento formát ostatně používají velké společnosti a čtení pdf je zaběhlé a univerzální.

OpenOffice.org

S podpisy umí pracovat i konkurenční kancelářský balík OpenOffice.org, který je zdarma. Například u Writeru ci Calcu se zadá Soubor/Elektronické podpisy a z datového úložiště se vybere certifikát. Ikonka dole signalizuje, že byl přidán elektronický podpis. Bohužel elektronicky podepsaný dokument zde není určet pouze pro čtení. Dokument lze otevřít a změnit a pak se ihned elektronický podpis pochopitelně při nechtěném přeuložení znehodnotí. OpenOffice sice varuje hláškou při ukládání, že dojde ke ztrátě elektronického podpisu, ale i tak neopatrný uživatel může lehko udělat chybu. Přístup Microsoftu, který dokument nadobro zamkne proti změnám, je lepší. OpenOffice navíc nevyžadovalo, na rozdíl od Microsoft Office, heslo CryptoAPI, což mi přijde dosti divné. Nebudí to ve mne příliš velkou důvěru, zda tento podpis pracuje opravdu správně.

Opět nevýhodou je, že příjemce by musel mít nainstalovaný OpenOffice, aby si mohl podpis ověřit. OpenOffice není v komerční sféře bohužel zatím příliš rozšířen, proto nedoporučuji podepisování dokumentů tímto způsobem. Opět ani v OpenOffice nelze zahrnout digitální podpis při exportu do pdf.

Přidávání podpisu přímo do konkrétních dokumentů není ideální

Přidávání elektronického podpisu přímo do dokumentů Microsoft Office či OpenOffice není tedy úplně ideální. Problémem může být tisk dokumentu a nutnost mít daný software pro prohlížení dokumentu. OpenOffice je sice zdarma, ale není masově rozšířen. Microsoft Office zdarma není, zdarma je pouze jeho zjednodušená on-line varianta.

Výhodou přidávání podpisu do dokumentů Microsoft Office asi je, že Microsoftu jakžtakž věřím, že s elektronickým podpisem neprovede něco nepatřičného, na rozdíl od pochybných softwarů na internetu, které mohou rádoby podpis do dokumentů přidávat.

Elektronicky podepsané pdf

Masově je rozšířeno prohlížení dokumentů přes pdf. PDF reader je zdarma a skoro každý ho používá. Proto se jako nejlepší řešení se jeví uložení dokumentu do pdf a přidání elektronického podpisu do pdf.

Bohužel pro přidávání podpisu do pdf byste potřebovali nejlépe Adobe Acrobat, který je určen právě pro vytváření pdf. Tento software je však placený. U nás je hlavním distributorem firma AMOS Software. Firma Adobe je tvůrcem formátu pdf. Mezi další placené varianty dále například patří software PDF Singer.

Pdf s elektronickým podpisem zdarma

Exportovat do pdf umí spousta programů. Málo který z nich ale přidá zdarma elektronický podpis. Zde jsou programy, které nabízí elektronický podpis zdarma:

  • PDFCreator – jde o dosti rozšířený software s otevřeným kódem
  • JSignPdf – autorem JSignPdf je český vývojář Josef Cacek

PDFCreator

PDFCreator se Vám po nainstalování také tváří jako virtuální tiskárna. Do pdf Vám převede skoro jakýkoli formát souboru. Jde o Open Source pod licencí GNU General Public License. Tento software je celkem mezi uživateli rozšířený a hojně stahovaný - viz. například stahuj.cz. Umí připojit k pdf i elektronický podpis.

Práce s certifikátem *.p12

Bohužel program neumí pracovat s úložištěm certifikátů Windows. Požaduje zadání soukromého elektronického klíče ve formátu Pfx/P12 a zadání hesla k certifikátu pro export/import. Ačkoli *.p12 je právě soubor soukromého klíče, se kterým aplikace pracují, tento přístup ve mně budí určitou nedůvěru. Absolutně se svěřujete tomuto software do rukou. Nevím, jaký je přesně rozdíl mezi prací s úložištěm certifikátů a s tímto souborem *.p12. Je možné, že skoro žádný. Ale z mého pohledu, pokud někdo (např. aplikace) má přístup přímo k souboru *.p12 a do aplikace se zadá přímo přístupové heslo, tak si může s certifikátem už dělat prakticky cokoli. Nahrát si ho k sobě domů do PC a začít podepisovat dokumenty za někoho jiného... Mám pocit, že v datovém úložišti je to více chráněno. Sice se prostřednictvím datového úložiště také aplikace dostane k soukromému certifikátu, ale nikoli snad k heslům k certifikátu pro export/import. Tato hesla se totiž zadávala při nahrávání certifikátu do datového úložiště. Datové úložiště umožňují export certifikátu do formátu *.p12, ale opět po zdadání hesla pro export. Pokud nemáte k software plnou důvěru, tak je z mého pohledu lepší najít software, který nepracuje s *.p12 přímo, ale přes datové úložiště Windows. Microsoft Office i OpenOffice pracuje například právě s datovým úložištěm.

Bohužel ani například aplikace pro elektronícké podání daňových přiznání - EPO (Elektronické podání) daňové správy - neumožňují vždy využívat datové úložiště certifikátů. Záleží na PC. Datové úložiště pro EPO funguje v aplikaci Internet Explorer 32 bit, ale v MS Internet Explorer 64 bit není podporována ActiveX knihovna CAPICOM, která pracuje s datovým úložištěm, a proto musíte nainstalovat příslušný Sun Java Plug-in a pracovat přímo se souborem *.p12 uloženého v adresáři klíčů a zadávat k němu příslušné heslo k adresáři nebo heslo pro export/import u uložených certifikátů. Více informací najdete k této problematice v dokumentaci: Technické podmínky pro použití daňového portálu, případně na stránkách ePODPORA.

Pokud nedůvěřujete plně aplikaci, tak bych do „ruky“ *.p12 nedávala. Právě tento soubor máte chránit „jako oko v hlavě“, jde o Váš soukromý klíč (dvojice soukromý + veřejný klíč). Bohužel některé aplikace s ním pracují přímo, což potvrzuje i úvodní stránka programu PostSignum Tool Plus (program pro práci s certifikáty), kde je psáno:

„Tento jednoúčelový program slouží výhradně pro generování dvojice RSA klíčů, tvorbu žádosti o certifikát ve formátu PKCS#10, import certifikátu ve formátu X509v3 a export dvojice soukromý klíč, certifikát do souboru ve formátu PKCS#12. Tento soubor poté můžete importovat do libovolného software používajícího certifikáty, jako například webový prohlížeč, Microsoft Outlook nebo aplikace REP.“

PKCS#12 je právě formát Pfx/P12.

V PDF Creatoru elektronický podpis přidáváte tímto stylem: Document/Add, vyberete masku all files a otevřete soubor, který chcete převést do pdf a podepsat. Soubor se Vám otevře, nastaví se virtuální tiskárna PDF creatoru a soubor se automaticky zavře. Dále jste vyzváni pro zadání parametrů k souboru. Volbou Options máte možnost zvolit další parametry včetně elektonického podpisu. Vlevo vyberete Formats/PDF/Signing a zaškrtnete Sign pdf file a vyberete soubor *.p12 (např. vyexportovaný klíč) nebo pfx se soukromým klíčem. Pomocí tlačítka Save pdf soubor uložíte. Následně budete vyzváni k zadání hesla k souboru s certifikátem *.p12 pro export. Výsledný soubor je celkem malý. PDF Creator umožňuje vložit i viditelný elektronický podpis, ale nikoli bohužel formou obrázku (např. podpis + razítko). Bohužel, pokud Adobe Reader Váš podpis z nějakého důvodu neověří, je tam pak vidět přímo v dokumentu ošklivé varování s otazníkem, takže tuto volbu nedoporučuji. Lepší a použitelný je zde pouze neviditelný podpis.

Doufám, že se PDFCreator chová k podpisu korektně a heslo ani certifikát si nikam neukládá apod. Tento program má otevřený kód, takže by měl být snad ok.

Kompatibilita s PDF/A

V nabídce Options je vhodné vybrat volbu Program/Save/Standard save format/PDF/A-1b. PDF Creator bude soubory ukládat do pdf kompatibilní s nornou PDF/A.

Jinak dokumenty do PDF můžete přímo tisknout třeba z Excelu či Wordu přes tiskárnu PDFCreator. Pokud budete chtít používat elektronický podpis či jen ukládat do PDF, je to takto nejrychlejší. PDF Creator má výstupní PDF soubor skoro 10x menší než soubor, který vznikne uložením PDF z Wordu či Excelu pomocí volby Uložit jako.

JSignPdf

Toto je prográmek čistě zaměřený na podepsání již hotového pdf. Stáhnout si ho můžete například ze stahuj.cz. Program pouze připojí do pdf elektronický podpis. Tento prográmek se mi líbí z důvodu, že nevyžaduje přímo práci se souborem soukromého klíče *.p12, ale umí využívat úložiště certifikátů Windows. Pro použití soukromého klíče požaduje standardně heslo ke CryptoAPI (pokud ho máte nastaveno).

Program umí do dokumentu vkládat jak viditelný (obrázkový podpis – např. vaše razítko s podpisem), tak i neviditelný podpis. Pokud se do dokumentu vkládá neviditelný podpis, tak je dokument znatelně menší.

Kompatibilita s PDF/A

Toto píšou přímo u návodu: „Jestliže je vstupní soubor kompatibilní se specifikací PDF/A a nepoužijete v JSignPdf volbu kódování dokumentu, pak i výstupní soubor by měl být kompatibilní s PDF/A“. Uložit do formátu PDF/A lze například z Wordu či Excelu, nebo přes PDFCreator. Ulkádání do PDF/A v Microsoft Office nastavíte při uložení do pdf přes tlačítko Možnosti/Možnosti PDF a zaškrtnete Kompatibilní s normou ISO 19005-1 (PDF/A). Takto uložený soubor v PDF/A načtete následně v JSignPdf a jen k němu přidáte elektronický podpis.

PDF/A

PDF/A je zkratka pro PDF/Archive. Jde o standard, který zaručuje, že soubor bude dlouho čitelný i v budoucnosti. Pro dlouhodobou archivaci se doporučuje používat formát PDF/A. Digitální podpis ale může zahrnovat i vizuální prvky. Ty jsou ve formátu PDF/A-1 sice podporovány, ale je složitější v tomto případě splnit specifikaci, a tak tato vlastnost mnohdy není podporována. Elektronický podpis může být součástí dokumentu splňujícího formát PDF/A.

Bohužel v PDF Creatoru formát PDF/A včetně elektronického podpisu podporován není. Když například v PDF Cratoru zadáte uložení do PDF/A-1b, tak výsledný soubor bude bez digitálního podpisu, i když jste ho tam zadávali! Když vyberete uložení pouze do pdf (PDF 1.4), výsledný soubor bude obsahovat digitální podpis, pokud jste ho zadali, ale nevyhovuje už normě PDF/A. Uložení elektronického podpisu do PDF/A umožňují např. produkty Adobe a správně to také dělá JSignPdf, když mu jako vstupní dáte soubor PDF/A.

To, zda pdf splňuje normu či nikoli si můžete zkontrolovat v prohlížeči Adobe Reader. Jednak se Vám obvykle zobrazí nahoře modrá lišta s informací, že „Tento dokument je zobrazen v režimu PDF/A“. To však ještě nemusí znamenat, že dokument vyhovuje normě, pouze je tato norma použita pro zobrazení. Pokud dokument normě vyhovuje, tak vlevo se objeví ikonka PDF, na kterou můžete kliknout, a objeví se shoda se standardem PDF/A.

Porovnání programů

PDF Creator

Výhody:

  • Je univerzálnější
  • Více rozšířen
  • Vytváří podstatně menší soubory než například Word či Excel
  • Funguje jako virtuální tiskárna - lze tisknout do pdf přímo z různých aplikací

Nevýhody:

  • Neumí uložit pdf s elektronickým podpisem do archivní normy PDF/A
  • Přistupuje k soukromému certifikátu přímo a vyžaduje heslo pro export/import certifikátu, což je dle mého názoru méně bezpečné!
  • Nelze vložit vlastní obrázek podpisu. Sice umožňuje vložit viditelný podpis, ale jde pouze o text. Navíc, pokud se nepodaří podpis ověřit, zobrazuje se ošklivá hláška, že certifikát je neplatný. Dokument následně nejde rozumně vytisknout bez této hlášky - ošklivého obrázku uvnitř dokumentu. Protože není vůbec jednoduché donunit Adobe Reader k správné verifikaci certifikátů, tak se většině lidem objeví, že je certifikát neplatný, ačkoli je certifikát v pořádku. Proto vidím viditelný podpis z PDF Creatoru pro praxi jako nepoužitelný. Zobrazuje se: „Neznámá platnost…“ a velký obrázek s otazníkem a hlavou osoby. Pokud chcete mít na dokladu mermomocí razítko s podpisem, lze to obejít tím, že razítko s podpisem umístíte jako obyčejný obrázek do souboru pdf a nikoli jako viditelný podpis. Nelze ale pak na něj klikat pro zobrazení informací o podpisu.
  • Vložené obrázky jsou v podstatně horší kvalitě, než třeba při uložení pdf z Wordu či Excelu. A bohužel se mi to nedařilo změnit pomocí nastavení rozlišení. Možná ale jenom nevím kde to nastavit...
  • Opakované zkoušení načítání ukládání do pdf je celkem zdlouhavé.
  • Program dosti často blbne. Třeba nenačte správně otvíraný soubor, nebo nezkontroluje správně zadané heslo.

PDF Creator bych viděla jako vhodný nástroj pro rychlou tvorbu PDF/A souborů pro archivaci bez elektronického podpisu.

JSignPdf

Výhody:

  • Je jednoduchý na ovládání - zaměřen pouze na elektronický podpis
  • Když dostane pdf soubor splňující formát PDF/A, výsledný pdf soubor s elektronickým podpisem také vyhovuje PDF/A.
  • Nepřistupuje k soukromému certifikátu přímo, ale využívá úložiště certifikátů ve Windows - je to více bezpečné. Vytvoření podpisu je chráněno heslem CryptoAPI. Toto heslo si dočasně pamatuje - nemusíme ho zadávat pořád znova.
  • Pamatuje si předchozí nastavení. Ukládání můžete zkoušet pořád dokola, dokud nejste spokojeni s výsledkem.
  • Umožňuje přidat obrázek (např. podpis + razítko) a případný popisek, že jde o elektronický podpis. Po kliknutí na obrázek se pak zobrazuje informace o certifikátu. Musíte si pohrát s nastavením, ale výsledek je docela pěkný.
  • Program je uvolněn jako open source Java application

Nevýhody:

  • Vyžaduje již připravené pdf, do kterého vloží pouze podpis. Musíme si připravit předem pdf soubor například pomocí uložení do pdf např. z Wordu či Excelu. Ve Wordu či Excelu je pak vhodné zaškrtnout kompatibilitu s normou PDF/A. Nebo můžeme využít PDF Creatoru pro tvorbu PDF/A bez podpisu - soubor je podstatně menší než z Wordu či Excelu. Tento soubor následně načteme v JSignPdf a přidáme podpis.
  • Málo rozšířen
  • Tvůrcem programu je jeden člověk
  • Vytváří větší soubory, resp. Word a Excel vytváří veliká pdf. Ale to lze eliminovat použitím PDF Creatoru pro přípravu pdf. Nicméně výsledný soubor s podpisem z JSignPdf je vždy větší, než například při přímém použití PDF Creatoru s podpisem.
  • Aby elektronicky podepsaný dokument splňoval normy PDF/A, musí JSignPdf obdržet pdf v nomě PDF/A.
  • Pozicování případného vloženého obrázku není bohužel intuitivní, musíte ho zadat číselně.

Závěr

Vzhledem k tomu, že můj oblíbený software pro podepisování dokumentů (Print2PDF 9 Free) se stal placený, tak doporučuji použít PDFCreator.

Pokud požadujete dokumenty ve formátu PDF/A a nechce se vám platit za software, tak bych využila kombinaci výhod obou programů PDFCreator a JSignPdf. V PDF Creatoru si nastavíte, aby stadardně ukládal soubory do PDF/A. V PDF Creatoru si vytvoříte PDF/A bez digitálního podpisu (třeba formou tisku na virtuální tiskárnu souboru z Wordu). Toto pdf si následně načte v JSignPdf a přidáte k němu funkční elektronický podpis (viditelní s obrázkem či neviditelný). Výsledek bude celkem malý a ve formátu pro vhodném pro archivaci PDF/A.

Přímo PostSignum doporučuje tyto produkty a programy ke stažení.

Další články