Inleiding
PDF-bestanden zijn essentieel in verschillende bedrijfstakken, en het waarborgen van hun authenticiteit en integriteit door middel van digitale ondertekeningen is een cruciale veiligheidsmaatregel. Digitale ondertekeningen bieden juridische geldigheid en beschermen documenten tegen manipulatie. Deze uitgebreide handleiding leidt je door het implementeren van .NET PDF-ondertekeningen door een veilige PDF-digitaalondertekeningsdienst te creëren met Azure Key Vault en GroupDocs.Signature for .NET.
Elektronische documentondertekeningen zijn steeds belangrijker geworden voor bedrijven die overgaan op papierloze werkstromen. GroupDocs.Signature for .NET biedt een krachtige C# PDF-digitaalondertekeningsoplossing die voldoet aan de eisen voor digitale ondertekeningscompliance binnen verschillende regelgevende kaderen. Of je nieuw bent bij PDF-ondertekeningen in .NET-applicaties of je bestaande implementaties wilt verbeteren, deze tutorial dekkt alles wat je moet weten.
Azure Key Vault is een cloudgebaseerde sleutelbeheerservice die veilige opslag en beheer van cryptografische sleutels en certificaten mogelijk maakt. GroupDocs.Signature for .NET is een krachtige, veilige PDF-ondertekenings-API die ontwikkelaars in staat stelt om digitale ondertekeningen programmaatisch toe te passen op PDF-bestanden. Door deze technologieën te integreren, kun je een robuuste en efficiënte PDF-digitaalondertekeningsdienst bouwen.
Een van de krachtigste functies die we zullen verkennen, is aangepaste hashondertekening, die uitzonderlijke flexibiliteit biedt voor je ondertekeningswerkstroom. Deze aanpak maakt het mogelijk om externe ondertekeningsapparaten zoals hardware security modules (HSMs), smart cards of andere cryptografische apparaten te verbinden met je toepassing. Met aangepaste hashondertekening kunnen ontwikkelaars hun eigen ondertekeningsdiensten schrijven die interfacen met eigendomssystemen, legacy-infrastructuur of gespecialiseerde beveiligingshardware, terwijl ze compatibel blijven met het GroupDocs.Signature-framework. Dit maakt het een ideale oplossing voor organisaties met specifieke beveiligingseisen of bestaande investeringen in cryptografische infrastructuur.
🔐 Een Azure Key Vault en certificaat maken
Laten we beginnen met het instellen van een Azure Key Vault en het genereren van een certificaat.
Stap 1: De Key Vault inrichten
Maak een nieuwe Azure Key Vault-resource aan met behulp van de Azure-portal. Voor gedetailleerde instructies, bekijk deze quick-start handleiding.
💡Als je geen actief Azure-abonnement hebt, kun je je aanmelden voor een gratis proefperiode van 1 maand om te beginnen.
Stap 2: Je certificaat genereren of importeren
Zodra je key vault actief is, ga naar het dashboard, selecteer het tabblad Certificaten en klik op Genereren/Importeren om je certificaat toe te voegen.
Stap 3: In het veld Methode van certificaatcreatie selecteer je Genereren om automatisch een nieuw certificaat te maken. Voor dit voorbeeld kiezen we voor een zelfondertekend certificaat als het type certificaatautoriteit.
Opmerking: Als je een bestaand certificaat wilt gebruiken, kun je Importeren selecteren om er een van je lokale apparaat te laden.
Stap 4: Ga vervolgens naar Geavanceerde beleidsconfiguratie en stel de optie Privé sleutel exporteren in op Nee.
Stap 5: Klik vervolgens op Maken. Het certificaat wordt nu aan je key vault toegevoegd.
Om de details te bekijken, klik je gewoon op het certificaat om de eigenschappen te openen.
⚙️ De toepassing registreren om toegang tot de Azure Key Vault te verlenen
Om de Web API toegang te geven tot de Azure Key Vault, moet je deze registreren in Azure Active Directory:
Stap 1: Ga naar Azure Active Directory, kies App registraties en klik op Nieuwe registratie.
Stap 2: Voer de naam van je toepassing in en registreer deze.
Na registratie ontvang je sleuteldetails—kopieer de Client ID en Tenant ID voor gebruik in je toepassing.
Stap 3: Kies vervolgens API-machtigingen uit het zijmenu en klik op Machtiging toevoegen. Selecteer Azure Key Vault, kies Volledige toegang en voltooi het proces door op Machtigingen toevoegen te klikken.
Stap 4: Selecteer Certificaten & geheimen en klik op Nieuw clientgeheim om een nieuw geheim sleutel te maken. Kopieer deze sleutel om deze van je .NET-toepassing te gebruiken.
🔐 De toegangsbeleid toewijzen aan de Azure Key Vault
In de vorige stappen hebben we de toepassing gemaakt en geregistreerd. Nu moeten we de nieuw geregistreerde toepassing toegang geven tot de Azure Key Vault:
Stap 1: Ga naar de Azure Key Vault, selecteer Toegangsbeleid en klik op Maken.
Stap 2: Selecteer de benodigde machtigingen en klik op Volgende.
Stap 3: In dit venster selecteer je de toepassing die we eerder hebben geregistreerd, GroupDocs.Signature.Service, en klik op Maken.
De toepassing verschijnt nu in de sectie Toegangsbeleid.
📑 Hoe Azure Key Vault te gebruiken met GroupDocs.Signature for .NET PDF-ondertekeningen
Deze uitgebreide handleiding legt uit hoe je PDF-documenten kunt ondertekenen met de GroupDocs.Signature-API in .NET met aangepaste hashondertekening die Azure Key Vault gebruikt. We zullen het proces in duidelijke stappen uiteenzetten—van het configureren van je C#-omgeving tot het implementeren van een aangepaste hashondertekenaar die voldoet aan de eisen voor digitale ondertekeningscompliance.
Overzicht van veilig PDF-ondertekenen met aangepaste hashimplementatie
De aangepaste hashondertekeningsaanpak biedt uitzonderlijke flexibiliteit voor het implementeren van elektronische documentondertekeningen in je .NET-applicaties. Hier is wat we zullen behandelen:
- Je .NET-toepassing instellen om te werken met GroupDocs.Signature voor PDF-digitaalondertekeningen
- Professionele digitale ondertekeningsopties configureren met juist certificaatbeheer
- Een aangepaste hashondertekeningsmechanisme implementeren voor maximale flexibiliteit
- Azure Key Vault integreren om veilig het openbare certificaat op te halen en het document te ondertekenen
- Volgen van beveiligingsbest practices gedurende de implementatie
Voor extra achtergrondinformatie, raadpleeg de GroupDocs.Signature-documentatie over digitaal ondertekenen met aangepaste hash.
🚀 Voordelen van aangepaste hashondertekening voor .NET PDF-toepassingen
Voordat we beginnen met de implementatie, is het belangrijk om te begrijpen waarom aangepaste hashondertekening een significante vooruitgang betekent in de technologie van digitale ondertekeningen:
- Integratie met externe ondertekeningsapparaten: Aangepaste hashondertekening maakt het mogelijk om naadloos te verbinden met hardware security modules (HSMs), smart cards, biometrische apparaten en andere gespecialiseerde cryptografische hardware die je organisatie mogelijk al gebruikt.
- Flexibele architectuur voor ondernemingsoplossingen: Organisaties kunnen hun eigen ondertekeningsdiensten schrijven die interfacen met bestaande infrastructuur, legacy-systemen of eigendomsondertekeningsoplossingen, terwijl ze compatibel blijven met GroupDocs.Signature.
- Verhoogde beveiligingscompliance: Door het hashgenereren te scheiden van het eigenlijke ondertekeningsproces, behoud je beter controle over cryptografische bewerkingen, wat helpt om strenge regelgevende eisen zoals eIDAS, ESIGN Act en bedrijfsspecifieke compliance-eisen na te komen.
- Ondersteuning voor cloudgebaseerd sleutelbeheer: Integratie met Azure Key Vault maakt het mogelijk om certificaten veilig op te slaan en te beheren in Microsoft’s gecertificeerde veilige infrastructuur in plaats van op lokale machines.
- Aanpasbaarheid van het ondertekeningsproces: Implementeer aangepaste goedkeuringswerkstromen, meervoudige ondertekeningsvolgordes of gespecialiseerde validatieregels die verder gaan dan standaard digitale ondertekeningsimplementaties.
Stap 1. Configureren van de C# PDF-digitaalondertekeningsomgeving
Begin met het definiëren van je bestandspaden en het initialiseren van het GroupDocs.Signature-object in je C#-toepassing. In dit voorbeeld geven we het bron-PDF-bestand en de uitvoerlocatie voor het ondertekende document op.
public static void SignDocument()
{
// Paden voor bron- en uitvoerdocumenten definiëren
string sampleFilePath = "sample.pdf";
string sampleOutputFilePath = "signed.pdf";
using (Signature signature = new Signature(sampleFilePath))
{
// Code gaat verder in de volgende stappen...
}
}
📌Annotatie:
Deze stap maakt een nieuw Signature-exemplaar dat het PDF-document dat je wilt ondertekenen laadt, wat de basis legt voor veilig PDF-ondertekenen in je .NET-toepassing.
Stap 2. Configureren van digitale ondertekeningsopties
Stel vervolgens je digitale ondertekeningsopties in. Deze opties omvatten certificaatdetails, visuele verschijning en het hashalgorithme. De aangepaste hashondertekening wordt later ingevoegd.
// Digitale ondertekeningsopties initialiseren
DigitalSignOptions options = new DigitalSignOptions()
{
Signature = new DigitalSignature(),
Password = "1234567890", // Certificaatwachtwoord
Reason = "Sign", // Ondertekeningsreden
Contact = "JohnSmith", // Contactinformatie
Location = "Office1", // Ondertekeningslocatie
AllPages = true, // Ondertekening toepassen op alle pagina's
Width = 80,
Height = 60,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right,
Margin = new Padding() { Bottom = 10, Right = 10 },
HashAlgorithm = HashAlgorithm.Sha256 // SHA-256 specificeren voor hashing
};
📌Annotatie:
Configureer basisdigitale ondertekeningseigenschappen zoals verschijning, positie en hashing om ervoor te zorgen dat je elektronische documentondertekeningen voldoen aan professionele normen.
Beveiligingsopmerking: In productie vermijd het hardcoden van gevoelige waarden (zoals wachtwoorden); gebruik in plaats daarvan veilige configuratiemethoden die consistent zijn met de eisen voor digitale ondertekeningscompliance.
Stap 3. Implementeren van aangepaste hashondertekening
Voeg nu je aangepaste hashondertekenaar toe aan de opties. Deze aangepaste ondertekenaar implementeert het ICustomSignHash-interface en wordt gebruikt om de hash met Azure Key Vault of een ander extern ondertekeningsapparaat dat je wilt integreren te ondertekenen.
var azureSigner = new AzureSigner();
options.CustomSignHash = azureSigner;
options.Signature.Certificate = azureSigner.GetPublicCertificateFromAzureStorage();
📌Annotatie:
Hier wordt een exemplaar van AzureSigner gemaakt. Zijn CustomSignHash-methode wordt tijdens het ondertekeningsproces aangeroepen en haalt ook het openbare certificaat op uit Azure Key Vault.
Stap 4. Het document ondertekenen
Roep vervolgens de Sign-methode aan om het ondertekende PDF-document te genereren met je aangepaste hashondertekeningsimplementatie.
signature.Sign(sampleOutputFilePath, options);
📌Annotatie:
Deze methode past je digitale ondertekening toe op het document met de eerder geconfigureerde opties, inclusief je aangepaste hashondertekenaar. Het resulterende PDF bevat een cryptografisch veilige ondertekening die kan worden gevalideerd met standaard PDF-lezers of programmaatisch met de validatiefuncties van GroupDocs.Signature.
Stap 5. Gedetailleerde implementatie van Azure-certificaatondertekening
Hieronder volgt de volledige implementatie van de aangepaste ondertekenaar met behulp van Azure Key Vault voor Azure-certificaatondertekening. Deze klasse demonstreert professionele Azure-certificaatondertekeningspraktijken door Azure-referenties op te halen, het openbare certificaat op te halen en het documenthash veilig te ondertekenen.
public class AzureSigner : ICustomSignHash
{
public byte[] CustomSignHash(byte[] hash, HashAlgorithm hashAlgorithm,
SignatureContext signatureContext)
{
// De ondertekeningsoperatie delegeren aan Azure
return SignWithAzure(hash);
}
private static byte[] SignWithAzure(byte[] signableHash)
{
// Azure-referenties ophalen
var credential = GetAzureSecretCredential();
// Je sleutelidentificator van Key Vault-certificaat specificeren
var certificateKeyId =
"https://groupdocskeyvault.vault.azure.net/keys/GroupDocsSignatureCertificate/>";
CryptographyClient client =
new CryptographyClient(new Uri(certificateKeyId), credential);
// De hash ondertekenen met RS256
var result = client.Sign(SignatureAlgorithm.RS256, signableHash);
return result.Signature;
}
static ClientSecretCredential GetAzureSecretCredential()
{
// Je Azure AD tenant-, client- en geheimgegevens opgeven
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()
{
// De Key Vault-URI definiëren
string vaultUri = "https://groupdocskeyvault.vault.azure.net/>";
var credential = GetAzureSecretCredential();
X509Certificate2 pubCertificate =
GetPublicCertificateFromAzureStorage(credential, vaultUri);
return pubCertificate;
}
static X509Certificate2 GetPublicCertificateFromAzureStorage(
ClientSecretCredential credential, string uri)
{
// Een certificaatclient voor de Key Vault maken
CertificateClient certificateClient =
new CertificateClient(new Uri(uri), credential);
// Het certificaat met de openbare sleutel ophalen
KeyVaultCertificateWithPolicy certificate =
certificateClient.GetCertificateAsync("GroupDocsSignatureCertificate").Result;
return new X509Certificate2(certificate.Cer);
}
}
📌Annotaties:
- Azure-referenties: De methode GetAzureSecretCredential maakt een referentie met je tenant ID, client ID en geheim. Beveiligingsopmerking: Zorg ervoor dat je deze referenties veilig opslaat (bijvoorbeeld met behulp van Azure Key Vault of een veilige configuratiestore) om de integriteit van je .NET PDF-ondertekeningsimplementatie te behouden.
- Ondertekenen met Azure: De methode SignWithAzure gebruikt de CryptographyClient van de Azure SDK om de hash met het certificaat dat in Azure Key Vault is opgeslagen te ondertekenen, wat een professionele aanpak voor certificaatbeheer demonstreert die volgt aan digitale ondertekeningscompliancebest practices.
- Openbaar certificaat ophalen: De methode GetPublicCertificateFromAzureStorage verbindt met je Azure Key Vault en haalt het certificaat op dat nodig is voor ondertekeningsvalidatie, zodat je elektronische documentondertekeningen juist kunnen worden gevalideerd.
Stap 6. Implementatiestappen voor Azure Key Vault voor PDF-digitaalondertekeningen
Om Azure Key Vault te integreren met je aangepaste ondertekeningsdiensten, volg deze stappen:
- Azure Key Vault instellen: Maak een Azure Key Vault-instantie. Upload je ondertekeningscertificaat naar de Key Vault. Configureer toegangsbeleid voor je toepassing.
- Azure-referenties configureren: Registreer je toepassing in Azure Active Directory. Haal je tenant ID, client ID en clientgeheim op. Maak een
ClientSecretCredentialvoor toegang tot Key Vault. - Het certificaat ophalen: Gebruik de
CertificateClientom het certificaat met de openbare sleutel uit Azure Key Vault op te halen. Dit certificaat wordt gebruikt om de digitale ondertekening te verifiëren. - Aangepaste ondertekening implementeren: Gebruik de Azure SDK’s
CryptographyClientom de hash van het document te ondertekenen. Specificeer het juiste ondertekeningsalgorithme (bijvoorbeeld RS256).
📌Annotatie:
Elke van deze stappen is cruciaal om ervoor te zorgen dat je ondertekeningsproces veilig is en dat gevoelige sleutels in de cloud worden beschermd, terwijl je de flexibiliteit biedt om je eigen ondertekeningsdiensten te implementeren voor gespecialiseerde eisen.
🧩 Je aangepaste ondertekeningsimplementatie uitbreiden
Het mooie van de aangepaste hashondertekeningsaanpak van GroupDocs.Signature is dat je deze kunt aanpassen om te werken met vrijwel elk extern ondertekeningsapparaat of -dienst. Hier zijn enkele voorbeelden van hoe je deze implementatie kunt uitbreiden:
- Hardware Security Modules (HSMs): Implementeer een aangepaste ondertekenaar die communiceert met fysieke HSMs voor maximale beveiliging.
- Smart Card-integratie: Maak een ondertekenaar die interfacen met smart cardlezers voor bedrijfsomgevingen die fysieke authenticatie vereisen.
- Biometrische authenticatie: Bouw een ondertekeningsdienst die vingerafdruk- of gezichtsherkenning vereist voordat de ondertekening wordt goedgekeurd.
- Meervoudige goedkeuringswerkstroom: Implementeer een aangepaste ondertekeningswerkstroom waarbij meerdere partijen moeten goedkeuren voordat de definitieve ondertekening wordt toegepast.
- Cloudserviceproviders: Pas het voorbeeld aan om te werken met AWS KMS, Google Cloud KMS of andere cloud sleutelbeheerdiensten.
Door je eigen ondertekeningsdiensten te implementeren via het ICustomSignHash-interface, behoud je volledige controle over je cryptografische bewerkingen terwijl je de krachtige documentbehandelingseigenschappen van GroupDocs.Signature for .NET benut.
✨ Afsluitende gedachten over elektronische documentondertekeningen
Deze handleiding heeft uitgelegd hoe je GroupDocs.Signature kunt integreren met Azure Key Vault voor het maken van nalevende elektronische documentondertekeningen voor PDF-bestanden op een veilige manier. Elektronische documentondertekeningen die door deze methode worden gemaakt, voldoen aan industrie-normen voor authenticiteit en integriteit. Door deze stap-voor-stap aanpak te volgen en beveiligingsbest practices (zoals veilig referentiebeheer) te waarnemen, kun je een robuuste digitale ondertekeningsoplossing in je .NET-toepassing implementeren die werkt over je hele documentwerkstroom.
Voor verdere details en geavanceerde scenario’s, raadpleeg de officiële documentatie.
Probeer het gratis
Je kunt de GroupDocs.Signature-API’s gratis proberen door gewoon de nieuwste versie te downloaden en te installeren op onze release downloads website.
Je kunt ook een tijdelijke licentie aanvragen om alle functies van de bibliotheek te testen zonder enige beperkingen. Ga naar de tijdelijke licentiepagina om een tijdelijke licentie aan te vragen.
🔗 Zie ook
Voor meer informatie en aanvullende bronnen kun je de volgende links nuttig vinden:
- GroupDocs.Signature for .NET Examples
- GroupDocs.Signature for Java Examples
- GroupDocs.Signature for Node.js via Java Examples
- Download en probeer GroupDocs.Signature-API’s gratis
- Probeer GroupDocs.Signature met volledige toegang tijdelijke licentie
- Documentatie van onze API’s
- Gratis ondersteuningsforum