Introductie
PDF‑bestanden zijn onmisbaar in diverse sectoren, en het waarborgen van hun authenticiteit en integriteit met digitale handtekeningen is een cruciale beveiligingsmaatregel. Digitale handtekeningen bieden juridische geldigheid en beschermen documenten tegen manipulatie. Deze uitgebreide gids leidt je stap voor stap door het implementeren van .NET PDF‑ondertekening door een veilige PDF‑digitale‑handtekeningservice te bouwen met Azure Key Vault en GroupDocs.Signature for .NET.
Elektronische documenthandtekeningen worden steeds belangrijker voor bedrijven die overstappen op papierloze processen. GroupDocs.Signature for .NET biedt een krachtige C#‑oplossing voor PDF‑digitale handtekeningen die voldoet aan de compliance‑eisen van diverse regelgevende kaders. Of je nu nieuw bent met PDF‑ondertekening in .NET‑applicaties of je bestaande implementatie wilt verbeteren, deze tutorial behandelt alles wat je moet weten.
Azure Key Vault is een cloudgebaseerde sleutelbeheer‑service die veilige opslag en beheer van cryptografische sleutels en certificaten mogelijk maakt. GroupDocs.Signature for .NET is een krachtige, veilige PDF‑ondertekenings‑API waarmee ontwikkelaars programmatisch digitale handtekeningen op PDF‑bestanden kunnen toepassen. Door deze technologieën te integreren, kun je een robuuste en efficiënte PDF‑digitale‑handtekeningservice bouwen.
Een van de krachtigste functies die we gaan verkennen is custom hash signing, die uitzonderlijke flexibiliteit biedt voor je ondertekeningsworkflow. Deze aanpak stelt je in staat externe ondertekeningsapparaten zoals hardware security modules (HSM’s), smart cards of andere cryptografische apparaten aan je applicatie te koppelen. Met custom hash signing kunnen ontwikkelaars hun eigen ondertekeningsservices schrijven die communiceren met propriëtaire systemen, legacy‑infrastructuur of gespecialiseerde beveiligingshardware, terwijl ze compatibel blijven met het GroupDocs.Signature‑framework. Dit maakt het een ideale oplossing voor organisaties met specifieke beveiligingsvereisten of bestaande investeringen in cryptografische infrastructuur.
🔐 Maak een Azure‑sleutelkluis en certificaat aan
Laten we beginnen met het opzetten van een Azure Key Vault en het genereren van een certificaat.
Stap 1: Provision the Key Vault
Maak een nieuwe Azure Key Vault‑resource aan via het Azure‑portaal. Voor gedetailleerde instructies, bekijk deze quick‑start‑gids.
💡Als je geen actieve Azure‑abonnement hebt, kun je je aanmelden voor een gratis proefperiode van 1 maand om te beginnen.
Stap 2: Genereer of importeer je certificaat
Navigeer, zodra je sleutelkluis operationeel is, naar het dashboard, selecteer het tabblad Certificates en klik op Generate/Import om je certificaat toe te voegen.
Stap 3: In het veld Method of Certificate Creation selecteer je Generate om automatisch een nieuw certificaat aan te maken. Voor dit voorbeeld kiezen we een Self‑signed certificate als certificaatautoriteitstype.
Opmerking: Als je een bestaand certificaat wilt gebruiken, kun je Import selecteren om er een van je lokale apparaat te laden.
Stap 4: Ga vervolgens naar Advanced Policy Configuration en stel de optie Private Key Export in op No.
Stap 5: Klik tenslotte op Create. Het certificaat wordt nu toegevoegd aan je sleutelkluis.
Om de details te bekijken, klik je simpelweg op het certificaat om de eigenschappen te openen.
⚙️ Registreer de applicatie om toegang tot Azure Key Vault mogelijk te maken
Om de Web API toegang te geven tot Azure Key Vault, moet je deze registreren in Azure Active Directory:
Stap 1: Navigeer naar Azure Active Directory, kies App registrations en klik op New registration.
Stap 2: Voer je applicatienaam in en registreer.
Na registratie ontvang je belangrijke gegevens – kopieer de Client ID en Tenant ID voor gebruik in je applicatie.
Stap 3: Selecteer vervolgens API Permissions in het zijmenu en klik op Add Permission. Kies Azure Key Vault, selecteer Full Access, en rond af door op Add Permissions te klikken.
Stap 4: Ga naar Certificate & secrets en klik op New client secret om een nieuwe geheime sleutel aan te maken. Kopieer deze sleutel om deze vanuit je .NET‑applicatie te gebruiken.
🔐 Wijs het toegangsbeleid toe aan Azure Key Vault
In de vorige stappen hebben we de applicatie aangemaakt en geregistreerd. Nu moeten we de nieuw geregistreerde applicatie toegang geven tot Azure Key Vault:
Stap 1: Navigeer naar Azure Key Vault, selecteer Access Policies en klik op Create.
Stap 2: Selecteer de benodigde permissies en klik op Next.
Stap 3: Kies in dit venster de applicatie die we eerder hebben geregistreerd, GroupDocs.Signature.Service, en klik op Create.
De applicatie verschijnt nu in de sectie Access Policies.
📑 Hoe Azure Key Vault te gebruiken met GroupDocs.Signature for .NET PDF‑ondertekening
Deze uitgebreide gids legt uit hoe je PDF‑documenten ondertekent met de GroupDocs.Signature‑API in .NET met custom hash signing die Azure Key Vault benut. We splitsen het proces op in duidelijke stappen – van het configureren van je C#‑omgeving tot het implementeren van een custom hash signer die voldoet aan de compliance‑eisen voor digitale handtekeningen.
Overzicht van veilige PDF‑ondertekening met custom hash‑implementatie
De custom hash signing‑aanpak biedt uitzonderlijke flexibiliteit voor het implementeren van elektronische documenthandtekeningen in je .NET‑applicaties. Dit is wat we behandelen:
- Zet je .NET‑applicatie op om te werken met GroupDocs.Signature for PDF‑digitale handtekeningen
- Configureer professionele digitale ondertekeningsopties met juist certificaatbeheer
- Implementeer een custom hash signing‑mechanisme voor maximale flexibiliteit
- Integreer Azure Key Vault om het publieke certificaat veilig op te halen en het document te ondertekenen
- Volg best practices op het gebied van beveiliging gedurende de gehele implementatie
Voor extra achtergrond, raadpleeg de GroupDocs.Signature‑documentatie over digital signing met custom hash.
🚀 Voordelen van custom hash signing voor .NET PDF‑applicaties
Voordat we aan de implementatie beginnen, is het belangrijk te begrijpen waarom custom hash signing een significante vooruitgang betekent in digitale handtekeningtechnologie:
- Integratie met externe ondertekeningsapparaten: Custom hash signing maakt naadloze verbinding mogelijk met hardware security modules (HSM’s), smart cards, biometrische apparaten en andere gespecialiseerde cryptografische hardware die je organisatie al gebruikt.
- Flexibele architectuur voor enterprise‑oplossingen: Organisaties kunnen hun eigen sign‑services schrijven die communiceren met bestaande infrastructuur, legacy‑systemen of propriëtaire ondertekeningsoplossingen, terwijl ze compatibel blijven met GroupDocs.Signature.
- Verbeterde beveiligings‑compliance: Door de hash‑generatie te scheiden van het daadwerkelijke ondertekeningsproces behoud je betere controle over cryptografische operaties, wat helpt te voldoen aan strenge regelgeving zoals eIDAS, ESIGN Act en branchespecifieke standaarden.
- Ondersteuning voor cloud‑gebaseerd sleutelbeheer: Integratie met Azure Key Vault zorgt ervoor dat certificaten veilig worden opgeslagen en beheerd in Microsoft’s gecertificeerde infrastructuur in plaats van op lokale machines.
- Aanpassing van het ondertekeningsproces: Implementeer aangepaste goedkeuringsworkflows, multi‑party ondertekeningsreeksen of gespecialiseerde validatieregels die verder gaan dan standaard digitale handtekeningen.
Stap 1. Configureren van de C# PDF‑digitale‑handtekeningomgeving
Begin met het definiëren van je bestands‑paden en het initialiseren van het GroupDocs.Signature‑object in je C#‑applicatie. In dit voorbeeld geven we het bron‑PDF‑bestand en de output‑locatie voor het ondertekende document op.
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...
}
}
📌Annotation:
Deze stap maakt een nieuwe Signature‑instantie aan die het PDF‑document laadt dat je wilt ondertekenen, en legt de basis voor veilige PDF‑ondertekening in je .NET‑applicatie.
Stap 2. Configureren van digitale handtekeningopties
Stel vervolgens je digitale handtekeningopties in. Deze opties omvatten certificaatdetails, visuele weergave en het hash‑algoritme. De custom hash signing wordt later toegevoegd.
// 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
};
📌Annotation:
Configureer basis‑eigenschappen van de digitale handtekening, zoals weergave, positionering en hashing, om ervoor te zorgen dat je elektronische documenthandtekeningen aan professionele standaarden voldoen.
Beveiligingsopmerking: Vermijd in productie het hard‑coderen van gevoelige waarden (zoals wachtwoorden); gebruik in plaats daarvan veilige configuratiemethoden die overeenkomen met de eisen voor digitale handtekening‑compliance.
Stap 3. Implementeren van custom hash signing
Wijs nu je custom hash signer toe aan de opties. Deze custom signer implementeert de ICustomSignHash‑interface en wordt gebruikt om de hash te ondertekenen met Azure Key Vault of een ander extern ondertekeningsapparaat.
var azureSigner = new AzureSigner();
options.CustomSignHash = azureSigner;
options.Signature.Certificate = azureSigner.GetPublicCertificateFromAzureStorage();
📌Annotation:
Hier wordt een instantie van AzureSigner aangemaakt. De CustomSignHash‑methode wordt tijdens het ondertekeningsproces aangeroepen, en de public‑certificate wordt opgehaald uit Azure Key Vault.
Stap 4. Het document ondertekenen
Roep tenslotte de Sign‑methode aan om het ondertekende PDF‑document te genereren met je custom hash signing‑implementatie.
signature.Sign(sampleOutputFilePath, options);
📌Annotation:
Deze methode past je digitale handtekening toe op het document met de eerder geconfigureerde opties, inclusief je custom hash signer. Het resulterende PDF‑bestand bevat een cryptografisch veilige handtekening die kan worden gevalideerd met standaard PDF‑readers of programmatisch met de validatiefuncties van GroupDocs.Signature.
Stap 5. Gedetailleerde implementatie van Azure‑certificaatondertekening
Hieronder vind je de volledige implementatie van de custom signer die Azure Key Vault gebruikt voor Azure‑certificaatondertekening. Deze klasse demonstreert professionele Azure‑certificaatondertekeningspraktijken door Azure‑referenties op te halen, het publieke certificaat te verkrijgen en de document‑hash veilig te ondertekenen.
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);
}
}
📌Annotations:
- Azure Credentials:
DeGetAzureSecretCredential‑methode maakt een referentie aan met je tenant‑ID, client‑ID en geheim. Beveiligingsopmerking: zorg ervoor dat je deze referenties veilig opslaat (bijvoorbeeld via Azure Key Vault of een beveiligde configuratiewinkel) om de integriteit van je .NET PDF‑ondertekening‑implementatie te waarborgen. - Signing with Azure:
DeSignWithAzure‑methode gebruikt deCryptographyClientuit de Azure‑SDK om de hash te ondertekenen met het certificaat dat in Azure Key Vault is opgeslagen, wat een professionele aanpak van certificaatbeheer laat zien die voldoet aan best practices voor digitale handtekening‑compliance. - Public Certificate Retrieval:
De methodeGetPublicCertificateFromAzureStoragemaakt verbinding met je Azure Key Vault en haalt het certificaat op dat nodig is voor verificatie, zodat je elektronische documenthandtekeningen correct gevalideerd kunnen worden.
Stap 6. Azure Key Vault‑implementatiestappen voor PDF‑digitale handtekeningen
Om Azure Key Vault te integreren met je custom sign‑services, volg je deze stappen:
- Setup Azure Key Vault:
- Maak een Azure Key Vault‑instantie aan.
- Upload je ondertekeningscertificaat naar de Key Vault.
- Configureer toegangs‑policies voor je applicatie.
- Configureer Azure‑referenties:
- Registreer je applicatie in Azure Active Directory.
- Haal je tenant‑ID, client‑ID en client‑secret op.
- Creëer een
ClientSecretCredentialvoor toegang tot de Key Vault.
- Haal het certificaat op:
- Gebruik de
CertificateClientom het certificaat met de publieke sleutel uit Azure Key Vault te halen. - Dit certificaat wordt gebruikt om de digitale handtekening te verifiëren.
- Gebruik de
- Implementeer custom signing:
- Gebruik de Azure‑SDK‑
CryptographyClientom de hash van het document te ondertekenen. - Specificeer het juiste handtekening‑algoritme (bijv. RS256).
- Gebruik de Azure‑SDK‑
📌Annotation:
Elk van deze stappen is cruciaal om ervoor te zorgen dat je ondertekeningsproces veilig is en dat gevoelige sleutels beschermd blijven in de cloud, terwijl je de flexibiliteit behoudt om eigen sign‑services te implementeren voor gespecialiseerde eisen.
🧩 Uitbreiden van je custom signing‑implementatie
De kracht van GroupDocs.Signature’s custom hash signing‑aanpak is dat je deze kunt aanpassen voor vrijwel elk extern ondertekeningsapparaat of -service. Enkele voorbeelden van mogelijke uitbreidingen:
- Hardware Security Modules (HSM’s): Implementeer een custom signer die communiceert met fysieke HSM’s voor maximale beveiliging.
- Smart Card‑integratie: Maak een signer die werkt met smart‑card‑lezers voor bedrijfsomgevingen die fysieke authenticatie vereisen.
- Biometrische authenticatie: Bouw een ondertekeningsservice die vingerafdruk‑ of gezichtsherkenning vereist voordat een handtekening wordt geautoriseerd.
- Multi‑party goedkeuring: Implementeer een workflow waarbij meerdere partijen moeten goedkeuren voordat de definitieve handtekening wordt toegepast.
- Cloud Service Providers: Pas het voorbeeld aan voor AWS KMS, Google Cloud KMS of andere cloud‑key‑management‑services.
Door je eigen sign‑services via de ICustomSignHash‑interface te implementeren, behoud je volledige controle over je cryptografische operaties terwijl je profiteert van de krachtige documentverwerkingsmogelijkheden van GroupDocs.Signature for .NET.
✨ Eindgedachten over elektronische documenthandtekeningen
Deze gids heeft laten zien hoe je GroupDocs.Signature integreert met Azure Key Vault om conforme elektronische documenthandtekeningen voor PDF‑bestanden op een veilige manier te creëren. Handtekeningen die via deze methode worden gegenereerd, voldoen aan industriële standaarden voor authenticiteit en integriteit. Door de stap‑voor‑stap‑aanpak te volgen en beveiligings‑best practices (zoals veilig omgaan met referenties) in acht te nemen, kun je een robuuste digitale ondertekeningsoplossing implementeren in je .NET‑applicatie die over je volledige document‑workflow heen werkt.
Voor meer details en geavanceerde scenario’s, raadpleeg de officiële documentatie.
Gratis proefversie aanvragen
Je kunt GroupDocs.Signature‑API’s gratis uitproberen door simpelweg de nieuwste versie te downloaden en te installeren vanaf onze release‑downloads website.
Je kunt ook een tijdelijke licentie verkrijgen om alle functionaliteiten van de bibliotheek zonder beperkingen te testen. Ga naar de tijdelijke licentie‑pagina om een tijdelijke licentie aan te vragen.
🔗 Zie ook
Voor meer informatie en aanvullende bronnen kun je de volgende links nuttig vinden: