Hur man automatiserar EV-kodsignering med SignTool.exe eller Certutil.exe med eSigner CKA (Cloud Key Adapter)

Den här guiden visar hur du installerar eSigner CKA och använder den för automatisk och manuell kodsignering på SignTool. 

eSigner CKA (Cloud Key Adapter) är en Windows-baserad applikation som använder CNG-gränssnittet (KSP Key Service Provider) för att tillåta verktyg som certutil.exe och signtool.exe att använda eSigner Cloud Signature Consortium (CSC)-kompatibelt API för företagskodsigneringsoperationer. Den fungerar som en virtuell USB-token och laddar kodsigneringscertifikaten till certifikatarkivet.

eSigner CKA möjliggör flexibla alternativ för att automatisera signering i CI/CD-processer som inte finns med en fysisk USB-token. För vägledning om hur du använder eSigner CKA för automatisk kodsignering i CI/CD-verktyg inklusive CircleCI, GitHub Actions, Gitlab CI och Travis CI, besök den här sidan: Hur man integrerar eSigner CKA med CI/CD-verktyg för automatisk kodsignering.

ANMÄRKNINGAR 

Detta instruktionsmaterial kräver följande: 

  1. Utfärdat EV Code Signing-certifikat. 
  2. EV Code Signing-certifikat måste för närvarande vara registrerad på eSigner. Om så inte är fallet, hänvisa till detta guide artikel
  3. En installerad autentiseringsapp på din mobiltelefon som Google autentiseringsapp.

 

Användare kan signera kod med eSigners funktion för utökad validering av kodsignering. Klicka nedan för mer info.

LÄS MER

Formulera kommandoraden

Komponenter i kommandoraden

För både manuell och automatiserad kodsignering måste du skriva in kommandoraden i din textredigerare, som t.ex kommando~~POS=TRUNC. Kommandoraden innehåller:

  1. Platsen för SignTool (kommandoradsverktyg som ansvarar för digital signering av en fil och verifierar signaturen), omsluten av dubbla citattecken: "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe"
  2. Smakämnen /fd sha256 alternativ som anger Hash-algoritmen
  3. Smakämnen /tr http://ts.ssl.com alternativ som anger tidsstämpelserveradressen
  4. /td sha256 alternativ som anger tidsstämpelsammandragningsalgoritmen
  5. Smakämnen /sha1 alternativ som anger tumavtrycket som SignTool använder för att hitta rätt kodsigneringscertifikat från nyckellagret
  6. Själva certifikatets tumavtryck
  7. Sökvägen till filen som kommer att signeras, omgiven av dubbla citattecken: "SIGNABLE FILE PATH"

Sammantaget bör kommandoraden se ut så här: 

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" tecken /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 certifikat tumavtryck " SIGNERBAR FILVÄG”

Notera: Som standard stöder SSL.com tidsstämplar från ECDSA-nycklar.

Om du stöter på det här felet: The timestamp certificate does not meet a minimum public key length requirement, bör du kontakta din programvaruleverantör för att tillåta tidsstämplar från ECDSA-nycklar.

Om det inte finns något sätt för din programvaruleverantör att tillåta att den normala slutpunkten används, kan du använda denna äldre slutpunkt http://ts.ssl.com/legacy för att få en tidsstämpel från en RSA Timestamping Unit.

Hitta ditt certifikats tumavtryck

Senare, när du installerar eSigner CKA och lägger till ditt EV Code Signing-certifikat till Användarcertifikatbutik, kommer du att kunna kontrollera ditt EV Code Signing-certifikats tumavtryck genom att trycka på Windows-tangenten + R och skriv sedan in certmgr.msc för att komma åt användarcertifikatarkivet. När certifikathanteraren dyker upp klickar du på Personlig mapp på den vänstra panelen och välj sedan Certifieringar undermappen till höger för att hitta ditt EV Code Signing-certifikat.

Dubbelklicka på certifikatet. Välj Detaljer fliken och scrolla sedan ned för att visa tumavtrycket. Kopiera tumavtrycket och inkludera det på din kommandorad när du signerar koden.

Manuell kodsignering

Installera eSigner CKA

När du väljer installationsläge, välj Manuell kodsignering och klicka sedan på OK-knappen.

Logga in på eSigner CKA-programmet

