מבוא
קבצי PDF הם חיוניים בתעשיות שונות, והבטחת האותנטיות והשלמות שלהם באמצעות חתימות דיגיטליות היא מדד אבטחה קריטי. חתימות דיגיטליות מספקות תוקף משפטי ומגנות על המסמכים מפני שינוי. מדריך מקיף זה מנחה אותך ביישום חתימת PDF ב‑.NET על‑ידי יצירת שירות חתימה דיגיטלית מאובטח ל‑PDF באמצעות Azure Key Vault ו‑GroupDocs.Signature for .NET.
חתימות אלקטרוניות הפכו לחשובות יותר ויותר עבור עסקים העוברים לתהליכים ללא נייר. GroupDocs.Signature for .NET מציע פתרון חזק ב‑C# לחתימה דיגיטלית על PDF העונה על דרישות הציות של חתימות דיגיטליות במגוון מסגרות רגולטוריות. בין אם אתה חדש בתחום חתימת PDF ביישומי .NET או מחפש לשפר יישום קיים, מדריך זה מכסה את כל מה שעליך לדעת.
Azure Key Vault הוא שירות ניהול מפתחות מבוסס‑ענן המאפשר אחסון וניהול מאובטח של מפתחות קריפטוגרפיים ותעודות. GroupDocs.Signature for .NET הוא API חזק ומאובטח לחתימת PDF המאפשר למפתחים להחיל חתימות דיגיטליות על קבצי PDF בתכנות. על‑ידי שילוב טכנולוגיות אלו, ניתן לבנות שירות חתימה דיגיטלית ל‑PDF חזק ויעיל.
אחת הפונקציות החזקות ביותר שנחקור היא חתימה עם Hash מותאם, המספקת גמישות יוצאת דופן לתהליך החתימה שלך. גישה זו מאפשרת חיבור של מכשירי חתימה חיצוניים כגון מודולי אבטחה חומרתיים (HSM), כרטיסי חכם או כל מכשיר קריפטוגרפי אחר ליישום שלך. עם חתימה עם Hash מותאם, מפתחים יכולים לכתוב שירותי חתימה משלהם שמתחברים למערכות קנייניות, תשתיות מורשת או חומרת אבטחה מיוחדת תוך שמירה על תאימות למסגרת GroupDocs.Signature. זהו פתרון אידיאלי לארגונים עם דרישות אבטחה ספציפיות או השקעה קיימת בתשתית קריפטוגרפית.
🔐 צור Azure Key Vault ותעודה
נתחיל בהקמת Azure Key Vault ויצירת תעודה.
שלב 1: פריסת ה‑Key Vault
צור משאב Azure Key Vault חדש באמצעות Azure portal. לקבלת הוראות מפורטות, עיין במדריך quick‑start guide.
💡אם אין לך מנוי Azure פעיל, ניתן להירשם לניסיון חינם של חודש אחד כדי להתחיל.
שלב 2: יצירה או ייבוא של התעודה שלך
לאחר שה‑Key Vault פועל, עבור ללוח המחוונים שלו, בחר בלשונית Certificates ולחץ על Generate/Import כדי להוסיף את התעודה.
שלב 3: בשדה Method of Certificate Creation, בחר Generate כדי ליצור תעודה חדשה אוטומטית. בדוגמה זו נבחר Self‑signed certificate כסוג רשות התעודה.
הערה: אם אתה מעדיף להשתמש בתעודה קיימת, ניתן לבחור Import כדי לטעון אחת מהמכשיר המקומי שלך.
שלב 4: לאחר מכן, עבור ל‑Advanced Policy Configuration והגדר את האפשרות Private Key Export ל‑No.
שלב 5: לבסוף, לחץ Create. התעודה תתווסף כעת ל‑Key Vault שלך.
כדי לצפות בפרטים, פשוט לחץ על התעודה כדי לפתוח את המאפיינים שלה.
⚙️ רישום היישום כדי לאפשר גישה ל‑Azure Key Vault
כדי לאפשר ל‑Web API לגשת ל‑Azure Key Vault, יש לרשום אותו ב‑Azure Active Directory:
שלב 1: נווט אל Azure Active Directory, בחר App registrations, ולחץ New registration.
שלב 2: הזן את שם היישום שלך ולחץ רישום.
לאחר הרישום, תקבל פרטי מפתח – העתק את Client ID ואת Tenant ID לשימוש ביישום שלך.
שלב 3: לאחר מכן, בחר API Permissions בתפריט הצד ולחץ Add Permission. בחר Azure Key Vault, סמן Full Access, וסיים את התהליך על‑ידי לחיצה על Add Permissions.
שלב 4: בחר Certificate & secrets ולחץ New client secret ליצירת מפתח סודי חדש. העתק מפתח זה כדי להשתמש בו ביישום .NET שלך.
🔐 הקצאת מדיניות הגישה ל‑Azure Key Vault
בשלבים הקודמים יצרנו ורשמנו את היישום. כעת נעניק ליישום החדש גישה ל‑Azure Key Vault:
שלב 1: נווט אל Azure Key Vault, בחר Access Policies, ולחץ Create.
שלב 2: בחר את ההרשאות הדרושות ולחץ Next.
שלב 3: בחלון זה, בחר את היישום שרשמת קודם, GroupDocs.Signature.Service, ולחץ Create.
היישום יופיע כעת בחלק Access Policies.
📑 כיצד להשתמש ב‑Azure Key Vault עם GroupDocs.Signature ל‑.NET PDF Signing
מדריך מקיף זה מסביר כיצד לחתום על מסמכי PDF באמצעות API של GroupDocs.Signature ב‑.NET עם חתימה באמצעות Hash מותאם המנצל את Azure Key Vault. נחלק את התהליך לצעדים ברורים – מהגדרת סביבת C# ועד יישום חותם Hash מותאם העונה על דרישות הציות של חתימות דיגיטליות.
סקירה של חתימה מאובטחת ל‑PDF עם יישום Hash מותאם
גישת החתימה עם Hash מותאם מציעה גמישות יוצאת דופן ליישום חתימות אלקטרוניות ביישומי .NET שלך. נסקור:
- הקמת יישום .NET לעבודה עם GroupDocs.Signature לחתימות דיגיטליות על PDF
- קונפיגורציית אפשרויות חתימה מקצועיות עם ניהול תעודות תקין
- יישום מנגנון חתימה עם Hash מותאם למקסימום גמישות
- אינטגרציה עם Azure Key Vault לאחזור מאובטח של תעודה ציבורית וחתימת המסמך
- שמירה על מיטב הפרקטיקות האבטחתיות לאורך כל היישום
לעוד רקע, עיין בתיעוד של GroupDocs.Signature על חתימה דיגיטלית עם Hash מותאם.
🚀 יתרונות של חתימה עם Hash מותאם ליישומי PDF ב‑.NET
לפני שמתחילים ביישום, חשוב להבין מדוע חתימה עם Hash מותאם מייצגת התקדמות משמעותית בטכנולוגיית החתימות הדיגיטליות:
- אינטגרציה עם מכשירי חתימה חיצוניים: מאפשרת חיבור חלק למודולי אבטחה חומרתיים (HSM), כרטיסי חכם, מכשירי ביומטריה או כל חומרה קריפטוגרפית אחרת שהארגון כבר משתמש בה.
- ארכיטקטורה גמישה לפתרונות ארגוניים: ארגונים יכולים לכתוב שירותי חתימה משלהם שמתחברים לתשתיות קיימות, מערכות מורשת או פתרונות חתימה קנייניים תוך שמירה על תאימות ל‑GroupDocs.Signature.
- עמידה משופרת בתקני אבטחה: הפרדת יצירת ה‑hash מתהליך החתימה עצמו מאפשרת שליטה טובה יותר על פעולות קריפטוגרפיות, מה שמסייע לעמוד בדרישות רגולטוריות קפדניות כגון eIDAS, ESIGN Act ותקנים תעשייתיים.
- תמיכה בניהול מפתחות מבוסס‑ענן: אינטגרציה עם Azure Key Vault מאפשרת אחסון וניהול מאובטח של תעודות בתשתית מאושרת של מיקרוסופט במקום במחשבים מקומיים.
- התאמה אישית של תהליך החתימה: ניתן לממש זרימות עבודה של אישור, חתימות מרובות צדדים או כללי אימות מיוחדים שמעבר ליישומים סטנדרטיים של חתימות דיגיטליות.
שלב 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 שברצונך לחתום, ובכך יוצר את הבסיס לחתימה מאובטחת ב‑.NET.
שלב 2. קונפיגורציית אפשרויות חתימה דיגיטלית
לאחר מכן, הגדר את אפשרויות החתימה הדיגיטלית. אפשרויות אלו כוללות פרטי תעודה, מראה חזותי ואלגוריתם ה‑hash. החתימה עם Hash מותאם תתווסף מאוחר יותר.
// 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
};
📌הערה:
הגדר תכונות בסיסיות של חתימה דיגיטלית כגון מראה, מיקום ו‑hash כדי להבטיח שהחתימות האלקטרוניות שלך עומדות בסטנדרטים מקצועיים.
הערת אבטחה: בייצור, הימנע מהקצאת ערכים רגישים (כמו סיסמאות) בקוד; השתמש בשיטות קונפיגורציה מאובטחות העומדות בדרישות הציות של חתימות דיגיטליות.
שלב 3. יישום חתימה עם Hash מותאם
כעת, הקצה את חותם ה‑Hash המותאם לאפשרויות. חותם מותאם זה מממש את הממשק ICustomSignHash וישמש לחתימת ה‑hash עם Azure Key Vault או כל מכשיר חתימה חיצוני אחר שתרצה לשלב.
var azureSigner = new AzureSigner();
options.CustomSignHash = azureSigner;
options.Signature.Certificate = azureSigner.GetPublicCertificateFromAzureStorage();
📌הערה:
כאן נוצר מופע של AzureSigner. המתודה CustomSignHash שלו תופעל במהלך תהליך החתימה, והוא גם משיג את התעודה הציבורית מ‑Azure Key Vault.
שלב 4. חתימת המסמך
לבסוף, קרא למתודה Sign כדי לייצר את קובץ ה‑PDF החתום באמצעות יישום ה‑Hash המותאם שלך.
signature.Sign(sampleOutputFilePath, options);
📌הערה:
מתודה זו מחילה את החתימה הדיגיטלית על המסמך תוך שימוש באפשרויות שהוגדרו קודם, כולל חותם ה‑Hash המותאם. ה‑PDF המתקבל יכיל חתימה קריפטוגרפית מאובטחת שניתן לאמת אותה באמצעות קוראי PDF סטנדרטיים או תכנותית עם תכונות האימות של GroupDocs.Signature.
שלב 5. מימוש מלא של חתימת תעודה ב‑Azure
להלן המימוש המלא של החותם המותאם המשתמש ב‑Azure Key Vault לחתימת תעודות Azure. מחלקה זו מדגימה פרקטיקות מקצועיות של חתימת תעודות Azure על‑ידי קבלת אישורים, שליפת תעודה ציבורית וחתימת ה‑hash בצורה מאובטחת.
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 Key Vault או מחסן קונפיגורציה מאובטח) כדי לשמור על שלמות יישום חתימת PDF ב‑.NET. - חתימה עם Azure:
המתודהSignWithAzureמשתמשת ב‑CryptographyClientשל Azure SDK לחתימת ה‑hash עם התעודה המאוחסנת ב‑Azure Key Vault, ומדגימה גישה מקצועית לניהול תעודות העומדת בדרישות הציות של חתימות דיגיטליות. - שליפת תעודה ציבורית:
המתודהGetPublicCertificateFromAzureStorageמתחברת ל‑Azure Key Vault שלך ומחזירה את התעודה הדרושה לאימות החתימה, ובכך מאפשרת אימות תקין של חתימות אלקטרוניות.
שלב 6. שלבי יישום Azure Key Vault לחתימות דיגיטליות ל‑PDF
כדי לשלב Azure Key Vault עם שירותי החתימה המותאמים שלך, פעל לפי הצעדים הבאים:
- הקמת Azure Key Vault:
- צור מופע Azure Key Vault.
- העלה את תעודת החתימה שלך ל‑Key Vault.
- קבע מדיניות גישה ליישום שלך.
- קונפיגורציית אישורי Azure:
- רשום את היישום ב‑Azure Active Directory.
- השג את מזהה השוכר, מזהה הלקוח והסוד של הלקוח.
- צור
ClientSecretCredentialלגישה ל‑Key Vault.
- שליפת התעודה:
- השתמש ב‑
CertificateClientכדי לקבל את התעודה עם המפתח הציבורי מ‑Azure Key Vault. - תעודה זו משמשת לאימות החתימה הדיגיטלית.
- השתמש ב‑
- יישום חתימה מותאמת:
- השתמש ב‑
CryptographyClientשל Azure SDK לחתימת ה‑hash של המסמך. - ציין את אלגוריתם החתימה המתאים (למשל RS256).
- השתמש ב‑
📌הערה:
כל אחד מהצעדים הללו קריטי להבטחת תהליך חתימה מאובטח ולשמירה על מפתחות רגישים בענן, תוך מתן גמישות ליישום שירותי חתימה מותאמים לדרישות מיוחדות.
🧩 הרחבת יישום החתימה המותאם שלך
היופי בגישת החתימה עם Hash מותאם של GroupDocs.Signature הוא שניתן להתאים אותה כמעט לכל מכשיר או שירות חתימה חיצוני. הנה כמה דוגמאות להרחבות אפשריות:
- מודולי אבטחה חומרתיים (HSMs) – מימוש חותם מותאם שמתקשר עם HSM פיזיים למקסימום אבטחה.
- אינטגרציה עם כרטיסי חכם – יצירת חותם שמתחבר לקוראי כרטיסי חכם בסביבות ארגוניות הדורשות אימות פיזי.
- אימות ביומטרי – בניית שירות חתימה הדורש טביעת אצבע או זיהוי פנים לפני אישור החתימה.
- אישור מרובה צדדים – יישום זרימת עבודה שבה מספר גורמים חייבים לאשר לפני החתימה הסופית.
- ספקי שירותי ענן – התאמת הדוגמה לעבודה עם AWS KMS, Google Cloud KMS או שירותי ניהול מפתחות אחרים.
על‑ידי יישום שירותי חתימה משלך דרך הממשק ICustomSignHash, אתה שומר על שליטה מלאה בתהליכים הקריפטוגרפיים שלך תוך ניצול היכולות החזקות של GroupDocs.Signature for .NET.
✨ מחשבות סופיות על חתימות אלקטרוניות למסמכים
מדריך זה הדגים כיצד לשלב GroupDocs.Signature עם Azure Key Vault ליצירת חתימות אלקטרוניות תואמות לתקנים עבור קבצי PDF בצורה מאובטחת. חתימות אלקטרוניות שנוצרות באמצעות שיטה זו עומדות בתקני התעשייה לאותנטיות ושלמות. על‑ידי שמירה על גישה שלב‑אחר‑שלב והקפדה על מיטב הפרקטיקות האבטחתיות (כגון טיפול מאובטח באישורים), ניתן ליישם פתרון חתימה דיגיטלית חזק ביישום .NET שלך הפועל לאורך כל זרימת העבודה של המסמכים.
לפרטים נוספים ותסריטים מתקדמים, עיין ב‑documentation.
קבל ניסיון חינם
אתה יכול לנסות את GroupDocs.Signature APIs בחינם על‑ידי הורדה והתקנה של הגרסה העדכנית ביותר מאתר release downloads website.
אתה יכול גם לקבל רישיון זמני לבחינת כל הפונקציונליות של הספרייה ללא מגבלות. עבור לדף temporary license page כדי לבקש רישיון זמני.
🔗 ראה גם
לפרטים נוספים ומשאבים נלווים, ייתכן שהקישורים הבאים יהיו מועילים: