Denne nettsiden gir instruksjoner om bruk av en SSL.com OV or EV kodesigneringssertifikat med Microsofts SignTool og SSL.com SSL Manager.
Disse instruksjonene forutsetter at OV-kodesigneringssertifikatet ditt er installert, eller at du har et EV-sertifikat på et maskinvaretoken. For skybasert EV-kodesignering ved bruk av eSigner-plattformen, se oversiktssiden og denne påmeldingsguide.
Husk at for maskinvarebaserte EV-kodesigneringssertifikater den private nøkkelen finnes bare på YubiKey FIPS USB-token som ble sendt til deg og at symbolet må være vedlagt til datamaskinen som blir brukt til å signere applikasjonen. Windows -brukere med YubiKey FIPS -tokens bør også laste ned og installere YubiKey Smart Card Minidriver før du bruker tokenet sitt.
Signering av en kjørbar med SignTool
Install Windows SDK og SignTool
SignTool er inkludert i Windows 10 SDK. Etter installasjonen vil SignTool være lokalisert under:
C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
Start PowerShell
Start en PowerShell kommandovinduet ved å søke etter "Powershell" i Start menyen og klikke på skrivebordsprogrammet.
Powershell er et kommandolinjegrensesnitt til Windows kjernetjenester. Du kan bruke den til å utføre SignTool og signere koden din.
For EV kode signering, koble USB-tokenet til datamaskinen (hvis du ikke allerede har gjort det). Hvis du bruker eSigner, installer eSigner Cloud Key Adapter
Husk at den private nøkkelen bare eksisterer på USB-tokenet som ble sendt til deg og det symbolet må være festet til datamaskin som blir brukt til å signere applikasjonen. Dette trinnet skal hoppes over hvis du bruker et OV-kodesigneringssertifikat.
Logg kjørbar
Du kan signere en kjørbar fil ved å gi følgende kommando i Powershell-vinduet. Hvis du bruker eSigner skysignering med signtool.exe, sørg for å installere eSigner CKA
. \ signtool.exe sign / fd sha256 / a "C: \ path \ to \ MyExecutable.exe"
- De
/fd
alternativet velger fordøyelsesalgoritmen som skal brukes når du signerer. Windows 10 SDK, HLK, WDK og ADK bygger 20236 og over krever at dette alternativet angis ved signering. SHA256 anbefales fremfor SHA1 for sikkerhet. - De
/a
alternativet instruerer SignTool til automatisk å finne et passende kodesigneringssertifikat for den kjørbare. - Hvis du bruker et EV-kodesigneringssertifikat, blir du bedt om USB-tokens PIN-kode. Hvis du trenger hjelp til å finne PIN-koden din, kan du se hvordan du gjør det.
Velge et signeringssertifikat
Angi emnets navn
Hvis du har mer enn én kodesignering av USB-tokens eller -sertifikater, kan du gjøre det spesifiser sertifikatet du vil bruke ved å inkludere dens Fagnavn via /n
alternativet.
Du kan finne EV CS-sertifikatets emnenavn ved hjelp av Microsofts sertifikatadministrasjonsverktøy certmgr. Åpne verktøyet fra Start-menyen og se etter EV CS-sertifikatet ditt i mappen "Personlig" under "Sertifikater", som vist på bildet nedenfor. Fagnavnet er "Utstedt til" -feltet i certmgr.
I bildet ovenfor er sertifikatets emne navn example
. Du kan spesifisere denne verdien i SignTool med følgende kommando.
. \ signtool.exe sign / fd sha256 / n "eksempel" "C: \ path \ to \ MyExecutable.exe"
Spesifiser SHA1 Hash
Hvis du har flere sertifikater med samme emnenavn, kan du også bruke SHA1-hash (eller "tommelavtrykk") til et sertifikat for å velge det for signering. Erstatte THUMBPRINT
i kommandoen nedenfor med den faktiske SHA1-hashen sertifikatet ditt. Du kan finne denne verdien ved å se sertifikatdetaljene i certmgr og se etter Thumbprint
felt (pass på og fjern eventuelle mellomromstegn fra tommelavtrykket før du bruker det i kommandoen).
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ path \ to \ MyExecutable.exe"
Bruk en PKCS # 12 / PFX-fil
Hvis du har et kodesigneringssertifikat og en privat nøkkel i en PKCS # 12-fil (også kjent som en PFX- eller P12-fil), kan du spesifisere filen og passordet på kommandolinjen:
. \ signtool.exe sign / fd sha256 / f "C: \ path \ to \ MyCertificate.pfx" / p password "C: \ path \ to \ MyExecutable.exe"
Tidsstempling
Ved å stemple koden din kan du stole på den etter at kodesigneringssertifikatet utløper. Hvis du vil legge til en tidsstempel i den signerte binære filen kan du gjøre det ved hjelp av SignTool's /tr
alternativ, som skal følges av å angi tidsstemplets fordøyelsesalgoritme med /td
. Kommandoen i kodebiten nedenfor inkluderer et tidsstempel fra SSL.comTidsstempletjeneste mens du signerer en kjørbar.
. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ path \ to \ MyExecutable.exe"
/tr
alternativet (spesifiser URL til RFC 3161 tidsstempel-server), ikke /t
(URL for tidsstempel-server), som er inkompatibel med SSL.coms tidsstempel-server./td
alternativ må Følg /tr
alternativ. Hvis tidsstempel-fordøyelsesalgoritmen er spesifisert før tidsstempel-serveren, vil standard SHA-1-algoritmen bli brukt. Windows 10 SDK, HLK, WDK og ADK bygger 20236 og over krever bruk av /tr
når tidsstempling. SHA256 anbefales over SHA1 for sikkerhets skyld.Hvis du støter på denne feilen:
The timestamp certificate does not meet a minimum public key length requirement
, bør du kontakte programvareleverandøren for å tillate tidsstempler fra ECDSA-nøkler.Hvis det ikke er noen måte for programvareleverandøren din å tillate at det vanlige endepunktet brukes, kan du bruke dette eldre endepunktet
http://ts.ssl.com/legacy
for å få et tidsstempel fra en RSA Timestamping Unit.andre alternativer
Andre viktige SignTool-alternativer er:
/d
: Legg til en beskrivelse av den signerte koden. For eksempel,/d "test code"
./du
: Legg til en URL med en utvidet beskrivelse av den signerte koden. For eksempel,/du https://your_website.tld/project/description
.
Bruker alle alternativene ovenfor (men utelater /a
, /sha1
eller /f
fordi vi spesifiserer sertifikatets emnenavn med /n
, kommandolinjen vår ser ut som:
signtool.exe sign / n "eksempel" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "test code" / du https: //y_website.tld/project/description "C: \ path \ til \ MyExecutable.exe "
Bekreft signatur
Bruk denne kommandoen for å bekrefte den signerte koden din (merk at /pa
alternativet må være til stede i kommandoen):
. \ signtool.exe verifisere / pa "C: \ path \ to \ MyExecutable.exe"
Hvis filen din har blitt signert, bør du se utdata som dette:
Fil: C: \ path \ to \ MyExecutable.exe Index Algorithm Timestamp ====================================== ===== 0 sha256 RFC3161 Vellykket bekreftet: C: \ path \ to \ MyExecutable.exe
Du kan også bekrefte at en fil er signert ved å høyreklikke på ikonet og velge Eiendommer fra menyen, og velg deretter Digitale signaturer kategorien. Vis detaljer om en signatur ved å velge den og klikke på Detaljer knapp.
Her kan vi se at filen inneholder en gyldig digital signatur, opprettet av SSL Corp 28. juni 2020.
Signering av en kjørbar med SSL Manager
Hvis du foretrekker en mer grafikkbasert tilnærming kan du bruke SSL.comegen programvare, SSL Manager, for å signere filene dine. Mange kunder foretrekker å bruke SSL Manager fordi det gir den ekstra fordelen av å ha enkel tilgang til alle sertifikatene dine i ett enhetlig grensesnitt. For instruksjoner om nedlasting og installasjon SSL Manager, se vår installasjonsveiledning.
For å signere en kjørbar, start med å velge Kodesignering> Sign & Timestamp Code Package fra SSL Managermeny.
I kodesigneringsskjemaet kan du velge kjørbart og kodesigneringssertifikat (enten fra en fil eller et sertifikatlager) og en av de tilgjengelige tidsstempletjenerne. Når du er ferdig, klikker du på Logg for å signere koden. Hvis du laster inn et sertifikat fra en PFX-fil, må du oppgi passordet til filen. Hvis du bruker et EV-kodesigneringssertifikat, blir du bedt om USB-tokens PIN-kode.
Foruten kodesignering, SSL Manager tilbyr mange kraftige funksjoner. For mer informasjon, se SSL Managersin dokumentasjon, spesielt Kodesigneringsmeny.