IRONSOFTWAREHOME
KORZYSTANIE Z IRONPDF FOR PYTHON

Jak dodać podpis cyfrowy w języku Python

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Podpisy cyfrowe są kluczowym aspektem cyberbezpieczeństwa, zapewniającym autentyczność i integralność wiadomości i dokumentów cyfrowych. Python, z jego bogatym ekosystemem bibliotek, zapewnia dostępną platformę do implementacji takich podpisów z kluczem lub bez użycia def sign i def verify. Ten przewodnik przeprowadzi Cię przez proces tworzenia i potwierdzania podpisu cyfrowego za pomocą klucza prywatnego lub publicznego przy użyciu IronPDF i bibliotek kryptograficznych.

Wprowadzenie do podpisów cyfrowych

Zanim zagłębimy się w kod, spróbujmy zrozumieć, czym są podpisy cyfrowe. Podobnie jak w przypadku swojego fizycznego odpowiednika, podpis cyfrowy służy do weryfikacji autentyczności dokumentu cyfrowego. Zapewnia bezpieczną i odporną na manipulacje pieczęć, gwarantującą nieodwołalność, co oznacza, że osoba podpisująca nie może zaprzeczyć autentyczności swojego podpisu na dokumencie.

Jak działają podpisy cyfrowe

Podpisy cyfrowe wykorzystują kombinację kluczy prywatnych i publicznych. Klucz prywatny służy do tworzenia podpisu i powinien być bezpiecznie przechowywany przez osobę podpisującą. Klucz publiczny, udostępniany wszystkim, służy do weryfikacji, czy podpis został złożony przy użyciu odpowiedniego klucza prywatnego. Opiera się to na kryptografii klucza publicznego, często wdrażanej przy użyciu algorytmów takich jak RSA.

Wprowadzenie do IronPDF

Jak dodać podpis cyfrowy w Pythonie, Rysunek 1: IronPDF IronPDF

IronPDF to wszechstronna biblioteka używana w języku Python do pracy z plikami PDF. Oferuje szeroki zakres funkcji, w tym tworzenie, edycję i renderowanie plików PDF, a także możliwość osadzania podpisów cyfrowych lub wiadomości w plikach PDF. Biblioteka ta wyróżnia się łatwością obsługi i zaawansowanymi funkcjami, co czyni ją doskonałym wyborem dla programistów pragnących zintegrować funkcjonalność PDF ze swoimi aplikacjami w języku Python.

Możliwości IronPDF wykraczają poza podstawową obsługę plików PDF, zapewniając zaawansowane funkcje, takie jak renderowanie HTML do PDF, obsługę CSS i JavaScript oraz, co ważne, możliwość dodawania kryptograficznie bezpiecznych podpisów cyfrowych do dokumentów PDF przy użyciu kryptografii klucza publicznego, takiej jak RSA. Dzięki temu jest to szczególnie przydatne w sytuacjach, w których autentyczność dokumentów ma kluczowe znaczenie, takich jak procesy związane z dokumentacją prawną, finansową i urzędową.

Wymagania wstępne

Przed wdrożeniem podpisów cyfrowych w języku Python należy spełnić kilka warunków wstępnych i wykonać kilka czynności konfiguracyjnych. Te kroki zapewniają, że masz niezbędne środowisko, narzędzia i wiedzę, aby efektywnie pracować z podpisami cyfrowymi. Oto szczegółowy przewodnik po tym, co jest potrzebne, aby rozpocząć pracę:

1. Zainstaluj Python

Pierwszym krokiem jest zainstalowanie języka Python na komputerze. Python to wszechstronny język programowania, którego będziesz używać do pisania skryptów podpisu cyfrowego. Jeśli jeszcze nie zainstalowałeś języka Python, możesz go pobrać z oficjalnej strony internetowej Python. Upewnij się, że pobierasz wersję zgodną z Twoim systemem operacyjnym (Windows, macOS lub Linux).

2. Edytor kodu

Dobry edytor kodu ułatwi pisanie i testowanie skryptów w języku Python. Wybierz edytor, który Ci odpowiada, obsługuje składnię języka Python i najlepiej posiada zintegrowaną obsługę terminala, ułatwiającą testowanie i debugowanie funkcji.

3. Skonfiguruj środowisko programistyczne Python

Dobre środowisko programistyczne może znacznie ułatwić pisanie kodu w świecie Pythona. Możesz użyć edytora tekstu, takiego jak Visual Studio Code lub Sublime Text, albo zintegrowanego środowiska programistycznego (IDE), takiego jak PyCharm lub Jupyter Notebook. Narzędzia te oferują funkcje takie jak podświetlanie składni, autouzupełnianie kodu i debugowanie, które są nieocenione podczas pisania i testowania kodu.

4. Zainstaluj niezbędne biblioteki

Będziesz potrzebować konkretnych bibliotek do obsługi podpisów cyfrowych w języku Python, głównie IronPDF. IronPDF służy do pracy z dokumentami PDF. Bibliotekę tę można zainstalować za pomocą pip, instalatora pakietów języka Python. Otwórz wiersz poleceń lub terminal i uruchom następujące polecenia:

pip install ironpdf

5. Generowanie kluczy kryptograficznych

Do tworzenia i weryfikacji podpisów cyfrowych potrzebna będzie para kluczy kryptograficznych (klucz prywatny i publiczny). Można je wygenerować za pomocą narzędzi takich jak OpenSSL lub Adobe Acrobat Reader w celu utworzenia certyfikatów .pfx lub .p12. Upewnij się, że klucze te są bezpiecznie przechowywane, ponieważ mają one kluczowe znaczenie dla integralności i bezpieczeństwa podpisów cyfrowych.

Generowanie kluczy

