Uw Code Signing-certificaat gebruiken

Hoe u uw OV- of EV-codeondertekeningscertificaat gebruikt met Microsoft SignTool en SSL.com SSL Manager toepassing.

gerelateerde inhoud

Wil je blijven leren?

Abonneer u op de nieuwsbrief van SSL.com, blijf op de hoogte en veilig.

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.

OV en EV-codeondertekeningscertificaten mogen niet handmatig op uw computer worden geïnstalleerd, wat configuratieproblemen kan veroorzaken. Certificaten die op YubiKeys van SSL.com zijn verzonden, kunnen worden gebruikt zonder extra installatie, behalve het installeren van de YubiKey Smart Card-ministuurprogramma en het token op uw computer aansluiten. Certificaten besteld via attest op afstand moet worden gedownload en geïnstalleerd op het apparaat dat de privésleutel bevat (bijvoorbeeld YubiKey FIPS of andere ondersteunde hardware), niet het certificaatarchief van uw computer.
Als u van plan bent Windows 10-stuurprogramma's te ondertekenen met een EV-codeondertekeningscertificaat, moet u dat doen registreren met het Windows Hardware Developer Program.
Raadpleeg onze voor instructies over het gebruik van uw OV / IV- of EV-codeondertekeningscertificaat met Java Handleiding voor ondertekening van Java-codes.

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.Voer Pin-code in
Opmerking: Als u codebestanden ondertekent die in een installatieprogramma worden opgenomen (zoals een Windows MSI-bestand), moet u deze bestanden ondertekenen voordat u het installatieprogramma gaat bouwen en vervolgens het installatiebestand zelf ondertekenen.

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"
Opmerking: Zorg ervoor dat u SignTool's /tr optie (specificeer URL van RFC 3161 tijdstempelserver), niet /t (URL van tijdstempelserver), die niet compatibel is met de tijdstempelserver van SSL.com.
Opmerking: De /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.
Opmerking: Standaard ondersteunt SSL.com tijdstempels van ECDSA-sleutels.

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

Digitale handtekeningen

Hier kunnen we zien dat het bestand een geldige digitale handtekening bevat, gemaakt door SSL Corp op 28 juni 2020.

Details digitale handtekening

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.

Sign & Timestamp Code-pakket

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

Opmerking: SSL.com verzendt Thales SafeNet-tokens die vooraf zijn geïnstalleerd met certificaten voor codeondertekening. Verwijder geen materiaal van het 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

  1. Windows-ontwikkelingskit geïnstalleerd op uw computer
  2. SafeNet Authentication Client geïnstalleerd op uw computer. Voor instructies, zie deze SSL.com handleiding: SafeNet Authentication Client Downloaden voor Code Signing Certificaten
  3. Een Thales SafeNet-token met een vooraf geïnstalleerd SSL.com-certificaat voor codeondertekening. Het Thales SafeNet-token moet als volgt worden geactiveerd: 
    1. Zoek het serienummer van uw Thales-token. Dit is een reeks letters en cijfers die op het oppervlak van uw token wordt afgedrukt. 
    2. Meld u aan bij uw SSL.com-account.
    3. 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

  1. Koppel jouw Thales SafeNet-token naar uw computer. 
  2. Openen Safenet-authenticatieclient.
  3. 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"
  4. lopen Command Prompt als beheerder en plaats het tekencommando. Druk daarna op Enter.

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

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

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

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

Bedankt voor het kiezen van SSL.com! Als u vragen heeft, neem dan contact met ons op via e-mail op Support@SSL.com, bel 1-877-SSL-SECURE, of klik gewoon op de chatlink rechts onderaan deze pagina.

Blijf geïnformeerd en veilig

SSL.com is een wereldleider op het gebied van cyberbeveiliging, PKI en digitale certificaten. Meld u aan om het laatste branchenieuws, tips en productaankondigingen te ontvangen van SSL.com.

We willen graag uw feedback

Vul onze enquête in en laat ons uw mening over uw recente aankoop weten.