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.

Azure Key Vault interface voor het maken van digitale ondertekeningscertificaten voor PDF-ondertekeningen

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.

Volledig werkdiagram van GroupDocs .NET PDF-digitaalondertekeningsproces met Azure Key Vault

Opmerking: Als je een bestaand certificaat wilt gebruiken, kun je Importeren selecteren om er een van je lokale apparaat te laden.

C# codevoorbeeld van aangepaste hashondertekeningsimplementatie met GroupDocs.Signature

Stap 4: Ga vervolgens naar Geavanceerde beleidsconfiguratie en stel de optie Privé sleutel exporteren in op Nee.

Diagram van Azure-certificaatondertekeningsproces dat de gegevensstroom tussen componenten toont

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.

Voorbeeld van PDF-ondertekeningsvalidatie in .NET-toepassing die verificatie resultaten toont

⚙️ 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.

Integratie van elektronische documentondertekeningen tussen Azure Key Vault en GroupDocs

Stap 2: Voer de naam van je toepassing in en registreer deze.

Configuratiescherm voor veilige PDF-ondertekenings-API met beveiligingsinstellingen

Na registratie ontvang je sleuteldetails—kopieer de Client ID en Tenant ID voor gebruik in je toepassing.

Interface voor het instellen van Azure Key Vault-toegangsbeleid voor digitale ondertekeningsmachtigingen

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.

.NET PDF-ondertekeningsuitvoervoorbeeld dat een succesvol ondertekend document toont

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.

Diagram voor integratie van extern ondertekeningsapparaat voor GroupDocs aangepaste hashimplementatie

🔐 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.

Configuratie van digitale ondertekeningscompliance-instellingen voor regelgevende eisen

Stap 2: Selecteer de benodigde machtigingen en klik op Volgende.

Azure Active Directory-toepassingsregistratie voor PDF-ondertekeningsdiensten

Stap 3: In dit venster selecteer je de toepassing die we eerder hebben geregistreerd, GroupDocs.Signature.Service, en klik op Maken.

Architectuurdiagram van aangepaste ondertekeningsdiensten die componentrelaties toont
Paneel voor GroupDocs Signature-uitvoeringseigenschappen voor visuele ondertekeningsaanpassing

De toepassing verschijnt nu in de sectie Toegangsbeleid.

PDF-digitaalondertekeningsvalidatieproces dat validatiewerkstroomstappen toont

📑 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. Azure Key Vault instellen: Maak een Azure Key Vault-instantie. Upload je ondertekeningscertificaat naar de Key Vault. Configureer toegangsbeleid voor je toepassing.
  2. Azure-referenties configureren: Registreer je toepassing in Azure Active Directory. Haal je tenant ID, client ID en clientgeheim op. Maak een ClientSecretCredential voor toegang tot Key Vault.
  3. Het certificaat ophalen: Gebruik de CertificateClient om het certificaat met de openbare sleutel uit Azure Key Vault op te halen. Dit certificaat wordt gebruikt om de digitale ondertekening te verifiëren.
  4. Aangepaste ondertekening implementeren: Gebruik de Azure SDK’s CryptographyClient om 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:

  1. Hardware Security Modules (HSMs): Implementeer een aangepaste ondertekenaar die communiceert met fysieke HSMs voor maximale beveiliging.
  2. Smart Card-integratie: Maak een ondertekenaar die interfacen met smart cardlezers voor bedrijfsomgevingen die fysieke authenticatie vereisen.
  3. Biometrische authenticatie: Bouw een ondertekeningsdienst die vingerafdruk- of gezichtsherkenning vereist voordat de ondertekening wordt goedgekeurd.
  4. Meervoudige goedkeuringswerkstroom: Implementeer een aangepaste ondertekeningswerkstroom waarbij meerdere partijen moeten goedkeuren voordat de definitieve ondertekening wordt toegepast.
  5. 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: