Praca z podpisami cyfrowymi
Podpis cyfrowy to technologiczna implementacja podpisów elektronicznych do podpisywania dokumentów i uwierzytelniania osoby podpisującej w celu zagwarantowania, że dokument nie został zmodyfikowany od czasu jego podpisania. Każdy podpis cyfrowy jest unikalny dla każdego sygnatariusza ze względu na przestrzeganie protokołu PKI w celu generowania zarówno kluczy publicznych, jak i prywatnych. Podpisanie dokumentu cyfrowo oznacza utworzenie podpisu przy użyciu klucza prywatnego sygnatariusza, w którym do szyfrowania wygenerowanego skrótu używany jest algorytm matematyczny.
Aspose.Words umożliwia wykrycie, policzenie lub weryfikację istniejących podpisów cyfrowych, a także dodanie nowego podpisu do dokumentu, aby wykryć wszelkie manipulacje w nim. Możesz także usunąć wszystkie podpisy cyfrowe z dokumentu. Użyj klasy DigitalSignatureUtil do pracy z podpisami cyfrowymi.
W tym artykule wyjaśniono, jak wykonać wszystkie powyższe czynności, aby zweryfikować autentyczność i integralność dokumentu cyfrowego.
Spróbuj online
Możesz wypróbować tę funkcjonalność z naszym Darmowy podpis online.
Obsługiwane Formaty
Aspose.Words umożliwia pracę z podpisami cyfrowymi na dokumentach DOC, OOXML i ODT oraz podpisywanie wygenerowanego dokumentu w formacie PDF lub XPS.
Ograniczenia podpisów cyfrowych
Poniższa tabela opisuje kilka ograniczeń, które możesz napotkać podczas pracy z podpisami cyfrowymi za pośrednictwem Aspose.Words, a także kilka alternatywnych opcji.
Ograniczenie | Opcja alternatywna |
---|---|
Utrata podpisów cyfrowych na dokumencie po załadowaniu i zapisaniu. Dlatego przetwarzanie dokumentu na serwer może spowodować utratę wszystkich podpisów cyfrowych bez powiadomienia. | Sprawdź, czy dokument ma podpisy cyfrowe i podejmij odpowiednie działania, jeśli zostaną znalezione. Na przykład wyślij alert do klientów, informując ich, że przesyłany dokument zawiera podpisy cyfrowe, które zostaną utracone w przypadku przetworzenia. |
Aspose.Words obsługuje pracę z makrami w dokumencie. Ale Aspose.Words nie obsługuje jeszcze podpisów cyfrowych na makrach. | Eksportuj dokument z powrotem do dowolnego formatu Word i użyj Microsoft Word, aby dodać podpis cyfrowy do makr. |
Wykrywaj, licz i weryfikuj Podpisy cyfrowe
Aspose.Words umożliwia wykrycie podpisu cyfrowego w dokumencie przy użyciu metody DetectFileFormat i właściwości HasDigitalSignature. Warto zauważyć, że taka kontrola wykryje tylko fakt podpisu, ale nie jego ważność.
Dokument może być podpisany więcej niż jeden raz, a mogą to zrobić różni użytkownicy. Aby sprawdzić ważność podpisów cyfrowych, musisz załadować je z dokumentu przy użyciu metody LoadSignatures i użyć właściwości IsValid. Również Aspose.Words pozwala policzyć zestaw wszystkich podpisów cyfrowych w dokumencie przy użyciu właściwości Count.
Wszystko to zapewnia skuteczny i bezpieczny sposób sprawdzania dokumentu pod kątem podpisów przed jego przetworzeniem.
Poniższy przykład kodu pokazuje, jak wykryć obecność podpisów cyfrowych i je zweryfikować:
Utwórz podpis cyfrowy
Aby utworzyć podpis cyfrowy, musisz załadować certyfikat podpisywania potwierdzający tożsamość. Kiedy wysyłasz podpisany cyfrowo dokument, wysyłasz również swój certyfikat i klucz publiczny.
Aspose.Words umożliwia utworzenie certyfikatu X. 509, certyfikatu cyfrowego, który wykorzystuje międzynarodowy standard X. 509 PKI w celu sprawdzenia, czy klucz publiczny należy do podpisującego zawartego w certyfikacie. Aby to zrobić, użyj metody Create w klasie CertificateHolder.
W następnych sekcjach wyjaśniono, jak dodać podpis cyfrowy, wiersz podpisu i jak podpisać wygenerowany dokument PDF.
Podpisz dokument
Aspose.Words umożliwia podpisanie dokumentu DOC, DOCX lub ODT cyfrowo przy użyciu metody Sign i właściwości SignOptions.
Poniższy przykład kodu pokazuje, jak podpisywać dokumenty za pomocą posiadacza certyfikatu i opcji podpisywania:
Dodaj linię podpisu
Linia podpisu to wizualna reprezentacja podpisu cyfrowego w dokumencie. Aspose.Words umożliwia wstawienie linii podpisu przy użyciu metody DocumentBuilder.InsertSignatureLine. Możesz także ustawić parametry dla tej reprezentacji za pomocą klasy SignatureLineOptions.
Na przykład poniższy obrazek pokazuje, jak można wyświetlać prawidłowe i nieprawidłowe podpisy.
Ponadto, jeśli dokument zawiera wiersz podpisu i nie ma podpisu cyfrowego, istnieje funkcja, która prosi użytkownika o dodanie podpisu.
Poniższy przykład kodu pokazuje, jak podpisać dokument osobistym certyfikatem i określoną linią podpisu:
Podpisz wygenerowany PDF Dokument
Aspose.Words umożliwia podpisanie i uzyskanie wszystkich szczegółów dokumentu PDF przy użyciu właściwości PdfDigitalSignatureDetails.
Poniższy przykład kodu pokazuje, jak podpisać wygenerowany PDF:
Pobierz wartość podpisu cyfrowego
Aspose.Words zapewnia również możliwość pobierania wartości podpisu cyfrowego z podpisanego cyfrowo dokumentu jako tablicy bajtów przy użyciu właściwości SignatureValue.
Poniższy przykład kodu pokazuje, jak uzyskać wartość podpisu cyfrowego jako tablicę bajtów z dokumentu:
Usuwanie Podpisów Cyfrowych
Aspose.Words umożliwia usunięcie wszystkich podpisów cyfrowych z podpisanego dokumentu przy użyciu metody RemoveAllSignatures.
Poniższy przykład kodu pokazuje, jak załadować i usunąć podpisy cyfrowe z dokumentu: