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
Start Powershell
Start een Powershell opdrachtvenster door te zoeken naar "Powershell" in het Start menu en klikken op de desktop-applicatie.
Powershell is een opdrachtregelinterface voor de kernservices van Windows. U kunt het gebruiken om SignTool uit te voeren en uw code te ondertekenen.
Voor code ondertekent, sluit u uw USB-token aan op uw computer (als u dit nog niet hebt gedaan). Als u eSigner gebruikt, installeer dan eSigner Cloud Key-adapter
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 wordt gebruikt om de applicatie te ondertekenen. Deze stap moet worden overgeslagen als u een OV-codeondertekeningscertificaat gebruikt.
Ondertekenen Uitvoerbaar
U kunt een uitvoerbaar bestand ondertekenen door de volgende opdracht in het Powershell-venster uit te voeren. Als u eSigner-cloudondertekening gebruikt met signtool.exe, zorg er dan voor dat u installeert eSigner CKA
. \ signtool.exe sign / fd sha256 / a "C: \ pad \ naar \ MyExecutable.exe"
- De
/fd
optie 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. - De
/a
optie 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 onderwerpnaam heeft, kunt u ook de SHA1-hash (of "vingerafdruk") van een certificaat gebruiken om het voor ondertekening te selecteren. Vervangen THUMBPRINT
in de onderstaande opdracht met de werkelijke SHA1-hash uw certificaat. U kunt deze waarde vinden door de certificaatdetails in certmgr te bekijken en te zoeken naar het Thumbprint
veld (zorg ervoor dat u eventuele spatie-tekens uit de vingerafdruk verwijdert voordat u deze in uw opdracht gebruikt).
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ pad \ naar \ MyExecutable.exe"
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
, /sha1
of /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 Properties 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 van 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.
- Openen 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.