אבטחה וחתימות
אבטחה וחתימות
Aspose.PDF FOSS for .NET תומך בחתימות דיגיטליות של PDF, הצפנה מבוססת תעודות, ובמטפלים מותאמים לאבטחה. השתמש בPdfSigner עבור זרימות חתימה ובPdfCertificate עבור ניהול תעודות.
חתימה על מסמך
PdfSigner מוסיף חתימה דיגיטלית ל‑PDF באמצעות תעודת PFX.
var cert = PdfCertificate.FromPfx("certificate.pfx", "password");
var signer = new PdfSigner();
signer.Sign(doc, cert);
doc.Save("signed.pdf");אימות חתימות
var signer = new PdfSigner();
bool valid = signer.Verify(doc);
Console.WriteLine($"Signature valid: {valid}");חתימה עם מראה חזותי
signer.SignWithAppearance(doc, cert, signatureField, appearance);ניהול תעודות
PdfCertificate טוען תעודות מקבצי PFX או מקבצים מקודדים ב‑DER.
// From PFX
var cert = PdfCertificate.FromPfx("cert.pfx", "password");
// From DER files (certificate + key)
var cert2 = PdfCertificate.FromDerFiles("cert.der", "key.der");הצפנה מבוססת תעודה
CertificateEncryptionOptions מצפין קובץ PDF כך שרק מחזיקי תעודה ספציפיים יכולים לפתוח אותו.
var options = new CertificateEncryptionOptions(cert);מטפלי אבטחה מותאמים
ממש ICustomSecurityHandler עבור לוגיקה מותאמת של הצפנה ופענוח.
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; }
}מידע על אלגוריתם חתימה
SignatureAlgorithmInfo מתאר את האלגוריתם המשמש בחתימה קיימת.
var info = new SignatureAlgorithmInfo("SHA256withRSA");
Console.WriteLine(info.ToString());טיפים ושיטות מומלצות
- תמיד לחתום על המסמכים כשלב הסופי — כל שינוי לאחר החתימה מבטל את החתימה.
- השתמשו בקבצי PFX עם סיסמאות חזקות לאחסון האסמכתאות.
- אמתו חתימות לאחר טעינת המסמך כדי לאתר שינוי.
- הצפנה מבוססת אסמכתא דורשת את תעודת המפתח הציבורי של הנמען.
- יישמו
ICustomSecurityHandlerרק כאשר הצפנה סטנדרטית אינה מספיקה.
בעיות נפוצות
| Issue | Cause | Fix |
|---|---|---|
| החתימה מוצגת כלא תקינה | המסמך שונה לאחר החתימה | חתום מחדש לאחר שכל השינויים הושלמו |
| טעינת PFX נכשלה | סיסמה שגויה או קובץ פגום | אמת את הסיסמה ואת שלמות הקובץ |
| הצפנה מונעת פתיחה | לא סופקה סיסמת בעלים | השתמש בסיסמת בעלים או משתמש נכונה |
שאלות נפוצות
אילו אלגוריתמי חתימה נתמכים?
RSA עם SHA-256, SHA-384 ו‑SHA-512 נתמכים בדרך כלל. האלגוריתמים הזמינים תלויים בסוג המפתח של האישור.
האם ניתן להוסיף מספר חתימות?
כן. כל חתימה מוחלת על שדה חתימה נפרד במסמך.
האם החתימה דורשת תעודה מסחרית?
לא. תעודות חתומות עצמאית עובדות לבדיקות. עבור ייצור, השתמש ב תעודה מרשות מוסמכת.
API סיכום הפניות
| Class / Method | Description |
|---|---|
PdfSigner | חתימה ואימות של מסמכי PDF |
PdfSigner.Sign | החלת חתימה דיגיטלית |
PdfSigner.Verify | בדיקת תקפות החתימה |
PdfSigner.SignWithAppearance | חתימה עם שדה חתימה חזותי |
PdfCertificate | טוען תעודות עבור פורמטים PFX ו‑DER |
PdfCertificate.FromPfx | טעינה מקובץ PFX עם סיסמה |
PdfCertificate.FromDerFiles | טעינה מקבצים מקודדים ב‑DER |
CertificateEncryptionOptions | הצפנת PDF מבוססת תעודה |
ICustomSecurityHandler | ממשק להצפנה/פענוח מותאמים אישית |
EncryptionParameters | פרמטרים המועברים למטפלי אבטחה מותאמים |
SignatureAlgorithmInfo | נתוני מטא על אלגוריתם החתימה |