Przed podpisaniem dokumentu potrzebna jest para kluczy kryptograficznych. Certyfikat .pfx lub .p12 można wygenerować za pomocą programu Adobe Acrobat Reader lub innych narzędzi do zarządzania certyfikatami.

Podpisywanie dokumentów za pomocą IronPDF

Prosty podpis cyfrowy

Dzięki IronPDF podpisanie pliku PDF może być tak proste, jak poniżej:

from ironpdf import PdfSignature

# Cryptographically sign an existing PDF in 1 line of code!
PdfSignature(r"./certificates/IronSoftware.p12", "123456").SignPdfFile("any.pdf")
Python

W powyższym kodzie funkcja PdfSignature jest używana z podaną ścieżką do certyfikatu .p12 oraz odpowiadającym hasłem. Następnie wywoływana jest ta funkcja w celu podpisania określonego dokumentu PDF.

Zaawansowany podpis cyfrowy

Aby zapewnić większą kontrolę, dokument można podpisywać etapami:

Krok 1: Utwórz plik PDF

Najpierw należy utworzyć dokument PDF z treści HTML, używając klasy ChromePdfRenderer:

from ironpdf import ChromePdfRenderer

# Create a PDF document from HTML content
renderer = ChromePdfRenderer()
doc = renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>")
Python

Krok 2: Utwórz obiekt podpisu

Następnie utwórz obiekt podpisu przy użyciu swojego certyfikatu:

from ironpdf import PdfSignature

# Initialize the signature object with your .pfx certificate and password
signature = PdfSignature(r"./certificates/IronSoftware.pfx", "123456")
Python

Krok 3: Opcjonalne opcje podpisywania

Możesz ustawić dodatkowe opcje, takie jak kontakt, lokalizacja i powód podpisania:

# Set additional signing options
signature.SigningContact = "support@ironsoftware.com"
signature.SigningLocation = "Chicago, USA"
signature.SigningReason = "To show how to sign a PDF"
Python

Krok 4: Podpisz plik PDF

Teraz podpisz plik PDF za pomocą obiektu podpisu:

# Sign the PDF document with the signature
doc.Sign(signature)
Python

Krok 5: Zapisz podpisany plik PDF

Dokument nie zostanie podpisany, dopóki nie zostanie zapisany:

# Save the signed PDF document
doc.SaveAs("signed.pdf")
Python

Jak dodać podpis cyfrowy w Pythonie, Rysunek 2: Wynik podpisanego PDF Wynik w postaci podpisanego pliku PDF

Proces weryfikacji

Znaczenie

Weryfikacja gwarantuje, że integralność dokumentu nie została naruszona, a podpis jest ważny. Wymaga to odszyfrowania obiektu skrótu dokumentu za pomocą klucza publicznego podpisującego, aby upewnić się, że odpowiada on oczekiwanemu skrótowi.

Weryfikacja podpisów

Aby zweryfikować podpis cyfrowy, należy użyć klucza publicznego powiązanego z kluczem prywatnym używanym do podpisywania. Podczas gdy biblioteka IronPDF upraszcza proces podpisywania, weryfikacja zazwyczaj polega na użyciu bibliotek kryptograficznych, takich jak pycryptodome, do porównania skrótu dokumentu ze zdejmowanym skrótem podpisu. Uruchom następujące polecenie, aby użyć pycryptodome:

pip install pycryptodome
SHELL

Bezpieczeństwo i najlepsze praktyki

Chociaż biblioteka IronPDF radzi sobie ze złożonością podpisywania plików PDF, zrozumienie i wdrożenie uwierzytelniania użytkowników, bezpieczne zarządzanie kluczami oraz stosowanie algorytmów skrótu, takich jak RSA, w celu zapewnienia integralności danych są niezbędne przy wdrażaniu podpisu cyfrowego.

Kluczowe zabezpieczenia

Zawsze dbaj o bezpieczeństwo swojego klucza prywatnego. Jeśli ktoś inny uzyska dostęp, będzie mógł podpisywać dokumenty tak samo jak Ty.

Hashing dla integralności

Zawsze należy zaszyfrować dane przed podpisaniem. Gwarantuje to, że podpis jest unikalny dla treści dokumentu.

Weryfikacja zaufania

Zawsze weryfikuj podpisy przed zaufaniem dokumentówi. Gwarantuje to, że dokument nie został zmieniony po podpisaniu.

Wnioski

Tworzenie podpisów cyfrowych w języku Python jest proste dzięki bibliotece takiej jak IronPDF. Umożliwia to programistom podpisywanie i weryfikowanie dokumentów przy minimalnym wysiłku, zapewniając jednocześnie bezpieczne i autentyczne transakcje cyfrowe.

Niniejszy przewodnik zawiera podstawowe informacje i praktyczne wskazówki dotyczące stosowania podpisów cyfrowych w dokumentach PDF przy użyciu języka Python. Postępując zgodnie z przedstawionymi przykładami i najlepszymi praktykami, można wdrożyć solidny proces podpisu cyfrowego w swoich aplikacjach.

IronPDF oferuje bezpłatną wersję próbną, umożliwiającą użytkownikom zapoznanie się z pełną funkcjonalnością przed podjęciem decyzji o zakupie. Aby kontynuować użycie poza okresem próbnym, licencje zaczynają się od $999, z bezpłatnym dostępem zapewnianym do celów rozwoju.

IronPDF umożliwia również tworzenie interaktywnych formularzy, dzielenie i łączenie plików PDF, wyodrębnianie tekstu i obrazów z plików PDF, wyszukiwanie określonych słów w pliku PDF, rasteryzację stron PDF do obrazów, konwersję PDF do HTML oraz drukowanie plików PDF.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta