Biztonság és aláírások

Biztonság és aláírások

Biztonság és aláírások

Aspose.PDF FOSS for .NET támogatja a PDF digitális aláírásokat, tanúsítvány alapú titkosítást és egyedi biztonsági kezelőket. Használja a PdfSigner‑t az aláírási munkafolyamatokhoz és a PdfCertificate‑t a tanúsítványkezeléshez.


Dokumentum aláírása

PdfSigner digitális aláírást alkalmaz egy PDF-re PFX tanúsítvány használatával.

var cert = PdfCertificate.FromPfx("certificate.pfx", "password");
var signer = new PdfSigner();
signer.Sign(doc, cert);
doc.Save("signed.pdf");

Aláírások ellenőrzése

var signer = new PdfSigner();
bool valid = signer.Verify(doc);
Console.WriteLine($"Signature valid: {valid}");

Aláírás vizuális megjelenéssel

signer.SignWithAppearance(doc, cert, signatureField, appearance);

Tanúsítványkezelés

PdfCertificate tanúsítványokat tölt be PFX fájlokból vagy DER‑kódolt fájlokból.

// From PFX
var cert = PdfCertificate.FromPfx("cert.pfx", "password");

// From DER files (certificate + key)
var cert2 = PdfCertificate.FromDerFiles("cert.der", "key.der");

Tanúsítvány alapú titkosítás

CertificateEncryptionOptions titkosít egy PDF-et, hogy csak a megadott tanúsítványtulajdonosok nyithassák meg.

var options = new CertificateEncryptionOptions(cert);

Egyéni biztonsági kezelők

Implementálja ICustomSecurityHandler egyedi titkosítási és visszafejtési logikához.

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; }
}

Aláírási algoritmus információ

SignatureAlgorithmInfo leírja a meglévő aláírásban használt algoritmust.

var info = new SignatureAlgorithmInfo("SHA256withRSA");
Console.WriteLine(info.ToString());

Tippek és bevált gyakorlatok

  • Mindig a végső lépésként írja alá a dokumentumokat — az aláírás után bármilyen módosítás érvényteleníti az aláírást.
  • Használjon PFX fájlokat erős jelszavakkal a tanúsítvány tárolásához.
  • Ellenőrizze az aláírásokat a dokumentum betöltése után a manipuláció felderítéséhez.
  • Tanúsítvány alapú titkosításhoz a címzett nyilvános kulcsú tanúsítványa szükséges.
  • Implementálja a ICustomSecurityHandler-t csak akkor, ha a szabványos titkosítás nem elegendő.

Gyakori problémák

IssueCauseFix
Az aláírás érvénytelennek jelenik megA dokumentum módosítva lett az aláírás utánAláírás újra a módosítások befejezése után
A PFX betöltése sikertelenHelytelen jelszó vagy sérült fájlEllenőrizze a jelszót és a fájl integritását
A titkosítás megakadályozza a megnyitástA tulajdonos jelszó nincs megadvaHasználja a megfelelő tulajdonos vagy felhasználói jelszót

GYIK

Milyen aláírási algoritmusok támogatottak?

Az RSA SHA-256, SHA-384 és SHA-512 kombinációja általában támogatott. Az elérhető algoritmusok a tanúsítvány kulcstípusától függenek.

Több aláírást is hozzáadhatok?

Igen. Minden aláírás a dokumentumban egy külön aláírási mezőhöz van alkalmazva.

Az aláíráshoz szükséges kereskedelmi tanúsítvány?

Nem. Az önaláírt tanúsítványok teszteléshez működnek. Éles környezetben használjon egy megbízható CA-tól származó tanúsítványt.


API Referencia Összefoglaló

Class / MethodDescription
PdfSignerPDF dokumentumok aláírása és ellenőrzése
PdfSigner.SignDigitális aláírás alkalmazása
PdfSigner.VerifyAláírás érvényességének ellenőrzése
PdfSigner.SignWithAppearanceAláírás vizuális aláírásmezővel
PdfCertificateTanúsítvány betöltő PFX és DER formátumokhoz
PdfCertificate.FromPfxBetöltés jelszóval védett PFX fájlból
PdfCertificate.FromDerFilesBetöltés DER‑kódolt fájlokból
CertificateEncryptionOptionsTanúsítvány alapú PDF titkosítás
ICustomSecurityHandlerFelület egyedi titkosításhoz/dekódoláshoz
EncryptionParametersParaméterek, amelyeket egyedi biztonsági kezelőkhöz adunk át
SignatureAlgorithmInfoMetaadatok az aláírás algoritmusáról

Lásd még

 Magyar