Efter installationen av eSigner CKA, öppna programmet och logga in med ditt SSL.com-kontos användarnamn och lösenord.

Efter lyckad inloggning kommer du att kunna se namnet på den enhet till vilken EV-kodsigneringscertifikatet utfärdades, serienummer, utgångsdatum och EVCS (Extended Validation Code Signing) akronym.

Skriv kommandoraden i textredigeraren

För att komma ihåg ser kommandoraden för kodsignering ut så här: 

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" tecken /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 certifikat tumavtryck " SIGNERBAR FILVÄG”

När du skriver kommandoraden i din textredigerare och trycker på ange, kommer du att se meddelandet Klar med att lägga till ytterligare butik. Ett fönster kommer då att dyka upp som kräver att du anger ditt SSL.com-kontos användarnamn och lösenord.

Ange One Time Password (OTP) 

Ett engångslösenord (OTP) för ditt eSigner-registrerade EV Code Signing-certifikat skickas till din Authenticator-app. Vid lyckad inmatning kommer kommandotolken att indikera att din fil har signerats.

Kontrollera den digitala signaturen på filen

Efter framgångsrik kodsignering kan du nu kontrollera detaljerna för den digitala signaturen på filen. Högerklicka på den signerade filen, klicka Våra Bostäderföljt av Digitala signaturer Flik. Här kommer du att se namnet på undertecknaren, sammanfattningsalgoritmen som används och signaturens tidsstämpel. Klicka på Detaljer för att få mer information om den signerade koden.

Vid klickning Detaljer, kommer du att kunna läsa informationen som anger Den här digitala signaturen är OK. Fortsätt att klicka på Se certifikat knapp.

När du klickat på Se certifikat knappen, kommer du att läsa information som indikerar att det digitala certifikatet som utfärdats för den signerade filen säkerställer att den kom från utgivaren och skyddar den från ändringar efter publicering.

Automatiserad kodsignering

Installera eSigner CKA

När du väljer installationsläge, välj Automatiserad kodsignering och klicka sedan på OK-knappen.

Spara huvudnyckelfilen

En anteckning kommer att dyka upp som förklarar vikten av att säkra huvudnyckelfilen. Läs den och klicka sedan på OK-knappen.

Ett fönster kommer då upp som låter dig välja var du vill spara huvudnyckelfilen.

Skriv in ditt SSL.com-kontos användarnamn och lösenord

Ange ditt SSL.com-kontos användarnamn och lösenord.

Skriv in din eSigner Tidsbaserat engångslösenord (TOTP)

Placera sedan ditt tidsbaserade engångslösenord (TOTP). Du kan hitta din TOTP inkluderad i EV Code Signing-certifikatbeställningsinformationen på ditt SSL.com-konto. Skriv in den 4-siffriga PIN-koden som du tidigare angav när du registrerade din beställning för eSigner och klicka sedan på Visa QR-kod knappen för att visa TOTP.

Din TOTP kommer att visas på en ruta märkt hemlig kod. Kopiera TOTP, klistra in den på TOTP hemlighet fältet i eSigner CKA-fönstret och klicka sedan på OK knappen för att spara den. 

När du har lagt in dina SSL.com-kontouppgifter och TOTP kommer du att kunna se detaljerna för ditt EV Code Signing-certifikat. Om du bestämmer dig för att uppdatera din TOTP, klistra in den nya TOTP i det tilldelade fältet och klicka sedan Save.

Skriv kommandoraden i textredigeraren

För att komma ihåg ser kommandoraden för kodsignering ut så här: 

C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" tecken /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 certifikat tumavtryck "SIGNABLE SÖKVÄG"

Öppen kommando~~POS=TRUNC och placera kommandoraden. När du har tryckt på enter kommer du att se meddelandet Klar med att lägga till ytterligare butik.

Efter några sekunder ser du meddelandet Undertecknad framgångsrikt. Detta indikerar att din fil har signerats på ett automatiskt sätt, utan ytterligare behov av OTP. 

Kontrollera förekomsten av den digitala signaturen på din fil

Öppna mappplatsen för din signerade fil. Högerklicka på den och klicka sedan Våra Bostäder. Klicka på fliken Digitala signaturer och här ser du att den använda säkra hashalgoritmen har 256 bitar. Klicka på det omedelbara utrymmet som visar namnet på undertecknaren, sammanfattningsalgoritmen och tidsstämpeln. När den har markerats fortsätter du att klicka på Detaljer knapp.

Ett popup-fönster kommer då att visa att den digitala signaturen på filen är giltig samt anger den specifika tidpunkten då den signerades. Klicka på Se certifikat knappen för att se mer information om det digitala certifikatet för EV Code Signing som utfärdades. 

Du kommer att se information om EV Code Signing-certifikatet som anger att det validerar dig som skaparen av den körbara filen och skyddar din fil från att manipuleras. 

Så här testar du eSigner CKA med ditt sandlådekonto

Installera eSigner CKA

Välj om du vill installera den i Manuell or Automatiserad läge

****Observera att om du har valt ett läge måste du installera om programmet innan du kan testa det i det andra läget.*****

Öppna underkatalogen Roaming för Appdata

 För att testa eSigner CKA med ditt SSL.com-sandlådekonto måste du ändra programmets inställningar i underkatalogen Roaming i mappen AppData. Stiga på %Applikationsdata% i Windows sökfält för att ta dig direkt till underkatalogen för roaming av AppData.

Öppna eSigner Data fil med din textredigerare

Öppna eSignerCKA mapp, leta reda på filen esignerapp.data, högerklicka på den och välj alternativet för att redigera filen med din textredigerare, i det här fallet Notepad ++

När du öppnar textredigeraren ser du värdeuppsättningarna nedan.

Du kan dela upp värdeuppsättningarna i efterföljande rader så att de kan vara lättare att redigera. 

Manuell testsignering

För testsignering i manuellt läge bör följande värden finnas:

  1. Klient-ID bör vara: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Lägg till -Prova på api_url
    Före: "api_url":"https://cs.ssl.com/csc/v0/
    Efter: "api_url":"https://cs-försök.ssl.com/csc/v0/"
  3. ersätta logga in med oauth-sandlåda på auth_url
    Före: "auth_url":"https://logga in.ssl.com/oauth2/token"
    Efter: "auth_url":"https://oauth-sandlåda.ssl.com/oauth2/token"
  4. "cred_mode": 0
  5. "master_key": null

Automatiserad testsignering

För testsignering i automatiserat läge bör följande värden finnas:

  1. Klient-ID bör vara: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Lägg till -Prova på api_url
    Före: "api_url":"https://cs.ssl.com/csc/v0/
    Efter: "api_url":"https://cs-försök.ssl.com/csc/v0/"
  3. ersätta logga in med oauth-sandlåda på auth_url
    Före: "auth_url":"https://logga in.ssl.com/oauth2/token"
    Efter: "auth_url":"https://oauth-sandlåda.ssl.com/oauth2/token"
  4. "cred_mode": 1
  5. ersätta null på master_key med den exakta sökvägen till din huvudnyckel fil.
    När du installerar eSigner CKA i automatiserat läge i syfte att testa, måste du ange dina inloggningsuppgifter för ditt sandlådekonto. Anledningen är att vid automatisk kodsignering krypteras inloggningsuppgifterna med huvudnyckeln. Om du anger inloggningsuppgifter för produktion vid installationen och senare ändrar värdena i filen esignerapp.data efter ett automatiserat testformat, kommer du inte att kunna utföra tester eftersom användarnamnet och lösenordet du har angett inte finns i testmiljön för sandlåde.

Logga in på eSigner CKA med dina SSL.com-sandlådekontouppgifter

Efter att ha ändrat värdena på esignerapp.data, du kan nu testa ditt EV-kodsigneringscertifikat från din sandlåda genom att följa samma steg som beskrivits tidigare för ett livecertifikat.

Hur man signerar en Hardware Lab Kit-fil (HLK) med eSigner CKA och HLKSigntool

Hardware Lab Kit är ett verktyg för att testa och förbereda en drivrutin för kärnläge för inlämning till Microsoft. För närvarande kräver eSigner CKA också att HLKSigntool är installerat för att kunna användas i Microsofts HLK-programvara 

eSigner CKA måste först installeras och konfigureras (inloggad användare och TOTP-hemlighetsuppsättning) innan HLKSignTool.exe körs. 

steg 1. Installera och konfigurera eSigner CKA

steg 2. Använd HLKSignTool med kommandoraden nedan

Kommandorad
HLKSignTool.exe certificate_serial "sökväg_till_fil"

