Einführung
PDF-Dateien sind in verschiedenen Branchen unerlässlich, und die Sicherstellung ihrer Echtheit und Integrität durch digitale Unterschriften ist ein wichtiges Sicherheitsmerkmal. Digitale Unterschriften bieten rechtliche Gültigkeit und schützen Dokumente vor Manipulation. Diese umfassende Anleitung führt Sie durch die Implementierung der .NET-PDF-Unterschrift, indem Sie einen sicheren PDF-Digitalunterschriftendienst mit Azure Key Vault und GroupDocs.Signature für .NET erstellen.
Elektronische Dokumentunterschriften sind für Unternehmen, die zu papierlosen Arbeitsabläufen übergehen, zunehmend wichtig. GroupDocs.Signature für .NET bietet eine leistungsstarke C# PDF-Digitalunterschrift-Lösung, die den Anforderungen an die digitale Unterschrift in verschiedenen regulatorischen Rahmenwerken entspricht. Egal, ob Sie neu bei der PDF-Unterschrift in .NET-Anwendungen sind oder Ihre bestehende Implementierung verbessern möchten, dieses Tutorial deckt alles ab, was Sie wissen müssen.
Azure Key Vault ist ein cloudbasierter Schlüsselverwaltungsdienst, der die sichere Speicherung und Verwaltung von kryptografischen Schlüsseln und Zertifikaten ermöglicht. GroupDocs.Signature für .NET ist eine leistungsstarke, sichere PDF-Unterschrift-API, die Entwicklern ermöglicht, digitale Unterschriften programmgesteuert auf PDF-Dateien anzuwenden. Durch die Integration dieser Technologien können Sie einen robusten und effizienten PDF-Digitalunterschriftendienst aufbauen.
Eines der mächtigsten Merkmale, das wir erkunden werden, ist die benutzerdefinierte Hash-Unterschrift, die außergewöhnliche Flexibilität für Ihren Unterschriftensablauf bietet. Dieser Ansatz ermöglicht es Ihnen, externe Unterschriftengeräte wie Hardware-Sicherheitsmodule (HSMs), Smartcards oder andere kryptografische Geräte mit Ihrer Anwendung zu verbinden. Mit benutzerdefinierter Hash-Unterschrift können Entwickler eigene Unterschriftendienste schreiben, die mit proprietären Systemen, veralteter Infrastruktur oder spezialisierter Sicherheitshardware verbunden sind, während die Kompatibilität mit dem GroupDocs.Signature-Framework gewährleistet bleibt. Dies macht es zu einer idealen Lösung für Organisationen mit spezifischen Sicherheitsanforderungen oder bestehenden Investitionen in kryptografische Infrastruktur.
🔐 Erstellen Sie ein Azure-Schlüsseltresor und ein Zertifikat
Lassen Sie uns mit der Einrichtung eines Azure-Schlüsseltresors und der Erstellung eines Zertifikats beginnen.
Schritt 1: Bereitstellen des Schlüsseltresors
Erstellen Sie eine neue Azure-Schlüsseltresor-Ressource über das Azure-Portal. Für detaillierte Anweisungen besuchen Sie bitte diese Schnellstartanleitung.
💡Wenn Sie kein aktives Azure-Abonnement haben, können Sie sich für einen 1-monatigen kostenlosen Test anmelden, um loszulegen.
Schritt 2: Generieren oder Importieren Sie Ihr Zertifikat
Sobald Ihr Schlüsseltresor läuft, navigieren Sie zu seinem Dashboard, wählen Sie die Registerkarte Zertifikate aus und klicken Sie auf Generieren/Importieren, um Ihr Zertifikat hinzuzufügen.

Schritt 3: Im Feld Methode der Zertifikaterstellung wählen Sie Generieren, um ein neues Zertifikat automatisch zu erstellen. Für dieses Beispiel wählen wir ein selbstsigniertes Zertifikat als Zertifikatsautoritätstyp.

Hinweis: Wenn Sie ein vorhandenes Zertifikat verwenden möchten, können Sie Importieren auswählen, um eines von Ihrem lokalen Gerät zu laden.

Schritt 4: Gehen Sie zu Erweiterte Richtlinienkonfiguration und legen Sie die Option Privater Schlüssel-Export auf Nein fest.

Schritt 5: Klicken Sie schließlich auf Erstellen. Das Zertifikat wird nun Ihrem Schlüsseltresor hinzugefügt.
Um seine Details anzuzeigen, klicken Sie einfach auf das Zertifikat, um seine Eigenschaften zu öffnen.

⚙️ Registrieren Sie die Anwendung, um den Zugriff auf den Azure-Schlüsseltresor zu ermöglichen
Um der Web-API den Zugriff auf den Azure-Schlüsseltresor zu ermöglichen, müssen Sie sie in Azure Active Directory registrieren:
Schritt 1: Navigieren Sie zu Azure Active Directory, wählen Sie App-Registrierungen aus und klicken Sie auf Neue Registrierung.

Schritt 2: Geben Sie den Namen Ihrer Anwendung ein und registrieren Sie sich.

Nach der Registrierung erhalten Sie wichtige Details – kopieren Sie die Client-ID und Tenant-ID für die Verwendung in Ihrer Anwendung.

Schritt 3: Wählen Sie API-Berechtigungen aus dem Seitenmenü aus und klicken Sie auf Berechtigung hinzufügen. Wählen Sie Azure Key Vault aus, wählen Sie Vollzugriff aus und schließen Sie den Vorgang mit Berechtigungen hinzufügen ab.

Schritt 4: Wählen Sie Zertifikate & Geheimnisse aus und klicken Sie auf Neues Client-Geheimnis, um einen neuen Geheimnisschlüssel zu erstellen. Kopieren Sie diesen Schlüssel, um darauf von Ihrer .NET-Anwendung zuzugreifen.

🔐 Zuweisen der Zugriffsrichtlinie zum Azure-Schlüsseltresor
In den vorherigen Schritten haben wir die Anwendung erstellt und registriert. Jetzt müssen wir der neu registrierten Anwendung der Zugriff auf den Azure-Schlüsseltresor gewährt werden:
Schritt 1: Navigieren Sie zum Azure-Schlüsseltresor, wählen Sie Zugriffsrichtlinien aus und klicken Sie auf Erstellen.

Schritt 2: Wählen Sie die erforderlichen Berechtigungen aus und klicken Sie auf Weiter.

Schritt 3: In diesem Fenster wählen Sie die Anwendung aus, die wir zuvor registriert haben, GroupDocs.Signature.Service, und klicken Sie auf Erstellen.


Die Anwendung wird nun im Abschnitt Zugriffsrichtlinien angezeigt.

