Práce s digitálními podpisy
Digitální podpis je technologickou implementací elektronických podpisů k podpisu dokumentů a ověření podpisu, aby bylo zaručeno, že dokument nebyl od podpisu změněn. Každý digitální podpis je unikátní pro každého signera, protože následuje protokol PKI pro generování veřejných i soukromých klíčů. Podepsání dokumentu digitálně znamená vytvoření podpisu pomocí podpisového soukromého klíče, kde se používá matematický algoritmus k zašifrování generovaného hašiše.
Aspose.Words umožňuje detekovat, počítat nebo ověřovat existující digitální podpisy a také přidat nový podpis do svého dokumentu, aby zjistil jakékoli manipulace v něm. Můžete také odstranit všechny digitální podpisy z dokumentu. Použijte DigitalSignatureUtil třída pracovat s digitálními podpisy.
Tento článek vysvětluje, jak udělat vše výše uvedené pro ověření pravosti a integrity digitálního dokumentu.
Zkuste online
Tuto funkci můžete zkusit s naší Bezplatný online podpis.
Podporované formáty
Aspose.Words umožňuje pracovat s digitálními podpisy na dokumentech DOC, OOXML a ODT a podepsat vygenerovaný dokument v PDF nebo XPS formát.
Omezení digitálních podpisů
Níže uvedená tabulka popisuje několik omezení, kterým můžete čelit při práci s digitálními podpisy prostřednictvím Aspose.Words, stejně jako některé alternativní možnosti.
Omezení | Alternativní možnost |
---|---|
Ztráta digitálních podpisů na dokumentu po jeho načtení a uložení. Proto může zpracování dokumentu na server způsobit ztrátu všech digitálních podpisů bez předchozího upozornění | Zkontrolujte, zda dokument má digitální podpisy, a přijmout vhodná opatření, pokud jsou nalezeny. Pošlete například upozornění klientům, kteří informují o tom, že dokument, který nahrávají, obsahuje digitální podpisy, které budou ztraceny, pokud bude zpracován |
Aspose.Words podporuje práci s makro v dokumentu. Ale… Aspose.Words dosud nepodporuje digitální podpisy na makros | Exportovat dokument zpět do jakéhokoli formátu Word a používat Microsoft Word přidat digitální podpis do makros |
Detekovat, počítat a ověřit digitální podpisy
Aspose.Words umožňuje detekovat digitální podpis v dokumentu pomocí DetectFileFormat metoda a HasDigitalSignature majetek. Stojí za zmínku, že taková kontrola odhalí pouze skutečnost podpisu, ale nikoli jeho platnost.
Dokument může být podepsán více než jednou, a to může být provedeno různými uživateli. Chcete-li zkontrolovat platnost digitálních podpisů, musíte je načíst z dokumentu pomocí LoadSignatures metoda a použití IsValid majetek. Také Aspose.Words umožňuje spočítat soubor všech digitálních podpisů v dokumentu pomocí Count majetek.
To vše poskytuje účinný a bezpečný způsob, jak před jeho zpracováním ověřit podpisy dokumentu.
Následující příklad kódu ukazuje, jak zjistit přítomnost digitálních podpisů a ověřit je:
Vytvořit digitální podpis
Chcete-li vytvořit digitální podpis, budete muset načíst podpis certifikát, který potvrzuje identitu. Když zašlete digitálně podepsaný dokument, zašlete také svůj certifikát a veřejný klíč.
Aspose.Words umožňuje vytvořit certifikát X.509, digitální certifikát, který používá mezinárodně uznávaný standard X.509 PKI k ověření, že veřejný klíč patří podepisovači, který je součástí certifikátu. K tomu použijte Create metoda v rámci CertificateHolder třída.
Další sekce vysvětlují, jak přidat digitální podpis, podpisovou linii a jak podepsat vygenerovaný PDF dokument.
Podepsat dokument
Aspose.Words umožňuje podepsat dokument DOC, DOCX nebo ODT digitálně pomocí Sign metoda a SignOptions vlastnosti.
Následující příklad kódu ukazuje, jak se podepisují dokumenty pomocí držitele certifikátu a podepisují možnosti:
Přidat řádek podpisu
Podpis je vizuální reprezentace digitálního podpisu v dokumentu. Aspose.Words umožňuje vložit řádek podpisu pomocí DocumentBuilder.InsertSignatureLine metoda. Můžete také nastavit parametry pro tuto reprezentaci pomocí SignatureLineOptions třída.
Následující obrázek například ukazuje, jak mohou být zobrazeny platné a neplatné podpisy.
Také, pokud dokument obsahuje podpisovou řadu a žádný digitální podpis, je funkce požádat uživatele o přidání podpisu.
Následující příklad kódu ukazuje, jak podepsat dokument s osobním certifikátem a zvláštním podpisem:
Podepsat Generovaný dokument PDF
Aspose.Words umožňuje podepsat a získat všechny podrobnosti PDF dokumentu pomocí PdfDigitalSignatureDetails vlastnosti.
Následující příklad kódu ukazuje, jak podepsat generovaný PDF:
Následující obrázek ukazuje, že generovaný dokument PDF je otevřen v Adobe Acrobat a digitální podpis je ověřen jako současný a platný.
Získat hodnotu digitálního podpisu
Aspose.Words poskytuje také schopnost získat hodnotu digitálního podpisu z digitálně podepsaného dokumentu jako pole byte pomocí pole SignatureValue majetek.
Následující příklad kódu ukazuje, jak získat hodnotu digitálního podpisu jako pole byte z dokumentu:
Odstranit digitální podpisy
Aspose.Words umožňuje odstranit všechny digitální podpisy z podepsaného dokumentu pomocí RemoveAllSignatures metoda.
Následující příklad kódu ukazuje, jak načíst a odstranit digitální podpisy z dokumentu: