Deze webpagina geeft instructies over het gebruik van een SSL.com OV or EV code-ondertekeningscertificaat met Microsoft's SignTool en SSL.com's SSL Manager.
Bij deze instructies wordt ervan uitgegaan dat uw certificaat voor codeondertekening is geïnstalleerd of dat u het op een hardwaretoken hebt staan. Voor op de cloud gebaseerde codeondertekening met behulp van het eSigner-platform, raadpleegt u de overzichtspagina en dit Inschrijvingsgids.
Onthoud dat voor op hardware gebaseerde OV- en EV-codeondertekeningscertificaten de privésleutel is bestaat alleen op het YubiKey FIPS USB-token die naar u is verzonden en dat het teken is moet worden bijgevoegd op de computer die wordt gebruikt om de applicatie te ondertekenen. Windows-gebruikers met YubiKey FIPS-tokens moeten ook de YubiKey Smart Card-ministuurprogramma voordat ze hun token gebruiken.
Een uitvoerbaar bestand ondertekenen met Yubikey
Install Windows SDK en SignTool
SignTool is inbegrepen bij Windows 10-SDK. Na installatie bevindt SignTool zich onder:
C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
Toegang tot SignTool via Powershell of opdrachtprompt
Toegang krijgen tot SignTool is het eerste deel van de opdrachten in beide uw dossier ondertekenen en het verifiëren de digitale handtekening. Zowel Powershell als Command Prompt kunnen worden gebruikt om SignTool te openen.
Afhankelijk van de Windows OS-versie en Windows SDK-versie die u gebruikt, zal de toegang tot SignTool variëren. Een van de volgende opties zal worden opgenomen als het eerste deel van de opdracht:
- .\signtool.exe
- .\tekentool
- tekengereedschap
- SignTool.exe
- “C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe”
Onthoud dat de privésleutel alleen bestaat op het USB-token dat naar u is verzonden en dat het token moet worden bijgevoegd naar de computer die gebruikt wordt om de aanvraag te ondertekenen.
Ondertekenen Uitvoerbaar
U kunt een uitvoerbaar bestand ondertekenen door de volgende opdracht in het Powershell-venster uit te voeren.
. \ signtool.exe sign / fd sha256 / a "C: \ pad \ naar \ MyExecutable.exe"
- Het
/fdoptie selecteert het digest-algoritme dat moet worden gebruikt bij het ondertekenen. Windows 10 SDK-, HLK-, WDK- en ADK-builds 20236 en hoger vereisen dat deze optie wordt ingesteld bij het ondertekenen. SHA256 wordt aanbevolen boven SHA1 voor beveiliging. - Het
/aoptie instrueert SignTool om automatisch een geschikt codeondertekeningscertificaat te vinden voor uw uitvoerbare bestand. - U wordt gevraagd om de pincode van uw USB-token. Als u hulp nodig heeft bij het vinden van uw pincode, raadpleeg dan deze how-to.

Een ondertekeningscertificaat selecteren
Specificeer onderwerpnaam
Als u meer dan één code voor het ondertekenen van USB-tokens of certificaten hebt geïnstalleerd, kunt u dat doen specificeer het certificaat u wilt gebruiken door het op te nemen Onderwerp via de /n optie.
U kunt de onderwerpnaam van uw certificaat vinden met behulp van de certificaatbeheertool van Microsoft gecertificeerd. Open de tool vanuit het Startmenu en zoek uw certificaat in de map “Persoonlijk”, onder “Certificaten”, zoals weergegeven in de onderstaande afbeelding. De onderwerpnaam is het veld 'Uitgegeven aan' in certmgr.
In de bovenstaande afbeelding is de onderwerpnaam van het certificaat example. U kunt deze waarde in SignTool specificeren met de volgende opdracht.
. \ signtool.exe sign / fd sha256 / n "voorbeeld" "C: \ pad \ naar \ MyExecutable.exe"
Geef SHA1-hash op
Als u meerdere certificaten met dezelfde Subject Name hebt, kunt u ook de SHA1-hash (of "thumbprint") van een certificaat gebruiken om het te selecteren voor ondertekening. U kunt deze waarde vinden door deze instructies te volgen:
Open het gebruikerscertificaatarchief door te typen certmgr.msc in de Windows-zoekbalk. Zodra het Certificate Manager-venster verschijnt, navigeert u naar de persoonlijke map op het linkerpaneel en selecteer de Certificaten submap aan de rechterkant om uw codeondertekeningscertificaat te vinden.
Dubbelklik op het certificaat, ga naar de Details tabblad en scroll naar beneden om de VingerafdrukKopieer de Thumbprint en voeg deze toe aan uw opdracht wanneer u code ondertekent.
![]()
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ pad \ naar \ MyExecutable.exe"
Let op: Er kunnen gevallen zijn waarin meerdere codeondertekeningscertificaten met dezelfde naam in de winkel verschijnen omdat een gebruiker meerdere USB-tokens bezit. Als u niet zeker weet welke u moet kiezen, kiest u degene met het serienummer dat overeenkomt met wat wordt aangegeven op uw SSL.com-bestelgegevenspagina. Waarschijnlijk wilt u het certificaat met de laatste vervaldatum kiezen.
Volg deze instructies om het certificaat dat u moet gebruiken volledig te verifiëren:
- Log in op uw SSL.com-account en klik op de Bestellingen tabblad. Zoek uw certificaatbestelling en klik op de Download link om de details van uw certificaat te bekijken.

