Hoe PDF bestanden ondertekenen ?

0000002361     -      20-03-2023

Mercator staat toe om Pdf-bestanden lokaal te ondertekenen. Deze functie kan automatisch geactiveerd worden wanneer een Pdf-bestand aangemaakt wordt in Mercator, of handmatig achteraf een handtekening zetten. Het maakt deel uit van de "PDF" optie.

(Voor een handtekening op afstand: deze pagina bekijken.)

De handtekening wordt geplaatst op basis van een certificaat dat beschikbaar moet zijn (en niet geleverd wordt door Mercator). Dit certificaat wordt uitgegeven door de onderneming die optreed als de certificaat autoriteit. Certificaten kunnen:

  • Opgenomen zijn in het certificaatarchief van het systeem (De zichtbare certificaten in de Internet Explorer eigenschappen)
  • Ingekapseld worden in een *.PFX bestand. (een PFX-bestand kan bijvoorbeeld worden geproduceerd uit een typecertificaat “code signing").

Het systeem werd getest met deze certificaten:

  • eID : Belgische elektronische identiteitskaart
  • Isabel
  • Luxtrust
  • 90 dagen testcertificaat voor het ondertekenen van Pdf’s door GlobalSign uitgegeven
  • PFX bestand geproduceerd uit een “code signing” certificaat door Thawte uitgegeven.

 

Om de ondertekening van een PDF te activeren wanneer hij gegenereerd wordt door Mercator, moet men de eigenschappen van CodeSigning aanpassen in de Eigenschappen van het editor rapport op het niveau Report.

 

SignatureBehavior moet eerst worden bevestigd aan :

  • Optional : de ondertekening van de PDF is optioneel
  • Mandatory : Het ondertekenen van de PDF is vereist. Als de PDF niet correct ondertekend wordt, wordt deze vernietigd.

Vervolgens staat de optie CertificateFromStore toe om te bepalen of :

  • False : Het bestand uit een PFX-bestand komt, op de harde schijf of in de SQL-database staat. Om aan te kunnen vullen :
    • CertificateFile : Het pad naar het certificaat
    • CertificatePassword : Het bijbehorende wachtwoord
    • HideInterfaceIfFile kan op true ingesteld worden als beide parameters hierboven zijn voltooid en als u een handtekening wilt zonder de interface weer te geven
  • True : het gebruikte certificaat is in het magazijn systeem geïnstalleerd. In dit geval wordt de interface steeds weergegeven om de selectie van het certificaat toe te staan.

De SignatureVisible eigenschap staat toe om te bepalen of de handtekening zichtbaar hoort te zijn in het Pdf-bestand in de rechterbovenhoek van het document. (Zelfs als deze eigenschap op false staat wordt er een handtekening aangebracht in het Pdf-bestand)

Dit systeem werkt, als tijdens de preview de gebruiker het document opslaat in het "Adobe Acrobat" formaat. Het afdrukken van het document naar een “externe” PDF-printer buiten Mercator (ex : CutePDF, ...) staat het ondertekenen van de PDF niet toe bij het genereren.

 

Om een PDF achteraf te ondertekenen, volstaat het om het Pdf-bestand te selecteren in het "Beheer / PDF ondertekenen" menu. Dit maakt het in het bijzonder mogelijk om een extra handtekening toe te voegen in een reeds ondertekende PDF.

 

Om een PDF te ondertekenen met code, kunnen we putten uit onderstaande voorbeelden :

Handtekening zonder standaard waarde :

Zoom
string pdfFile = "...";
MercatorUi.Reporting.ReportingStatic.Reporting.SignPdf(pdfFile);

 

Handtekening op basis van de geselecteerde opties (volautomatische handtekening met een PFX-bestand) :

Zoom
string pdfFile = "...";
FastReport.PdfSigning pdfSigning = new FastReport.PdfSigning();
pdfSigning.SignatureBehavior = MercatorUi.SignatureBehaviorEnum.Optional;
pdfSigning.CertificateFile = @"<MainDir\MyPFX.pfx";
pdfSigning.CertificateFilePassword = "1234";
pdfSigning.HideInterfaceIfFile = true;
MercatorUi.Reporting.ReportingStatic.Reporting.SignPdf(pdfFile, pdfSigning);

FastReport.PdfSigning vereist een referentie naar de MercatorReporting.dll


Opmerkingen :

De handtekening van een certificaat in het winkel systeem is afhankelijk van de middleware in verband met dit certificaat (Isabel, Luxtrust, eID, ...) Het volstaat om de geldigheid van de middleware buiten Mercator te testen. (Mercator biedt geen ondersteuning bij deze verschillende middlewares)

 

Enkele middlewares zijn uitsluitend beschikbaar in de 32 bits versie. In dat geval dient men een Mercator versie te gebruiken die beperkt is tot 32 bits. (een 8219 error kan worden aangetroffen in dergelijke omstandigheden)

 

Als het certificaat niet wordt weergegeven in de drop-down kan het nodig zijn om het te installeren. Om dit te doen kan men gebruik maken van het certificaat van een andere toepassing (bijvoorbeeld, middleware component-test). Eenmaal het keuzevenster verschijnt van het certificaat klikt u op "Eigenschappen bekijken"

Klik vervolgens op “Installeer certificaat” en accepteer de standaardwaarden.

 

In het ondertekende Pdf-bestand is het mogelijk dat dit bericht wordt weergegeven :

Als het bericht “De identiteit van de ondertekenaar is niet bekend, omdat het niet is toegevoegd aan de lijst met vertrouwde identiteiten” is, betekent dit niet dat de PDF niet correct is ondertekend. Dit geeft alleen aan dat het ondertekend is met een certificaat toegewezen aan een persoon of organisatie die nog niet opgenomen is in de lijst met vertrouwde identiteiten die aanwezig is in de lokale configuratie van Acrobat Reader dat de ondertekende PDF leest. Om de afzender van het Pdf-bestand toe te voegen aan deze lijst hoort men :

  • Klik met de rechtermuisknop op "Rév. 1 ondertekend door ..." en selecteer uit het pop-up menu "Handtekening valideren"
  • Klik op de knop "Eigenschappen van de handtekening"
  • Klik op de knop "Certificaat"
  • In het tabblad "Goedkeuring" klik op "Toevoegen aan vertrouwde identiteiten"
  • Accepteer de waarschuwing door te klikken op "OK".