Podpisy cyfrowe
Podpisy cyfrowe w PDF
Podpisy cyfrowe w formacie PDF wykorzystują certyfikaty kryptograficzne do potwierdzania autentyczności dokumentu i wykrywania manipulacji. Podpisy są osadzane w polach podpisu w obrębie dokumentu.
PdfFileSignature
PdfFileSignature udostępnia operacje służące do podpisywania i weryfikacji pól podpisu w istniejącym dokumencie PDF:
try (PdfFileSignature sig = new PdfFileSignature("input.pdf")) {
sig.sign(1, certificate, privateKey, chain, null, new DocMDPSignature(doc, DocMDPAccessPermissions.FillingInForms));
sig.save("signed.pdf");
}Weryfikacja sprawdza, czy podpis obejmuje oczekiwany zakres bajtów oraz czy certyfikat podpisującego jest ważny.
PdfSigner
PdfSigner udostępnia wysokopoziomowy przepływ pracy podpisywania, łączący tworzenie pola podpisu, generowanie kontenera PKCS#7 oraz obliczanie zakresu bajtów.
PKCS7SignedData
PKCS7SignedData.createDetached() tworzy odłączony kontener podpisu CMS do osadzenia w słowniku podpisu PDF. Zobacz PKCS#7 po szczegółach.
Weryfikacja podpisu
Po podpisaniu, podpisy można wyliczyć za pomocą PdfFileSignature.getSignNames() i zweryfikować, sprawdzając status ważności podpisu.