Osiguranje i potpisi
Osiguranje i potpisi
Aspose.PDF FOSS for .NET supports PDF digital signatures, certificate-based Korišćenje: PdfSigner za potpisivanje radni tokovi i PdfCertificate za upravljanje certifikatom.
Potpisivanje dokumenta
PdfSigner U slučaju da je to moguće, podnositelj zahtjeva može zatražiti od strane nadležnog tijela da se u skladu s člankom 13. stavku 1. točke (a) provede postupak o odobrenju.
var cert = PdfCertificate.FromPfx("certificate.pfx", "password");
var signer = new PdfSigner();
signer.Sign(doc, cert);
doc.Save("signed.pdf");Potvrđivanje potpisa
var signer = new PdfSigner();
bool valid = signer.Verify(doc);
Console.WriteLine($"Signature valid: {valid}");Potpis s vizualnim izgledom
signer.SignWithAppearance(doc, cert, signatureField, appearance);Upravljanje certifikatom
PdfCertificate U ovom slučaju, podnositelj zahtjeva može zatražiti od strane nadležnog tijela da odobri ispitivanje.
// From PFX
var cert = PdfCertificate.FromPfx("cert.pfx", "password");
// From DER files (certificate + key)
var cert2 = PdfCertificate.FromDerFiles("cert.der", "key.der");Krijtacija na temelju certifikata
CertificateEncryptionOptions šifrira PDF tako da samo određeni certifikat -Sve je u redu.
var options = new CertificateEncryptionOptions(cert);Službenici za sigurnosnu zaštitu
Izvršenje ICustomSecurityHandler za prilagođenu šifriranje i logiku dekriptacije.
public class MyHandler : ICustomSecurityHandler
{
public void Initialize(EncryptionParameters parameters) { }
public byte[] CalculateEncryptionKey() { /* ... */ return Array.Empty<byte>(); }
public byte[] GetUserKey() { /* ... */ return Array.Empty<byte>(); }
public byte[] GetOwnerKey() { /* ... */ return Array.Empty<byte>(); }
public bool IsOwnerPassword(string password) { /* ... */ return false; }
public bool IsUserPassword(string password) { /* ... */ return false; }
}Informacije o algoritmu potpisa
SignatureAlgorithmInfo Opisuje algoritam koji se koristi u postojećem potpisu.
var info = new SignatureAlgorithmInfo("SHA256withRSA");
Console.WriteLine(info.ToString());Savjeti i najbolje prakse
- Potpisati se uvijek kao posljednji korak Svaka izmjena nakon potpisivanja poništava potpis.
- Koristite PFX datoteke s snažnim lozinkama za pohranu certifikata.
- Potvrditi potpise nakon učitavanja dokumenta kako bi se otkrilo da je bilo kakvo prerađivanje.
- Za šifriranje na temelju certifikata potreban je certificat javnog ključa primatelja.
- Izvršenje
ICustomSecurityHandlersamo ako standardna enkripcija nije dovoljna.
Zajednički problemi
| Izdavanje | Uzrok | Popraviti |
|---|---|---|
| Potpis je nevaljan. | Uredba (EZ) br. | Ponovno potpisati nakon što su sve promjene završene. |
| Neuspjeh u punjenju PFX-a | Pogrešna lozinka ili pokvarena datoteka | Potvrditi lozinku i integritet datoteke |
| Kriptovanje sprečava otvaranje. | Neopisana lozinka vlasnika | Koristite ispravnu vlasnik ili korisničku lozinku |
FAQ
Koje su podržane algoritme potpisa?
RSA s SHA-256, Sha-384 i SHa-512 su obično podržani. Dostupni algoritmi ovisno o tipu ključa certifikata.
Mogu li dodati više potpisa?
Da, svaki potpis primjenjuje se na zasebno polje za potpisivanje u dokumentu.
Da li je za potpisivanje potrebno trgovačko potvrde?
Ne, samo-potpisani certifikati rade za testiranje. Za proizvodnju koristite sertifikat od pouzdanog CA-a.
Svrha referentnog API-a
| Klasa / metoda | Opisivanje |
|---|---|
PdfSigner | Potpisati i provjeriti PDF dokumente |
PdfSigner.Sign | Primjenjuje se digitalni potpis |
PdfSigner.Verify | Provjeriti valjanost potpisa |
PdfSigner.SignWithAppearance | Oznaka s vizualnim poljem potpisa |
PdfCertificate | Uređaj za punjenje certifikata u PFX i DER formatu |
PdfCertificate.FromPfx | Uplatiti s PFX datoteke sa lozinkom |
PdfCertificate.FromDerFiles | Opterećenje iz DER-kodiranih datoteka |
CertificateEncryptionOptions | Kripcija PDF-a na temelju certifikata |
ICustomSecurityHandler | Interfejs za prilagođeno šifriranje/dešifrovanje |
EncryptionParameters | U ovom slučaju, u skladu s člankom 16. stavkom 1. točkom (a) Uredbe (EU) br. |
SignatureAlgorithmInfo | Metapodatki o algoritmu potpisa |