الأمان والتوقيعات

الأمان والتوقيعات

الأمان والتوقيعات

يدعم 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 فقط عندما يكون التشفير القياسي غير كافٍ.

مشكلات شائعة

المشكلةالسببالحل
التوقيع يظهر غير صالحتم تعديل المستند بعد التوقيعأعد التوقيع بعد إكمال جميع التعديلات
فشل تحميل PFXكلمة مرور خاطئة أو ملف تالفتحقق من كلمة المرور وسلامة الملف
التشفير يمنع الفتحلم يتم توفير كلمة مرور المالكاستخدم كلمة مرور المالك أو المستخدم الصحيحة

الأسئلة المتكررة

ما خوارزميات التوقيع المدعومة؟

يتم دعم RSA مع SHA-256 و SHA-384 و SHA-512 بشكل شائع. تعتمد الخوارزميات المتاحة على نوع مفتاح الشهادة.

هل يمكنني إضافة توقيعات متعددة؟

نعم. يتم تطبيق كل توقيع على حقل توقيع منفصل في المستند.

هل يتطلب التوقيع شهادة تجارية؟

لا. الشهادات الموقعة ذاتيًا تعمل للاختبار. للإنتاج، استخدم شهادة من سلطة شهادة موثوقة.


ملخص مرجع API

Class / MethodDescription
PdfSignerتوقيع والتحقق من مستندات PDF
PdfSigner.Signتطبيق توقيع رقمي
PdfSigner.Verifyالتحقق من صحة التوقيع
PdfSigner.SignWithAppearanceالتوقيع باستخدام حقل توقيع بصري
PdfCertificateمحمل الشهادات لتنسيقات PFX و DER
PdfCertificate.FromPfxالتحميل من ملف PFX باستخدام كلمة مرور
PdfCertificate.FromDerFilesالتحميل من ملفات مشفرة بـ DER
CertificateEncryptionOptionsتشفير PDF بناءً على الشهادة
ICustomSecurityHandlerواجهة للتشفير/فك التشفير المخصص
EncryptionParametersالمعلمات الممررة إلى معالجات الأمان المخصصة
SignatureAlgorithmInfoالبيانات الوصفية حول خوارزمية التوقيع

انظر أيضًا

 العربية