Ga naar inhoud

Uw EXE-bestand ondertekenen met code (digitale handtekening)

Wanneer u uw zelfstandige EXE-bestand van de werkmap digitaal ondertekent, verzekert u eindgebruikers ervan dat het bestand authentiek is en niet is gewijzigd. Dit proces, ook bekend als code signing, gebruikt de Microsoft Authenticode®-technologie om te verifiëren dat de code afkomstig is van een vertrouwde uitgever.

Windows verifieert de digitale Authenticode-handtekening van een ondertekend EXE-bestand van de werkmap

XLS Padlock vereenvoudigt het code-signing-proces door de benodigde stappen intern af te handelen.

Windows-beveiligingswaarschuwing die een Unidentified Publisher toont voor een niet-ondertekend EXE-bestand

Om uw toepassing te ondertekenen, hebt u een geldig Code Signing Certificate nodig van een vertrouwde certificeringsinstantie (CA) zoals Sectigo of Digicert. Andere certificaattypen, zoals SSL/TLS, zijn niet compatibel.

Sinds 1 juni 2023 moeten alle persoonlijke sleutels van nieuwe code-signing-certificaten worden opgeslagen op beveiligde hardware, zoals een USB-token dat voldoet aan FIPS 140-2 Level 2 of een Hardware Security Module (HSM). Dit verhoogt de beveiliging door diefstal van sleutels te voorkomen. XLS Padlock werkt naadloos samen met tokengebaseerde certificaten; zorg er alleen voor dat het token op uw computer is aangesloten wanneer u uw toepassing bouwt.

Navigeer in de interface van XLS Padlock naar het tabblad Security -> EXE Code Signing (Beveiliging, EXE-code-ondertekening). Om ondertekening in te schakelen, kiest u uw gewenste Code Signing Method (code-signing-methode):

  • PFX File: Gebruikt een certificaat dat is opgeslagen in een .pfx- of .p12-bestand. Dit is een verouderde methode voor oudere certificaten. Voer het pad in het veld PFX File Path in of klik op de bladerknop ernaast, en voer vervolgens het certificaatwachtwoord in bij Associated Password (if any).
  • Certificate Subject Name: Lokaliseert het certificaat in het Windows-certificaatarchief op basis van zijn Subject Name (naam van de onderwerphouder). Dit is een gangbare methode voor certificaten op hardwaretokens.
  • Certificate Thumbprint: Lokaliseert het certificaat in het Windows-certificaatarchief op basis van zijn unieke Thumbprint (vingerafdruk, een SHA-1-hash). Dit is vaak de betrouwbaarste methode.
  • SignTool Commands: Een geavanceerde methode waarmee u aangepaste opdrachten kunt opgeven voor het Microsoft-hulpprogramma SignTool.exe, wat maximale flexibiliteit biedt. Zie de opdrachtmarkeringen hieronder.
  • Azure Artifact Signing (formerly Trusted Signing): Ondertekent uw toepassing met de cloudgebaseerde dienst van Microsoft. Zie onze Azure Artifact Signing Tutorial voor de eerste installatie, en de optie Exclude credentials hieronder als ondertekenen mislukt na az login.
  • JSign: Ondertekent uw toepassing met de opensource-tool JSign, waarvoor een Java-runtime (JRE of JDK) op het PATH vereist is. Stel het pad naar jsign.jar in bij de Global Preferences en voer vervolgens één JSign-opdracht per regel in, met dezelfde opdrachtmarkeringen als bij SignTool Commands.

Opdrachtmarkeringen voor SignTool Commands en JSign

Section titled “Opdrachtmarkeringen voor SignTool Commands en JSign”

Bij de methoden SignTool Commands en JSign typt u één opdracht per regel. Voordat elke opdracht wordt uitgevoerd, vervangt XLS Padlock twee markeringen:

MarkeringVervangen door
{$OUTPUTFILE$}Het volledige pad van het te ondertekenen EXE-bestand.
{$OUTPUTFOLDER$}Het pad van de map die het EXE-bestand bevat, zonder afsluitende backslash.

Zet paden die spaties kunnen bevatten tussen aanhalingstekens. Om te verwijzen naar een bestand naast het EXE-bestand, voegt u zelf de backslash toe, bijvoorbeeld "{$OUTPUTFOLDER$}\my-metadata.json". XLS Padlock 2026.2 of hoger is vereist om {$OUTPUTFOLDER$} te vervangen wanneer het direct wordt gevolgd door een backslash of een aanhalingsteken. De standaard SignTool-opdracht, gedefinieerd in de Global Preferences, is:

sign /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a /v "{$OUTPUTFILE$}"

Referenties uitsluiten (Azure Artifact Signing)

Section titled “Referenties uitsluiten (Azure Artifact Signing)”

Wanneer XLS Padlock ondertekent met de ingebouwde methode Azure Artifact Signing, probeert de Azure-ondertekeningstool verschillende referentietypen na elkaar, in een vaste volgorde, totdat er een slaagt. Op sommige computers mislukt een referentietype dat wordt geprobeerd vóór de Azure CLI-referentie, waardoor de hele ondertekeningsbewerking wordt afgebroken, ook al is az login geslaagd en is het certificaatprofiel geldig. Het compilatielogboek toont dan een verificatiefout zoals MsalCachePersistenceException: Persistence check failed.

Het optionele veld Exclude credentials (one per line, optional), beschikbaar sinds XLS Padlock 2026.2, geeft de referentietypen weer die moeten worden overgeslagen. Klik op Exclude all except Azure CLI om de aanbevolen configuratie in te vullen voor een ontwikkelcomputer die is geverifieerd met az login: elk referentietype behalve AzureCliCredential.

Pagina EXE Code Signing met de methode Azure Artifact Signing geselecteerd, met het veld Exclude credentials en de knop Exclude all except Azure CLI

De geaccepteerde namen zijn de negen door Microsoft gedocumenteerde referentietypen: ManagedIdentityCredential, WorkloadIdentityCredential, SharedTokenCacheCredential, VisualStudioCredential, VisualStudioCodeCredential, AzureCliCredential, AzurePowerShellCredential, AzureDeveloperCliCredential en InteractiveBrowserCredential. Namen worden gecontroleerd bij het starten van de ondertekening (niet hoofdlettergevoelig; lege regels en duplicaten worden genegeerd). Een onbekende naam stopt de ondertekening met een fout, omdat de ondertekeningstool deze anders stilzwijgend zou negeren. Laat het veld leeg om het standaardgedrag te behouden: de ondertekeningsmetadata zijn dan identiek aan die van eerdere versies. De waarde wordt opgeslagen bij uw project.

XLS Padlock schrijft het ondertekeningsmetadatabestand (sign-metadata.json) bij elke ondertekening naast het uitvoer-EXE-bestand. Bewerk dat bestand niet handmatig: uw wijzigingen zouden bij de volgende build worden overschreven.

  • Handmatige ondertekening: Klik op Sign EXE File Now om het laatst gebouwde EXE-bestand direct te ondertekenen.
  • Automatische ondertekening: Vink Automatically sign my EXE file aan zodat XLS Padlock de EXE telkens ondertekent wanneer u uw toepassing bouwt.