مقدمة
الملفات PDF هي جزء أساسي في العديد من الصناعات، وضمنها ضمان صحتهم وسلامتهم من خلال التوقيعات الرقمية هو إجراء أمني حاسم. توفر التوقيعات الرقمية صفة قانونية وتحمي المستندات من التعديل. هذا الدليل الشامل يوضح لك كيفية تنفيذ التوقيعات الرقمية على PDF باستخدام .NET من خلال إنشاء خدمة التوقيعات الرقمية الآمنة باستخدام Azure Key Vault و GroupDocs.Signature for .NET.
تصبح التوقيعات الإلكترونية للمستندات أكثر أهمية للعمال الذين يتحولون إلى عمليات عمل دون أوراق. GroupDocs.Signature for .NET يقدم حلاً قوياً لتوقيعات PDF الرقمية باستخدام C# الذي يفي بمتطلبات التوافق الرقمي في العديد من الإطارات التنظيمية. سواء كنت جديداً على التوقيعات الرقمية في تطبيقات .NET أو تبحث عن تحسين تنفيذك الحالي، فإن هذا الدليل يغطي كل ما تحتاج إلى معرفته.
Azure Key Vault هو خدمة إدارة مفاتيح مستندة على السحابة تسمح بتخزين وإدارة المفاتيح والتشفيرات بشكل آمن. GroupDocs.Signature for .NET هو API قوي لتوقيعات PDF الآمنة يسمح للمطورين بتطبيق التوقيعات الرقمية على ملفات PDF بشكل برمجي. من خلال دمج هذه التقنيات، يمكنك بناء خدمة التوقيعات الرقمية على PDF قوية ومفعلة.
من بين أهم الميزات التي سنستعرضها هو التوقيع باستخدام هاش مخصص، والذي يوفر مرونة كبيرة لعملية التوقيع. هذا النهج يسمح لك بالاتصال مع أجهزة التوقيع الخارجية مثل وحدات الأمان المادية (HSMs)، البطاقات الذكية، أو أي جهاز تشفير آخر مع تطبيقك. باستخدام التوقيع باستخدام هاش مخصص، يمكن للمطورين كتابة خدمات التوقيع الخاصة بهم التي تتفاعل مع الأنظمة الخاصة أو البنية التحتية القديمة أو الأجهزة الأمنية المتخصصة بينما تظل متوافقة مع إطار عمل GroupDocs.Signature. وهذا يجعلها حلاً مثالياً للمؤسسات التي لديها متطلبات أمنية خاصة أو استثمار سابق في البنية التحتية التشفيرية.
🔐 إنشاء خزانة مفاتيح Azure و شهادة
دعونا نبدأ بإنشاء خزانة مفاتيح Azure و إنشاء شهادة.
الخطوة 1: توفير الخزانة
إنشاء مورد خزانة مفاتيح Azure جديدة باستخدام Azure portal. لمزيد من التفاصيل، يرجى مراجعة هذا دليل البدء السريع.
💡إذا لم يكن لديك اشتراك Azure نشط، يمكنك التسجيل للحصول على تجربة مجانية لمدة شهر واحد.
الخطوة 2: إنشاء أو استيراد شهادتك
بعد تشغيل خزانتك، انتقل إلى لوحة التحكم، اختر علامة التبويب الشهادات، وانقر فوق إنشاء/استيراد لإضافة شهادتك.
الخطوة 3: في حقل طريقة إنشاء الشهادة، اختر إنشاء لإنشاء شهادة جديدة تلقائياً. في هذا المثال، نختار شهادة ذات توقيع ذاتي كنوع سلطة الشهادة.
ملاحظة: إذا كنت تفضل استخدام شهادة موجودة، يمكنك اختيار استيراد لتحميلها من جهازك المحلي.
الخطوة 4: ثم انتقل إلى إعدادات السياسات المتقدمة وحدد خيار تصدير المفتاح الخاص إلى لا.
الخطوة 5: أخيرًا، انقر فوق إنشاء. الآن ستضاف الشهادة إلى خزانتك.
للمزيد من التفاصيل، انقر على الشهادة لتفتح خواصها.
⚙️ تسجيل التطبيق لتفعيل الوصول إلى خزانة مفاتيح Azure
لسماح API الويب بالوصول إلى خزانة مفاتيح Azure، يجب تسجيله في Azure Active Directory:
الخطوة 1: انتقل إلى Azure Active Directory، اختر تسجيلات التطبيقات، وانقر فوق تسجيل جديد.
الخطوة 2: أدخل اسم تطبيقك واكمل التسجيل.
بعد التسجيل، ستحصل على تفاصيل المفتاح — نسخ معرف العميل و معرف المستأجر للاستخدام في تطبيقك.
الخطوة 3: بعد ذلك، اختر أذونات API من القائمة الجانبية وانقر فوق إضافة إذن. اختر Azure Key Vault، اختر الوصول الكامل، واكمل العملية من خلال النقر فوق إضافة أذونات.
الخطوة 4: اختر الشهادات والأسرار وانقر فوق إنشاء سر عميل جديد لإنشاء سر جديد. نسخ هذا السر لاستخدامه من تطبيق .NET الخاص بك.
🔐 تعيين سياسات الوصول إلى خزانة مفاتيح Azure
في الخطوات السابقة، قمنا بإنشاء و تسجيل التطبيق. الآن، علينا منح التطبيق الجديد الوصول إلى خزانة مفاتيح Azure:
الخطوة 1: انتقل إلى خزانة مفاتيح Azure، اختر سياسات الوصول، وانقر فوق إنشاء.
الخطوة 2: اختر الصلاحيات اللازمة وانقر فوق التالي.
الخطوة 3: في هذا النافذة، اختر التطبيق الذي سجلناه سابقًا، GroupDocs.Signature.Service، وانقر فوق إنشاء.
الآن، سيظهر التطبيق في قسم سياسات الوصول.
📑 كيفية استخدام خزانة مفاتيح Azure مع GroupDocs.Signature for .NET لتوقيعات PDF
هذا الدليل الشامل يشرح كيفية توقيع المستندات PDF باستخدام API GroupDocs.Signature في .NET مع التوقيع باستخدام هاش مخصص الذي يستفيد من خزانة مفاتيح Azure. سنقسم العملية إلى خطوات واضحة — من إعداد بيئة C# الخاصة بك إلى تنفيذ موقّع هاش مخصص يفي بمتطلبات التوافق الرقمي.
نظرة عامة على التوقيعات الآمنة على PDF باستخدام تطبيق هاش مخصص
يوفر تطبيق التوقيع باستخدام هاش مخصص مرونة كبيرة لتطبيق التوقيعات الإلكترونية للمستندات في تطبيقات .NET الخاصة بك. إليك ما سنغطيه:
- إعداد تطبيق .NET الخاص بك للعمل مع GroupDocs.Signature لتوقيعات PDF الرقمية
- إعداد خيارات التوقيع الرقمي المهنية مع إدارة الشهادات المناسبة
- تنفيذ آلية التوقيع باستخدام هاش مخصص للحصول على مرونة قصوى
- دمج خزانة مفاتيح Azure لاسترجاع الشهادة العامة وتوقيع المستند
- اتباع أفضل الممارسات الأمنية طوال التنفيذ
لمزيد من الخلفية، راجع توثيق GroupDocs.Signature حول التوقيع الرقمي باستخدام هاش مخصص.
🚀 فوائد التوقيع باستخدام هاش مخصص لتطبيقات PDF في .NET
قبل الدخول في التنفيذ، من المهم فهم لماذا يمثل التوقيع باستخدام هاش مخصص تقدماً كبيراً في تكنولوجيا التوقيعات الرقمية:
- الدمج مع أجهزة التوقيع الخارجية: يسمح التوقيع باستخدام هاش مخصص بالاتصال السلس مع وحدات الأمان المادية (HSMs)، البطاقات الذكية، أجهزة التعرف البيومترية، وأجهزة تشفير متخصصة أخرى قد تستخدمها منظمة.
- العمارة المرنة للحلول التجارية: يمكن للمؤسسات كتابة خدمات التوقيع الخاصة بها التي تتفاعل مع البنية التحتية الحالية، الأنظمة القديمة، أو حلول التوقيع الخاصة بها بينما تظل متوافقة مع GroupDocs.Signature.
- التوافق الأمني المتقدم: من خلال فصل عملية إنشاء هاش من عملية التوقيع الفعلي، يمكنك التحكم بشكل أفضل في العمليات التشفيرية، مما يساعدك على تحقيق متطلبات التنظيم الصارمة مثل eIDAS، ESIGN Act، ومتطلبات التوافق الخاصة بالقطاع.
- الدعم لتدبير المفاتيح المستندة على السحابة: دمج خزانة مفاتيح Azure يسمح بتخزين الشهادات بشكل آمن وإدارتها في البنية التحتية الآمنة المعتمدة من Microsoft بدلاً من أجهزة محلية.
- تخصيص عملية التوقيع: تنفيذ عمليات الموافقة المخصصة، تسلسلات التوقيع متعددة الأطراف، أو قواعد التحقق المخصصة التي تتجاوز تطبيقات التوقيعات الرقمية القياسية.
الخطوة 1. إعداد بيئة التوقيعات الرقمية على PDF باستخدام C#
ابدأ بتعريف مسارات ملفاتك وإعداد كائن GroupDocs.Signature في تطبيق C# الخاص بك. في هذا المثال، نحدد ملف PDF المصدر والموقع المحدد للمستند الموقّع.
public static void SignDocument()
{
// Define paths for the source and output documents
string sampleFilePath = "sample.pdf";
string sampleOutputFilePath = "signed.pdf";
using (Signature signature = new Signature(sampleFilePath))
{
// Code continues in the next steps...
}
}
📌ملاحظة:
هذه الخطوة تخلق كائن Signature جديد يحمّل المستند PDF الذي تريد توقيعه، مما يوفر الأساس لتوقيعات PDF الآمنة في تطبيق .NET الخاص بك.
الخطوة 2. إعداد خيارات التوقيع الرقمي
بعد ذلك، قم بإعداد خيارات التوقيع الرقمي. تشمل هذه الخيارات تفاصيل الشهادة، المظهر المرئي، وخوارزمية هاش. سيتم إضافة التوقيع باستخدام هاش مخصص لاحقًا.
// Initialize digital signing options
DigitalSignOptions options = new DigitalSignOptions()
{
Signature = new DigitalSignature(),
Password = "1234567890", // Certificate password
Reason = "Sign", // Signing reason
Contact = "JohnSmith", // Contact information
Location = "Office1", // Signing location
AllPages = true, // Apply signature on all pages
Width = 80,
Height = 60,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right,
Margin = new Padding() { Bottom = 10, Right = 10 },
HashAlgorithm = HashAlgorithm.Sha256 // Specify SHA-256 for hashing
};
📌ملاحظة:
قم بتكوين خصائص التوقيع الرقمي الأساسية مثل المظهر، التوجيه، والتشفير لضمان أن التوقيعات الإلكترونية للمستندات تتوافق مع المعايير المهنية.
ملاحظة أمنية: في الإنتاج، تجنب كتابة القيم الحساسة (مثل كلمة المرور) بشكل صريح؛ بدلاً من ذلك، استخدم طرق التكوين الآمنة التي تتوافق مع متطلبات التوافق الرقمي.
الخطوة 3. تنفيذ التوقيع باستخدام هاش مخصص
الآن، قم بتعيين موقّع هاش مخصص لكخياراتك. سيقوم هذا الموقّع بتنفيذ واجهة ICustomSignHash وسيستخدم لتوقيع هاش باستخدام خزانة مفاتيح Azure أو أي جهاز التوقيع الخارجي الذي ترغب في دمجه.
var azureSigner = new AzureSigner();
options.CustomSignHash = azureSigner;
options.Signature.Certificate = azureSigner.GetPublicCertificateFromAzureStorage();
📌ملاحظة:
في هذه الخطوة، يتم إنشاء كائن AzureSigner. سيتم استدعاء طريقة CustomSignHash الخاصة به أثناء عملية التوقيع، وسيسترجع الشهادة العامة من خزانة مفاتيح Azure.
الخطوة 4. توقيع المستند
أخيراً، استدعِ طريقة Sign لتوليد المستند PDF الموقّع باستخدام تطبيق التوقيع باستخدام هاش مخصص الخاص بك.
signature.Sign(sampleOutputFilePath, options);
📌ملاحظة:
تطبيق هذه الطريقة التوقيع الرقمي على المستند باستخدام الخيارات التي تم تهيئتها سابقًا، بما في ذلك موقّع هاش مخصص. سيتم تضمين التوقيع في PDF الناتج الذي يمكن التحقق منه باستخدام قراء PDF القياسية أو برمجياً باستخدام ميزات التحقق من GroupDocs.Signature.
الخطوة 5. تنفيذ التوقيع باستخدام شهادة Azure
أدناه هو تنفيذ الموقّع المخصص باستخدام خزانة مفاتيح Azure لتوقيع شهادة Azure. يوضح هذا الفئة أفضل الممارسات لتوقيع شهادة Azure من خلال استرجاع بيانات اعتماد Azure، استرجاع الشهادة العامة، وتوقيع هاش المستند بشكل آمن.
public class AzureSigner : ICustomSignHash
{
public byte[] CustomSignHash(byte[] hash, HashAlgorithm hashAlgorithm,
SignatureContext signatureContext)
{
// Delegate the signing operation to Azure
return SignWithAzure(hash);
}
private static byte[] SignWithAzure(byte[] signableHash)
{
// Retrieve Azure credentials
var credential = GetAzureSecretCredential();
// Specify your Key Vault certificate key identifier
var certificateKeyId =
"https://groupdocskeyvault.vault.azure.net/keys/GroupDocsSignatureCertificate/>";
CryptographyClient client =
new CryptographyClient(new Uri(certificateKeyId), credential);
// Sign the hash using RS256
var result = client.Sign(SignatureAlgorithm.RS256, signableHash);
return result.Signature;
}
static ClientSecretCredential GetAzureSecretCredential()
{
// Provide your Azure AD tenant, client, and secret details
string tenantId = "your tenant id";
string clientId = "your client id";
string secret = "your secret";
ClientSecretCredential credential =
new ClientSecretCredential(tenantId, clientId, secret);
return credential;
}
public X509Certificate2 GetPublicCertificateFromAzureStorage()
{
// Define the Key Vault URI
string vaultUri = "https://groupdocskeyvault.vault.azure.net/>";
var credential = GetAzureSecretCredential();
X509Certificate2 pubCertificate =
GetPublicCertificateFromAzureStorage(credential, vaultUri);
return pubCertificate;
}
static X509Certificate2 GetPublicCertificateFromAzureStorage(
ClientSecretCredential credential, string uri)
{
// Create a certificate client for the Key Vault
CertificateClient certificateClient =
new CertificateClient(new Uri(uri), credential);
// Retrieve the certificate with the public key
KeyVaultCertificateWithPolicy certificate =
certificateClient.GetCertificateAsync("GroupDocsSignatureCertificate").Result;
return new X509Certificate2(certificate.Cer);
}
}
📌ملاحظات:
- بيانات اعتماد Azure: تقوم طريقة
GetAzureSecretCredentialبإنشاء بيانات اعتماد باستخدام معرف مستأجرك، معرف العميل، و السري. ملاحظة أمنية: تأكد من تخزين هذه البيانات اعتمادك بشكل آمن (على سبيل المثال، باستخدام خزانة مفاتيح Azure أو مخزن التكوين الآمن) لضمان سلامة تنفيذ التوقيعات الرقمية على PDF الخاص بك. - توقيع باستخدام Azure: تستخدم طريقة
SignWithAzureمن Azure SDK لتوقيع هاش باستخدام الشهادة المخزنة في خزانة مفاتيح Azure، مما يوضح نهجاً مهنياً لإدارة الشهادات يتبع أفضل الممارسات في التوافق الرقمي. - استرجاع الشهادة العامة: تربط طريقة
GetPublicCertificateFromAzureStorageبخزانة مفاتيح Azure واسترجاع الشهادة اللازمة لتأكيد التوقيعات الرقمية، مما يضمن أن التوقيعات الإلكترونية للمستندات يمكن التحقق منها بشكل صحيح.
الخطوة 6. خطوات تنفيذ خزانة مفاتيح Azure لتوقيعات PDF الرقمية
لتكامل خزانة مفاتيح Azure مع خدمات التوقيع المخصصة الخاصة بك، اتبع هذه الخطوات:
- إعداد خزانة مفاتيح Azure:
- إنشاء خزانة مفاتيح Azure.
- تحميل شهادتك إلى خزانة المفاتيح.
- إعداد سياسات الوصول لتطبيقك.
- إعداد بيانات اعتماد Azure:
- تسجيل تطبيقك في Azure Active Directory.
- استرجاع معرف مستأجرك، معرف العميل، و السري.
- إنشاء
ClientSecretCredentialللوصول إلى خزانة المفاتيح.
- استرجاع الشهادة:
- استخدام
CertificateClientلاسترجاع الشهادة التي تحتوي على المفتاح العام من خزانة مفاتيح Azure. - تستخدم هذه الشهادة لتأكيد التوقيع الرقمي.
- استخدام
- تطبيق التوقيع المخصص:
- استخدام
CryptographyClientمن Azure SDK لتوقيع هاش المستند. - تحديد خوارزمية التوقيع المناسبة (على سبيل المثال، RS256).
- استخدام
📌ملاحظة:
كل هذه الخطوات حاسمة لضمان أن عملية التوقيع آمنة وأن المفاتيح الحساسة تبقى محمية في السحابة بينما تقدم المرونة لتطبيق خدمات التوقيع الخاصة بك لمتطلبات خاصة.
🧩 توسيع تطبيق التوقيع المخصص الخاص بك
جاذبية تطبيق التوقيع باستخدام هاش مخصص من GroupDocs.Signature هي أن يمكنك تعديلها لتعمل مع أي جهاز التوقيع الخارجي أو خدمة. إليك بعض الأمثلة على كيفية توسيع هذا التطبيق:
- وحدات الأمان المادية (HSMs): تنفيذ موقّع مخصص يتواصل مع وحدات HSM المادية للحصول على أقصى درجة من الأمان.
- دمج البطاقات الذكية: إنشاء موقّع يتفاعل مع قراء البطاقات الذكية للموظفين الذين يتطلبون تصديقاً جسدياً.
- التعرف البيومتري: بناء خدمة التوقيع التي تتطلب التعرف على البصمة أو التعرف على الوجه قبل الموافقة على إنشاء التوقيع.
- عملية الموافقة متعددة الأطراف: تنفيذ سير عمل التوقيع المخصص حيث يجب على عدة أطراف الموافقة قبل تطبيق التوقيع النهائي.
- مقدمي خدمات السحابة: تعديل المثال للعمل مع AWS KMS، Google Cloud KMS، أو خدمات إدارة المفاتيح السحابية الأخرى.
من خلال تنفيذ خدمات التوقيع الخاصة بك من خلال واجهة ICustomSignHash، يمكنك التحكم الكامل في عملياتك التشفيرية بينما تستفيد من قدرات معالجة المستندات القوية لـ GroupDocs.Signature for .NET.
✨ الملاحظات النهائية حول التوقيعات الإلكترونية للمستندات
هذا الدليل يوضح كيفية دمج GroupDocs.Signature مع خزانة مفاتيح Azure لإنشاء التوقيعات الإلكترونية للمستندات التي تتوافق مع معايير الصناعة في PDF بشكل آمن. التوقيعات الإلكترونية للمستندات التي تم إنشاؤها من خلال هذا النهج تتوافق مع معايير الصناعة لصحتها وسلامتها. من خلال اتباع هذا النهج خطوة بخطوة واتباع أفضل الممارسات الأمنية (مثل معالجة بيانات اعتماد آمن)، يمكنك تنفيذ حل التوقيعات الرقمية في تطبيق .NET الخاص بك الذي يعمل عبر جميع عمليات عمل المستندات الخاصة بك.
لمزيد من التفاصيل والسيناريوهات المتقدمة، راجع التوثيق الرسمي.
الحصول على تجربة مجانية
يمكنك تجربة APIs GroupDocs.Signature مجاناً من خلال تحميل وإعداد أحدث إصدار على موقع التنزيلات.
يمكنك أيضًا الحصول على رخصة مؤقتة لتجربة جميع وظائف المكتبة دون أي قيود. انتقل إلى صفحة الرخصة المؤقتة للحصول على رخصة مؤقتة.
🔗 انظر أيضاً
لمزيد من المعلومات والموارد، قد تجد الروابط التالية مفيدة: