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 SignTool
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 EV 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. - Als u een EV-codeondertekeningscertificaat gebruikt, wordt u om de pincode van uw USB-token gevraagd. 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 EV CS-certificaat vinden met de tool voor certificaatbeheer van Microsoft gecertificeerd. Open de tool vanuit het Start-menu en zoek uw EV CS-certificaat in de map “Persoonlijk” onder “Certificaten”, zoals weergegeven in de afbeelding hieronder. 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 Vastgoed 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. Als u een certificaat laadt vanuit een PFX-bestand, moet u het wachtwoord van het bestand invoeren. Als u een EV-codeondertekeningscertificaat gebruikt, wordt u om de pincode van uw USB-token gevraagd.
Naast codeondertekening, SSL Manager biedt veel krachtige functies. Voor meer details verwijzen wij u naar SSL Manager's documentatie, vooral de Menu voor codeondertekening.