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
| Issue | Cause | Fix |
|---|---|---|
| Az aláírás érvénytelennek jelenik meg | A dokumentum módosítva lett az aláírás után | Aláírás újra a módosítások befejezése után |
| A PFX betöltése sikertelen | Helytelen jelszó vagy sérült fájl | Ellenőrizze a jelszót és a fájl integritását |
| A titkosítás megakadályozza a megnyitást | A tulajdonos jelszó nincs megadva | Haszná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 / Method | Description |
|---|---|
PdfSigner | PDF dokumentumok aláírása és ellenőrzése |
PdfSigner.Sign | Digitális aláírás alkalmazása |
PdfSigner.Verify | Aláírás érvényességének ellenőrzése |
PdfSigner.SignWithAppearance | Aláírás vizuális aláírásmezővel |
PdfCertificate | Tanúsítvány betöltő PFX és DER formátumokhoz |
PdfCertificate.FromPfx | Betöltés jelszóval védett PFX fájlból |
PdfCertificate.FromDerFiles | Betöltés DER‑kódolt fájlokból |
CertificateEncryptionOptions | Tanúsítvány alapú PDF titkosítás |
ICustomSecurityHandler | Felület egyedi titkosításhoz/dekódoláshoz |
EncryptionParameters | Paraméterek, amelyeket egyedi biztonsági kezelőkhöz adunk át |
SignatureAlgorithmInfo | Metaadatok az aláírás algoritmusáról |