📑 So verwenden Sie Azure Key Vault mit GroupDocs.Signature für .NET PDF-Unterschriften
Diese umfassende Anleitung erklärt, wie Sie PDF-Dokumente mit der GroupDocs.Signature-API in .NET mit benutzerdefinierter Hash-Unterschrift unterzeichnen, die Azure Key Vault nutzt. Wir werden den Prozess in klare Schritte unterteilen – von der Konfiguration Ihrer C#-Umgebung bis zur Implementierung eines benutzerdefinierten Hash-Unterschriftens, der die Anforderungen an die digitale Unterschrift erfüllt.
Übersicht über sichere PDF-Unterschriften mit benutzerdefinierter Hash-Implementierung
Der benutzerdefinierte Hash-Unterschriftensablauf bietet außergewöhnliche Flexibilität bei der Implementierung elektronischer Dokumentunterschriften in Ihren .NET-Anwendungen. Hier ist, was wir abdecken werden:
- Richten Sie Ihre .NET-Anwendung ein, um mit GroupDocs.Signature für PDF-Digitalunterschriften zu arbeiten
- Konfigurieren Sie professionelle digitale Unterschriftoptionen mit ordnungsgemäßer Zertifikatsverwaltung
- Implementieren Sie einen benutzerdefinierten Hash-Unterschriftensablauf für maximale Flexibilität
- Integrieren Sie Azure Key Vault, um das öffentliche Zertifikat sicher abzurufen und das Dokument zu unterzeichnen
- Beobachten Sie Sicherheitsbest Practices während der Implementierung
Für zusätzlichen Hintergrund verweisen Sie auf die GroupDocs.Signature-Dokumentation zur digitalen Unterschrift mit benutzerdefiniertem Hash.
🚀 Vorteile der benutzerdefinierten Hash-Unterschrift für .NET PDF-Anwendungen
Bevor wir mit der Implementierung beginnen, ist es wichtig zu verstehen, warum die benutzerdefinierte Hash-Unterschrift einen bedeutenden Fortschritt in der digitalen Unterschriftentechnologie darstellt:
- Integration mit externen Unterschriftengeräten: Benutzerdefinierte Hash-Unterschrift ermöglicht eine nahtlose Verbindung mit Hardware-Sicherheitsmodulen (HSMs), Smartcards, biometrischen Geräten und anderer spezialisierter kryptografischer Hardware, die Ihre Organisation möglicherweise bereits verwendet.
- Flexible Architektur für Unternehmenslösungen: Organisationen können eigene Unterschriftendienste schreiben, die mit bestehender Infrastruktur, veralteten Systemen oder proprietären Unterschriftenslösungen verbunden sind, während die Kompatibilität mit GroupDocs.Signature gewährleistet bleibt.
- Erhöhte Sicherheitskonformität: Durch die Trennung der Hash-Erstellung vom eigentlichen Unterschriftensablauf behalten Sie eine bessere Kontrolle über kryptografische Vorgänge und helfen, strengen regulatorischen Anforderungen wie eIDAS, ESIGN Act und branchenübergreifenden Konformitätsstandards gerecht zu werden.
- Unterstützung für cloudbasierte Schlüsselverwaltung: Die Integration mit Azure Key Vault ermöglicht es Zertifikaten, sicher in der zertifizierten sicheren Infrastruktur von Microsoft gespeichert und verwaltet zu werden, anstatt auf lokalen Maschinen.
- Anpassung des Unterschriftensablaufs: Implementieren Sie benutzerdefinierte Genehmigungsabläufe, Mehrparteien-Unterschriftensabläufe oder spezialisierte Validierungsregeln, die über Standard-Digitalunterschriftensabläufe hinausgehen.
Schritt 1. Konfigurieren Sie die C# PDF-Digitalunterschrift-Umgebung
Beginnen Sie mit der Definition Ihrer Dateipfade und der Initialisierung des GroupDocs.Signature-Objekts in Ihrer C#-Anwendung. In diesem Beispiel geben wir die Quell-PDF-Datei und den Ausgabepfad für das unterzeichnete Dokument an.
public static void SignDocument()
{
// Pfade für die Quell- und Ausgabedokumente definieren
string sampleFilePath = "sample.pdf";
string sampleOutputFilePath = "signed.pdf";
using (Signature signature = new Signature(sampleFilePath))
{
// Der Code setzt sich in den nächsten Schritten fort...
}
}
📌Anmerkung:
Dieser Schritt erstellt eine neue Signature
-Instanz, die das PDF-Dokument lädt, das Sie unterzeichnen möchten, und legt die Grundlage für die sichere PDF-Unterschrift in Ihrer .NET-Anwendung.
Schritt 2. Konfigurieren Sie die digitalen Unterschriftoptionen
Als Nächstes richten Sie Ihre digitalen Unterschriftoptionen ein. Diese Optionen umfassen Zertifikatsdetails, visuelle Erscheinung und den Hash-Algorithmus. Die benutzerdefinierte Hash-Unterschrift wird später eingesteckt.
// Digitale Unterschriftoptionen initialisieren
DigitalSignOptions options = new DigitalSignOptions()
{
Signature = new DigitalSignature(),
Password = "1234567890", // Zertifikatspasswort
Reason = "Sign", // Unterschriftensgrund
Contact = "JohnSmith", // Kontaktinformationen
Location = "Office1", // Unterschriftensort
AllPages = true, // Unterschrift auf allen Seiten anwenden
Width = 80,
Height = 60,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right,
Margin = new Padding() { Bottom = 10, Right = 10 },
HashAlgorithm = HashAlgorithm.Sha256 // SHA-256 für Hashing angeben
};
📌Anmerkung:
Konfigurieren Sie grundlegende digitale Unterschriftseigenschaften wie Erscheinung, Positionierung und Hashing, um sicherzustellen, dass Ihre elektronischen Dokumentunterschriften professionellen Standards entsprechen.
Sicherheitshinweis: In der Produktion vermeiden Sie das Härtecodieren sensibler Werte (wie Passwörter); verwenden Sie stattdessen sichere Konfigurationsmethoden, die den Anforderungen an die digitale Unterschrift entsprechen.
Schritt 3. Implementieren Sie die benutzerdefinierte Hash-Unterschrift
Weisen Sie nun Ihren benutzerdefinierten Hash-Unterschriftens dem Optionsobjekt zu. Dieser benutzerdefinierte Unterschriftens implementiert die ICustomSignHash
-Schnittstelle und wird verwendet, um den Hash mit Azure Key Vault oder einem anderen externen Unterschriftengerät zu unterzeichnen, das Sie integrieren möchten.
var azureSigner = new AzureSigner();
options.CustomSignHash = azureSigner;
options.Signature.Certificate = azureSigner.GetPublicCertificateFromAzureStorage();
📌Anmerkung:
Hier wird eine Instanz von AzureSigner
erstellt. Ihre CustomSignHash
-Methode wird während des Unterschriftensablaufs aufgerufen, und sie ruft auch das öffentliche Zertifikat aus Azure Key Vault ab.
Schritt 4. Unterzeichnen Sie das Dokument
Rufen Sie schließlich die Sign
-Methode auf, um das unterzeichnete PDF-Dokument mit Ihrer benutzerdefinierten Hash-Unterschrift-Implementierung zu generieren.
signature.Sign(sampleOutputFilePath, options);
📌Anmerkung:
Diese Methode wendet Ihre digitale Unterschrift auf das Dokument mit den zuvor konfigurierten Optionen an, einschließlich Ihres benutzerdefinierten Hash-Unterschriftens. Das resultierende PDF enthält eine kryptografisch sichere Unterschrift, die mit Standard-PDF-Lesern oder programmgesteuert mit den Validierungsfunktionen von GroupDocs.Signature validiert werden kann.
Schritt 5. Detaillierte Implementierung der Azure-Zertifikatsunterschrift
Hier ist die vollständige Implementierung des benutzerdefinierten Unterschriftens mit Azure Key Vault für die Azure-Zertifikatsunterschrift. Diese Klasse demonstriert professionelle Azure-Zertifikatsunterschriftspraktiken, indem sie Azure-Anmeldeinformationen abruft, das öffentliche Zertifikat abruft und den Dokumentenhash sicher unterzeichnet.
public class AzureSigner : ICustomSignHash
{
public byte[] CustomSignHash(byte[] hash, HashAlgorithm hashAlgorithm,
SignatureContext signatureContext)
{
// Delegieren Sie den Unterschriftensvorgang an Azure
return SignWithAzure(hash);
}
private static byte[] SignWithAzure(byte[] signableHash)
{
// Abrufen der Azure-Anmeldeinformationen
var credential = GetAzureSecretCredential();
// Geben Sie die Kennungs-ID des Schlüsseltresorzertifikats an
var certificateKeyId =
"https://groupdocskeyvault.vault.azure.net/keys/GroupDocsSignatureCertificate/>";
CryptographyClient client =
new CryptographyClient(new Uri(certificateKeyId), credential);
// Unterzeichnen Sie den Hash mit RS256
var result = client.Sign(SignatureAlgorithm.RS256, signableHash);
return result.Signature;
}
static ClientSecretCredential GetAzureSecretCredential()
{
// Geben Sie Ihre Azure AD-Tenant-, Client- und Geheimnisdetails an
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()
{
// Definieren Sie die Schlüsseltresor-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)
{
// Erstellen Sie einen Zertifikatsclient für den Schlüsseltresor
CertificateClient certificateClient =
new CertificateClient(new Uri(uri), credential);
// Abrufen des Zertifikats mit dem öffentlichen Schlüssel
KeyVaultCertificateWithPolicy certificate =
certificateClient.GetCertificateAsync("GroupDocsSignatureCertificate").Result;
return new X509Certificate2(certificate.Cer);
}
}
📌Anmerkungen:
- Azure-Anmeldeinformationen: Die Methode GetAzureSecretCredential erstellt eine Anmeldung mit Ihrer Tenant-ID, Client-ID und dem Geheimnis. Sicherheitshinweis: Stellen Sie sicher, dass Sie diese Anmeldeinformationen sicher speichern (z. B. mit Azure Key Vault oder einem sicheren Konfigurationsspeicher), um die Integrität Ihrer .NET-PDF-Unterschrift-Implementierung zu gewährleisten.
- Unterschrift mit Azure: Die Methode SignWithAzure verwendet den CryptographyClient aus dem Azure SDK, um den Hash mit dem in Azure Key Vault gespeicherten Zertifikat zu unterzeichnen, und demonstriert einen professionellen Ansatz zur Zertifikatsverwaltung, der den Sicherheitsbest Practices für digitale Unterschrift entspricht.
- Abrufen des öffentlichen Zertifikats: Die Methode GetPublicCertificateFromAzureStorage verbindet sich mit Ihrem Azure-Schlüsseltresor und ruft das Zertifikat ab, das für die Unterschriftenvalidierung erforderlich ist, und stellt sicher, dass Ihre elektronischen Dokumentunterschriften ordnungsgemäß validiert werden können.
Schritt 6. Implementierungsschritte für Azure Key Vault für PDF-Digitalunterschriften
Um Azure Key Vault mit Ihren benutzerdefinierten Unterschriftendiensten zu integrieren, befolgen Sie diese Schritte:
- Einrichten von Azure Key Vault:
- Erstellen Sie eine Azure-Schlüsseltresor-Instanz.
- Laden Sie Ihr Unterschriftenzertifikat in den Schlüsseltresor hoch.
- Konfigurieren Sie Zugriffsrichtlinien für Ihre Anwendung.
- Konfigurieren Sie Azure-Anmeldeinformationen:
- Registrieren Sie Ihre Anwendung in Azure Active Directory.
- Abrufen Sie Ihre Tenant-ID, Client-ID und Client-Geheimnis.
- Erstellen Sie eine
ClientSecretCredential
für den Zugriff auf den Schlüsseltresor.
- Abrufen des Zertifikats:
- Verwenden Sie den
CertificateClient
, um das Zertifikat mit dem öffentlichen Schlüssel aus Azure Key Vault abzurufen. - Dieses Zertifikat wird verwendet, um die digitale Unterschrift zu validieren.
- Verwenden Sie den
- Implementieren Sie die benutzerdefinierte Unterschrift:
- Verwenden Sie den Azure SDK’s
CryptographyClient
, um den Hash des Dokuments zu unterzeichnen. - Geben Sie den entsprechenden Unterschriftensalgorithmus (z. B. RS256) an.
- Verwenden Sie den Azure SDK’s
📌Anmerkung:
Jeder dieser Schritte ist entscheidend, um sicherzustellen, dass Ihr Unterschriftensablauf sicher ist und sensible Schlüssel in der Cloud geschützt bleiben, während gleichzeitig die Flexibilität besteht, eigene Unterschriftendienste für spezifische Anforderungen zu implementieren.
🧩 Erweiteren Sie Ihre benutzerdefinierte Unterschrift-Implementierung
Der Vorteil des benutzerdefinierten Hash-Unterschriftensablaufs von GroupDocs.Signature besteht darin, dass Sie ihn anpassen können, um mit fast jedem externen Unterschriftengerät oder -dienst zu arbeiten. Hier sind einige Beispiele, wie Sie diese Implementierung erweitern könnten:
- Hardware-Sicherheitsmodule (HSMs): Implementieren Sie einen benutzerdefinierten Unterschriftens, der mit physischen HSMs für maximale Sicherheit kommuniziert.
- Smartcard-Integration: Erstellen Sie einen Unterschriftens, der mit Smartcard-Lesern für Unternehmensumgebungen kommuniziert, die physische Authentifizierung erfordern.
- Biometrische Authentifizierung: Bauen Sie einen Unterschriftendienst, der Fingerabdruck- oder Gesichtserkennung erfordert, bevor die Unterschriftenerstellung autorisiert wird.
- Mehrparteien-Genehmigung: Implementieren Sie einen benutzerdefinierten Unterschriftensablauf, bei dem mehrere Parteien zustimmen müssen, bevor die endgültige Unterschrift angewendet wird.
- Cloud-Dienstleister: Passen Sie das Beispiel an, um mit AWS KMS, Google Cloud KMS oder anderen cloudbasierten Schlüsselverwaltungsdiensten zu arbeiten.
Durch die Implementierung eigener Unterschriftendienste über die ICustomSignHash
-Schnittstelle behalten Sie die vollständige Kontrolle über Ihre kryptografischen Vorgänge, während Sie die leistungsstarken Dokumentenhandhabungsfähigkeiten von GroupDocs.Signature für .NET nutzen.
✨ Schlussgedanken zu elektronischen Dokumentunterschriften
Diese Anleitung hat gezeigt, wie Sie GroupDocs.Signature mit Azure Key Vault integrieren, um konforme elektronische Dokumentunterschriften für PDF-Dateien auf sichere Weise zu erstellen. Elektronische Dokumentunterschriften, die durch diesen Ansatz erstellt werden, entsprechen den Branchenstandards für Authentizität und Integrität. Durch die Befolgung dieses schrittweisen Ansatzes und die Einhaltung von Sicherheitsbest Practices (wie die sichere Anmeldeinformationsverwaltung) können Sie eine robuste digitale Unterschriftenslösung in Ihrer .NET-Anwendung implementieren, die über Ihren gesamten Dokumentenablauf hinweg funktioniert.
Für weitere Details und fortgeschrittene Szenarien verweisen Sie auf die offizielle Dokumentation.
Testen Sie GroupDocs.Signature APIs kostenlos
Sie können die GroupDocs.Signature-APIs kostenlos testen, indem Sie die neueste Version auf unserer Release-Download-Website herunterladen und installieren.
Sie können auch eine temporäre Lizenz erhalten, um alle Funktionen der Bibliothek ohne Einschränkungen zu testen. Besuchen Sie die Seite zur temporären Lizenz, um eine temporäre Lizenz zu beantragen.
🔗 Siehe auch
Für weitere Informationen und zusätzliche Ressourcen können Ihnen die folgenden Links nützlich sein:
- GroupDocs.Signature für .NET Beispiele
- GroupDocs.Signature für Java Beispiele
- GroupDocs.Signature für Node.js via Java Beispiele
- Laden Sie GroupDocs.Signature-APIs kostenlos herunter und testen Sie sie
- Testen Sie GroupDocs.Signature mit einer Vollzugriffs-Temporärlizenz
- Dokumentation unserer APIs
- Kostenloses Support-Forum