- Scroll naar beneden en klik op de EINDENTITEITSCERTIFICATEN sectie. Onder de Code ondertekenen certificaat In de subsectie ziet u het serienummer van uw certificaat.

- Voer een kruiscontrole uit. Dubbelklik op het certificaat in de Certificate Manager van uw computer. Klik Details. Controleer of de serienummers overeenkomen.
Gebruik een PKCS # 12 / PFX-bestand
Als u een certificaat voor ondertekening van code en een privésleutel in een PKCS # 12-bestand (ook bekend als een PFX- of P12-bestand) hebt, kunt u het bestand en het wachtwoord specificeren op de opdrachtregel:
. \ signtool.exe sign / fd sha256 / f "C: \ path \ to \ MyCertificate.pfx" / p wachtwoord "C: \ path \ to \ MyExecutable.exe"
Tijdstempel
Door uw code van tijdstempel te voorzien, kan deze worden vertrouwd nadat uw certificaat voor ondertekening van code is verlopen. Als je een tijdstempel in het ondertekende binaire bestand, kunt u dit doen met SignTool's /tr optie, die moet worden gevolgd door het instellen van het timestamp-digest-algoritme met /td. De opdracht in het onderstaande fragment bevat een tijdstempel van SSL.com's tijdstempelservice tijdens het ondertekenen van een uitvoerbaar bestand.
. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ pad \ naar \ MyExecutable.exe"
/tr optie (specificeer URL van RFC 3161 tijdstempelserver), niet /t (URL van tijdstempelserver), die niet compatibel is met de tijdstempelserver van SSL.com./td optie Dan moet je Volg de /tr optie. Als het algoritme voor het samenvatten van tijdstempels wordt opgegeven vóór de tijdstempelserver, wordt het standaard SHA-1-algoritme gebruikt. Windows 10 SDK-, HLK-, WDK- en ADK-builds 20236 en hoger vereisen gebruik van /tr wanneer tijdstempels. SHA256 wordt aanbevolen boven SHA1 voor beveiliging.Als u deze fout tegenkomt:
The timestamp certificate does not meet a minimum public key length requirement, dient u contact op te nemen met uw softwareleverancier om tijdstempels van ECDSA-sleutels toe te staan.Als uw softwareleverancier het gebruik van het normale eindpunt niet toestaat, kunt u dit verouderde eindpunt gebruiken
http://ts.ssl.com/legacy om een tijdstempel te krijgen van een RSA-tijdstempeleenheid.Andere opties
Andere belangrijke SignTool-opties zijn:
/d: Voeg een beschrijving van de ondertekende code toe. Bijvoorbeeld,/d "test code"./du: Voeg een URL toe met een uitgebreide beschrijving van de ondertekende code. Bijvoorbeeld,/du https://your_website.tld/project/description.
Alle bovenstaande opties gebruiken (maar weglaten /a, /sha1of /f omdat we de onderwerpnaam van het certificaat specificeren met /n, onze opdrachtregel ziet er als volgt uit:
signtool.exe sign / n "voorbeeld" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "testcode" / du https: //your_website.tld/project/description "C: \ path \ naar \ MyExecutable.exe "
Controleer de handtekening
Gebruik deze opdracht om uw ondertekende code te verifiëren (merk op dat het /pa optie moet aanwezig zijn in het commando):
. \ signtool.exe verifieer / pa "C: \ pad \ naar \ MyExecutable.exe"
Als je bestand met succes is ondertekend, zou je de output als volgt moeten zien:
Bestand: C: \ pad \ naar \ MyExecutable.exe Tijdstempel indexalgoritme =================================== ===== 0 sha256 RFC3161 Succesvol geverifieerd: C: \ path \ to \ MyExecutable.exe
U kunt ook controleren of een bestand is ondertekend door met de rechtermuisknop op het pictogram te klikken en te selecteren Aanbod in het menu en selecteer vervolgens het Digitale handtekeningen tabblad. Bekijk details over een handtekening door deze te selecteren en op het Details knop.
Hier kunnen we zien dat het bestand een geldige digitale handtekening bevat, gemaakt door SSL Corp op 28 juni 2020.
Een uitvoerbaar bestand ondertekenen met SSL Manager
Als u liever een meer grafische benadering gebruikt, kunt u deze gebruiken SSL.com's eigen software, SSL Manager, om uw bestanden te ondertekenen. Veel klanten geven er de voorkeur aan om te gebruiken SSL Manager omdat het het extra voordeel biedt dat het gemakkelijk toegang heeft tot al uw certificaten in één uniforme interface. Voor instructies over downloaden en installeren SSL Manager, verwijzen wij u naar onze installatie gids.
Selecteer eerst om een uitvoerbaar bestand te ondertekenen Code Signing> Sign & Timestamp Codepakket vanaf SSL Manager's menu.
In het codeondertekeningsformulier kunt u het uitvoerbare bestand en het codeondertekeningscertificaat (uit een bestand of een certificaatarchief) en een van de beschikbare tijdstempelservers selecteren. Als je klaar bent, klik je op Ondertekenen knop om uw code te ondertekenen. U wordt gevraagd om de pincode van uw USB-token.
Naast codeondertekening, SSL Manager biedt veel krachtige functies. Voor meer details verwijzen wij u naar SSL Manager's documentatie, vooral de Menu voor codeondertekening.
Codeondertekening met een Thales SafeNet (Gemalto) USB-token
In dit gedeelte wordt gedemonstreerd hoe u code kunt ondertekenen met behulp van het SSL.com-certificaat voor codeondertekening, het Thales SafeNet (Gemalto) USB-token en de Safenet Authentication Client.
Het Thales SafeNet-token kan alle typen SSL.com-codeondertekeningscertificaten en hun privésleutels opslaan. Deze omvatten handtekeningcertificaten voor persoonlijke identiteitscode, handtekeningcertificaten voor organisatievalidatiecode en handtekeningcertificaten voor uitgebreide validatiecode.
SafeNet Authentication Client is een middleware-oplossing die het uitgebreide SafeNet-portfolio van op certificaten gebaseerde authenticators van Thales verwerkt. Dit omvat eTokens, SafeNet IDPrime-smartcards, SafeNet IDPrime Virtual en gecombineerd PKI/FIDO-apparaten.
Voor instructies over hoe u uw codeondertekeningswachtwoord voor Thales SafeNet (Gemalto)-tokens kunt wijzigen of weer toegang kunt krijgen tot een vergrendeld token, raadpleegt u dit artikel op SSL.com: Hoe u uw Thales SafeNet/Gemalto Token-wachtwoord kunt wijzigen
Voorwaarden
- Windows-ontwikkelingskit geïnstalleerd op uw computer
- SafeNet Authentication Client geïnstalleerd op uw computer. Voor instructies, zie deze SSL.com handleiding: SafeNet Authentication Client Downloaden voor Code Signing Certificaten
- Een Thales SafeNet-token met een vooraf geïnstalleerd SSL.com-certificaat voor codeondertekening. Het Thales SafeNet-token moet als volgt worden geactiveerd:
- Zoek het serienummer van uw Thales-token. Dit is een reeks letters en cijfers die op het oppervlak van uw token wordt afgedrukt.
- Meld u aan bij uw SSL.com-account.
- Klik op de Bestellingen tabblad, gevolgd door de Download link van uw certificaatbestelling om de details ervan weer te geven. Op de fysieke tokens Activeer uw Thales-token door het serienummer op het toegewezen veld te plaatsen. Bij activering van uw Thales-token wordt de fysieke tokens sectie toont uw Activeringspincode en Beheerdersrol. De Activeringspincode is ook bekend als de Token-wachtwoord en u wordt gevraagd dit in te voeren wanneer u uw bestand ondertekent. Beheerdersrol is ook bekend als de PUK-teken – Dit is vereist wanneer u een nieuw tokenwachtwoord instelt voor een vergrendeld token.

Stappen om code te ondertekenen met een Thales SafeNet-token
- Koppel jouw Thales SafeNet-token naar uw computer.
- Open Safenet-authenticatieclient.
- Configureer de opdracht voor het ondertekenen van uw code:
signtool sign /tr http://ts.ssl.com /td sha256 /fd sha256 /a "PATH_OF_FILE_TO_BE_SIGNED"
Legenda:
/fdsha256 selecteert het digest-algoritme dat moet worden gebruikt bij het ondertekenen.
/tr http://ts.ssl.com specificeert het tijdstempelserveradres
/tdsha256 specificeert het tijdstempel-samenvattingsalgoritme
/a instrueert SignTool om automatisch een geschikt codeondertekeningscertificaat voor uw bestand te vinden.
ondertekenbaar bestandspad: Het pad van uw bestand moet tussen dubbele aanhalingstekens staan. Let erop dat u de naam van uw ondertekenbare bestand in het pad opneemt. Voorbeeld: /testbestand.dll
Note: Sommige gebruikers kunnen deze fout ervaren met de sign-opdracht: 'Signtool' wordt niet herkend als een intern of extern commando, een bedienbaar programma of een batchbestand. De oplossing voor deze fout is het verwijderen van de tekst tekengereedschap uit de opdracht en vervang deze door het pad voor signtool.exe. Het pad moet tussen dubbele aanhalingstekens staan.
“C:\Program Files (x86)\Windows Kits\10\folder\folder\x86\signtool.exe” sign /tr http://ts.ssl.com/ /td sha256 /fd sha256 /a "C:\ Gebruikers\Beheer\Documenten\testbestanden\testbestand.dll"
- lopen Command Prompt als beheerder en plaats het tekencommando. Druk daarna op Enter.

- Je zult het bericht zien Klaar met het toevoegen van extra winkel. Kort daarna, U wordt gevraagd uw Token-wachtwoord. Zoals vermeld in de Voorwaarden sectie hierboven is het tokenwachtwoord hetzelfde als het Activeringspincode en dit kan worden bekeken via uw SSL.com-certificaatbestelpagina. Klik op de OK om de ondertekening van de code te voltooien.

- Succes! Uw bestand is nu ondertekend. De opdrachtprompt zal u op de hoogte stellen van de succesvolle ondertekening.

Opties voor het ondertekenen van code
1. Geef de onderwerpnaam van het certificaat op
Als u over meerdere USB-tokens of certificaten voor codeondertekening beschikt, kunt u selecteren welk specifiek certificaat u wilt gebruiken door de onderwerpnaam op te nemen via de optie /n.
U kunt de onderwerpnaam van uw certificaat bekijken door op het tandwielpictogram in SafeNet Authentication Client te klikken om een geavanceerde weergave mogelijk te maken. Klik vervolgens op de pijl voor Gebruikerscertificaten om alle certificaten weer te geven die in het token zijn geïnstalleerd. Kopieer de naam van het certificaat dat u wilt gebruiken.

Het tekencommando met behulp van de /n optie ziet er als volgt uit. De onderwerpnaam van uw certificaat moet tussen dubbele aanhalingstekens staan.
“PATH OF SIGNTOOL.EXE” teken /tr http://ts.ssl.com/ /td sha256 /fd sha256 /n "ONDERWERPNAAM VAN CERTIFICAAT" "PATH_OF_FILE_TO_BE_SIGNED”
2. Geef de certificaatvingerafdruk op
Als u in het bezit bent van meerdere certificaten met identieke onderwerpnamen, kunt u er een onderscheiden en selecteren voor ondertekening door gebruik te maken van de SHA1-hash, ook wel de ‘thumbprint’ genoemd. Om dit te doen, vervangt u DUIMAFDRUK in de volgende opdracht met de daadwerkelijke SHA1-hash van uw certificaat.
U kunt de vingerafdrukwaarde van uw certificaat bekijken door op het tandwielpictogram in SafeNet Authentication Client te klikken om een geavanceerde weergave mogelijk te maken. Klik vervolgens op de pijl voor Gebruikerscertificaten. Dubbelklik op het certificaat dat u wilt gebruiken. Klik op de Details tabblad. Scroll ten slotte naar beneden naar de Vingerafdruk veld.
![]()
Vervang de tekst in de tekenopdracht DUIMAFDRUK met de werkelijke waarde van de vingerafdruk van uw certificaat.
“PATH OF SIGNTOOL.EXE” teken /tr http://ts.ssl.com/ /td sha256 /fd sha256 /SHA1 THUMBPRINT “PATH_OF_FILE_TO_BE_SIGNED”
Controleer de handtekening
U kunt de toegepaste digitale handtekening controleren door met de rechtermuisknop op het ondertekende bestand te klikken om de eigenschappen ervan te bekijken.
- Klik op de Digitale handtekeningen tabblad. Beweeg uw muis naar de Handtekeningenlijst en klik op de weergegeven naam van uw certificaat om deze te markeren. Klik op de Details vak om verder te gaan.

- U kunt de naam zien van het certificaat dat is gebruikt om het bestand te ondertekenen, evenals de datum en tijd waarop het is ondertekend en het tijdstempel.

NOTITIEPrivésleutels voor SSL-codeondertekeningscertificaten kan niet worden geëxporteerd, en certificaten kunnen niet worden uitgegeven als downloadbare .pfx-bestandenCertificaten moeten worden gegenereerd en opgeslagen met behulp van een goedgekeurde, veilige optie, zoals een FIPS 140-2 gevalideerd - YubiKey USB-tokenSSL's eSigner Cloud Signing-serviceOf een ondersteunde Cloud HSM.