Exempelvis:

HLKSignTool.exe 3364de1e9ed1882e963a89ff7a958e9d "A:\teet.hlkx"

Hur man signerar VBA-makron med eSigner CKA

Ladda ner och installera med den här länken Microsoft Office Subject Interface-paket för digital signering av VBA-projekt med den här länken: https://www.microsoft.com/en-us/download/details.aspx?id=56617

Notera: Vissa användare kan stöta på ett signeringsfel eftersom VBA erbjuder en SHA1-hash av koden att skicka till eSigner men eSigner kräver SHA256 eller högre. För att lösa detta. Microsoft rekommenderar följande:

Du kan lägga till en DWORD registernyckel-värde V1HashEnhanced för att välja en annan hashalgoritm, under HKCU\SOFTWARE\Microsoft\VBA\Security med värdealgoritmregler (1 till SHA1, 2 till SHA256, 3 till SHA384, 4 till SHA512).

När du har installerat, utför följande steg:

  1. Öppna en administratörskommandotolk och skriv följande, sökvägen kommer att vara där du precis installerade filerna:

    regsvr32.exe

    regsvr32.exe

    För mer information om hur du registrerar OLE-kontroller, besök Microsofts webbplats.

    Om det lyckas kommer du att se ett meddelande: "DIIRegister Server in lyckades."

  2. Installera följande: download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. Installera eSigner CKA
  4. Kör SignTool-kommandot för att signera makron: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Hur man signerar .app-filer med eSigner CKA

  1. Download Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    Obs: Om du försöker skriva under en .app fil med eSigner CKA utan att först installera Microsoft Dynamics 365 Business Central-applikation, du får detta SignTool-fel: Det här filformatet kan inte signeras eftersom det inte känns igen.
  2. Öppna Dynamics.365.BC.55195.US.DVD.zip och extrahera innehållet till din föredragna plats.
  3. Öppen setup.exe för Microsoft Dynamics 365 Business Central och klicka på Nästa> knapp.
  4. Läs Microsofts licensvillkor för programvara och klicka sedan på Jag accepterar > knapp.
  5. Välja Avancerade installationsalternativ
  6. Klicka Välj ett installationsalternativ.
  7. Välj server installationsalternativ.
  8. Klicka på Ansök knapp.
  9. Vänta tills installationen är klar. När installationen har lyckats klickar du på Stäng knapp.
  10. Signera din .app-fil på SignTool: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Hur man signerar vsix-filer med eSigner CKA

  1. Ladda ner Dotnet Core SDK: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. Installera OpenVsixSignTool
    dotnet tool install -g OpenVsixSignTool
  3. Använd detta teckenkommando:
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

Hur man använder skanning av skadlig programvara på eSigner CKA

Instruktioner:

  1. Logga in på ditt SSL.com-konto. Klicka på fliken beställningar följt av ladda ner länken till ditt certifikat för att visa dess detaljer. Scrolla ner till UNDERTECKNINGAR och leta reda på den del som visar dina eSigner-certifikatuppgifter. Se till att radioknapparna som säger signeringsuppgifter aktiverade och malware blockerare aktiverad väljs.
  2. Installera eSigner Cloud Key Adapter.
  3. Installera eSigner CodeSignTool. Klick här. för att ladda ner eSigner CodeSignTool.
  4. Skanna koden på CodeSignTool med följande kommando: scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Använd Sign Tool för att signera koden med eSigner CKA med följande kommando: scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

Parametrar:

  • -input_file_path=<PATH>: Sökväg till kodobjekt som ska signeras.
  • -username=<USERNAME>SSL.com kontots användarnamn
  • -password=<PASSWORD>SSL.com konto lösenord.
  • -program_name=<PROGRAM_NAME>: Namn på programmet
  • -credential_id=<CREDENTIAL_ID>: Autentiserings-ID för signering av certifikat. Ditt eSigner-ID finns i ditt SSL.com certifikatbeställningssida.

Håll dig informerad och säker

SSL.com är en global ledare inom cybersäkerhet, PKI och digitala certifikat. Registrera dig för att få de senaste branschnyheterna, tipsen och produktmeddelanden från SSL.com.

Vi vill gärna ha din feedback

Följ vår undersökning och låt oss veta vad du tycker om ditt senaste köp.