Het ondertekenen van EV-codes automatiseren met Signtool.exe of Certutil.exe met behulp van eSigner CKA (Cloud Key Adapter)

Dit gidsartikel laat zien hoe u eSigner CKA installeert en gebruikt voor geautomatiseerde en handmatige codeondertekening op Signtool. 

eSigner CKA (Cloud Key-adapter) is een op Windows gebaseerde applicatie die de CNG-interface (KSP Key Service Provider) gebruikt om tools zoals certutil.exe en signtool.exe in staat te stellen de eSigner Cloud Signature Consortium (CSC)-compatibele API te gebruiken voor het ondertekenen van bedrijfscodes. Het werkt als een virtueel USB-token en laadt de certificaten voor codeondertekening in het certificaatarchief.

eSigner CKA biedt flexibele opties om ondertekening in CI/CD-processen te automatiseren die niet bestaan ​​met een fysiek USB-token. Ga naar deze pagina voor hulp bij het gebruik van eSigner CKA voor automatische codeondertekening in CI/CD-tools, waaronder CircleCI, GitHub Actions, Gitlab CI en Travis CI: Hoe eSigner CKA te integreren met CI/CD-tools voor geautomatiseerde code-ondertekening.

NOTITIE 

Dit instructiemateriaal vereist het volgende: 

  1. Uitgegeven EV Code Signing-certificaat. 
  2. EV Code Signing-certificaat moet momenteel zijn ingeschreven op eSigner. Als dit niet het geval is, raadpleeg dan dit gids artikel
  3. Een geïnstalleerde authenticator-app op uw mobiele telefoon, zoals de Google-authenticator-app.

 

Gebruikers kunnen code ondertekenen met de functie Extended Validation Code Signing van eSigner. Klik hieronder voor meer info.

lees meer

Formuleer de opdrachtregel

Onderdelen van de opdrachtregel

Voor zowel handmatige als geautomatiseerde code-ondertekening moet u de opdrachtregel van uw teksteditor typen, zoals: Command Prompt. De opdrachtregel bevat:

  1. De locatie van SignTool (opdrachtregeltool die verantwoordelijk is voor het digitaal ondertekenen van een bestand en het verifiëren van de handtekening), tussen haakjes ingesloten: “C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe”
  2. De /fdsha256 optie die het hash-algoritme specificeert
  3. De /tr http://ts.ssl.com optie die het tijdstempelserveradres specificeert
  4. /tdsha256 optie die het tijdstempelsamenvattingsalgoritme specificeert
  5. De /sha1 optie die de vingerafdruk specificeert die SignTool gebruikt om het juiste code-ondertekeningscertificaat uit de sleutelopslag te vinden
  6. De daadwerkelijke vingerafdruk van het certificaat
  7. Het pad van het bestand dat wordt ondertekend, tussen haakjes: "SIGNABLE FILE PATH"

Over het algemeen zou de opdrachtregel er als volgt uit moeten zien: 

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" teken /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 certificaat duimafdruk " ONDERTEKENBAAR BESTANDSPAD”

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.

Uw certificaatvingerafdruk vinden

Later, bij het installeren van eSigner CKA en het toevoegen van uw EV Code Signing-certificaat aan de Gebruikerscertificaatarchief, kunt u de vingerafdruk van uw EV Code Signing-certificaat controleren door op te drukken Windows-toets + R en typ dan in certmgr.msc om toegang te krijgen tot het gebruikerscertificaatarchief. Wanneer het venster Certificaatbeheer verschijnt, klikt u op de persoonlijke map in het linkerdeelvenster en selecteer vervolgens de Certificaten submap aan de rechterkant om uw EV Code Signing-certificaat te vinden.

Dubbelklik op het certificaat. Selecteer de details tabblad en scrol vervolgens naar beneden om de duimafdruk weer te geven. Kopieer de vingerafdruk en voeg deze toe aan uw opdrachtregel wanneer u de code ondertekent.

Handmatige code-ondertekening

Installeer eSigner CKA

Selecteer bij het kiezen van Installatiemodus: Handmatige code-ondertekening en klik vervolgens op de knop OK.

Log in op het eSigner CKA-programma

Na installatie van eSigner CKA, opent u het programma en logt u in met de gebruikersnaam en het wachtwoord van uw SSL.com-account.

Na een succesvolle aanmelding kunt u de naam zien van de entiteit waaraan het EV-code-ondertekeningscertificaat is afgegeven, het serienummer, de vervaldatum en de EVCS (Extended Validation Code Signing) acroniem.

Schrijf de opdrachtregel in de teksteditor

Ter herinnering, de opdrachtregel voor het ondertekenen van code ziet er als volgt uit: 

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" teken /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 certificaat duimafdruk " ONDERTEKENBAAR BESTANDSPAD”

Na het schrijven van de opdrachtregel in uw teksteditor en het indrukken van Enter, u ziet het bericht Klaar met het toevoegen van extra winkel. Er verschijnt dan een venster waarin u de gebruikersnaam en het wachtwoord van uw SSL.com-account moet invoeren.

Voer het eenmalige wachtwoord (OTP) in 

Een eenmalig wachtwoord (OTP) voor uw eSigner-ingeschreven EV Code Signing-certificaat wordt naar uw Authenticator-app verzonden. Na succesvolle invoer geeft de opdrachtprompt aan dat uw bestand met succes is ondertekend.

Controleer de digitale handtekening op het bestand

Na succesvolle code-ondertekening kunt u nu de details van de digitale handtekening op het bestand controleren. Klik met de rechtermuisknop op het ondertekende bestand, klik op Properties, gevolgd door de Digitale handtekeningen Tabblad. Hier ziet u de naam van de ondertekenaar, het gebruikte digest-algoritme en de tijdstempel van de handtekening. Klik op de Details knop voor meer informatie over de ondertekende code.

Bij klikken Details, kunt u de informatie lezen waarin staat: Deze digitale handtekening is OK. Ga verder om op de . te klikken Certificaat weergeven knop.

Na het klikken op de Certificaat weergeven klikt, leest u informatie die aangeeft dat het digitale certificaat dat voor het ondertekende bestand is uitgegeven, ervoor zorgt dat het van de uitgever afkomstig is en het na publicatie beschermt tegen wijziging.

Geautomatiseerde code-ondertekening

Installeer eSigner CKA

Selecteer bij het kiezen van Installatiemodus: Geautomatiseerde code-ondertekening en klik vervolgens op de knop OK.

Sla het hoofdsleutelbestand op

Er verschijnt een notitie waarin het belang van het beveiligen van het hoofdsleutelbestand wordt uitgelegd. Lees het en klik vervolgens op de OK-knop.

Er verschijnt dan een venster waarin u kunt kiezen waar u het hoofdsleutelbestand wilt opslaan.

Voer de gebruikersnaam en het wachtwoord van uw SSL.com-account in

Voer de gebruikersnaam en het wachtwoord van uw SSL.com-account in.

Voer uw eSigner in Op tijd gebaseerd eenmalig wachtwoord (TOTP)

Plaats dan uw Time-based One-Time Password (TOTP). U kunt uw TOTP vinden in de bestelgegevens van het EV Code Signing-certificaat op uw SSL.com-account. Typ de 4-cijferige pincode die u eerder hebt ingesteld toen u uw bestelling voor eSigner registreerde en klik vervolgens op de Toon QR-code knop om de TOTP weer te geven.

Uw TOTP wordt weergegeven op een doos met het label geheime code. Kopieer de TOTP, plak deze op de TOTP geheim veld van het eSigner CKA-venster en klik vervolgens op de OK knop om het op te slaan. 

Nadat u uw SSL.com-accountgegevens en TOTP hebt ingevoerd, kunt u de details van uw EV Code Signing-certificaat bekijken. Als u besluit uw TOTP bij te werken, plakt u de nieuwe TOTP in het toegewezen veld en klikt u vervolgens op Bespaar.

Schrijf de opdrachtregel in de teksteditor

Ter herinnering, de opdrachtregel voor het ondertekenen van code ziet er als volgt uit: 

C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe” sign /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 certificaat thumbprint “SIGNABLE BESTANDSPAD"

Openen Command Prompt en plaats de opdrachtregel. Nadat u op Enter hebt gedrukt, ziet u het bericht zeggen Klaar met het toevoegen van extra winkel.

Na een paar seconden ziet u de melding Succesvol ondertekend. Dit geeft aan dat uw bestand op een geautomatiseerde manier is ondertekend, zonder dat er extra OTP's nodig zijn. 

Controleer de aanwezigheid van de digitale handtekening op uw bestand

Open de maplocatie van uw ondertekende bestand. Klik er met de rechtermuisknop op en klik vervolgens op Properties. Klik op het tabblad Digitale handtekeningen en hier ziet u dat het gebruikte veilige hash-algoritme 256 bits heeft. Klik op de onmiddellijke ruimte met de naam van de ondertekenaar, het digest-algoritme en het tijdstempel. Nadat het is gemarkeerd, gaat u verder met klikken op de Details knop.

Er verschijnt dan een pop-upvenster waarin staat dat de digitale handtekening op het bestand geldig is, evenals het specifieke tijdstip waarop het is ondertekend. Klik op de Certificaat weergeven om meer informatie te zien over het EV Code Signing digitale certificaat dat is uitgegeven. 

U ziet informatie over het EV Code Signing-certificaat waarin staat dat het u valideert als de maker van het uitvoerbare bestand en dat uw bestand wordt beschermd tegen manipulatie. 

Hoe u eSigner CKA kunt testen met uw sandbox-account

Installeer eSigner CKA

Kies of u het wilt installeren in Handmatig or geautomatiseerde mode

****Houd er rekening mee dat als je een modus hebt gekozen, je het programma opnieuw moet installeren voordat je het in de andere modus kunt testen.*****

Open de submap Roaming van Appdata

 Om eSigner CKA te testen met uw SSL.com sandbox-account, moet u de instellingen van de toepassing wijzigen in de submap Roaming van de AppData-map. Binnenkomen %App data% op de Windows-zoekbalk om u rechtstreeks naar de roaming-submap van AppData te brengen.

eSigner openen Data bestand met je teksteditor

Open de eSignerCKA map, zoek het bestand esignerapp.data, klik er met de rechtermuisknop op en kies de optie om het bestand te bewerken met uw teksteditor, in dit geval notepad ++

Bij het openen van de teksteditor ziet u de onderstaande waardensets.

U kunt de waardensets in opeenvolgende rijen scheiden, zodat ze gemakkelijker te bewerken zijn. 

Handmatige modus test ondertekenen

Voor testondertekening in de handmatige modus moeten de volgende waarden aanwezig zijn:

  1. De klant-ID moet zijn: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Toevoegen -proberen op de api_url
    Vroeger: “api_url”:”https://cs.ssl.com/csc/v0/
    Na: “api_url”:”https://cs-proberen.ssl.com/csc/v0/"
  3. vervangen Log in Met oauth-sandbox op de auth_url
    Voor: “auth_url”:”https://Log in.ssl.com/oauth2/token”
    Na: “auth_url”:”https://oauth-sandbox.ssl.com/oauth2/token”
  4. "cred_mode": 0
  5. "master_key": null

Testondertekening in geautomatiseerde modus

Voor testondertekening in de geautomatiseerde modus moeten de volgende waarden aanwezig zijn:

  1. De klant-ID moet zijn: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Toevoegen -proberen op de api_url
    Vroeger: “api_url”:”https://cs.ssl.com/csc/v0/
    Na: “api_url”:”https://cs-proberen.ssl.com/csc/v0/"
  3. vervangen Log in Met oauth-sandbox op de auth_url
    Voor: “auth_url”:”https://Log in.ssl.com/oauth2/token”
    Na: “auth_url”:”https://oauth-sandbox.ssl.com/oauth2/token”
  4. "cred_mode": 1
  5. vervangen nul op master_key met het exacte bestandspad van uw hoofdsleutel bestand.
    Wanneer u eSigner CKA in geautomatiseerde modus installeert voor testdoeleinden, moet u de inloggegevens van uw sandbox-account opgeven. De reden hiervoor is dat bij geautomatiseerde code-ondertekening de inloggegevens worden versleuteld met de hoofdsleutel. Als u bij de installatie inloggegevens voor productie invoert en later de waarden in het bestand esignerapp.data wijzigt volgens een geautomatiseerd testformaat, kunt u geen tests uitvoeren omdat de gebruikersnaam en het wachtwoord die u hebt opgegeven niet aanwezig zijn in de sandbox-testomgeving.

Log in op eSigner CKA met uw SSL.com sandbox-accountgegevens

Na het wijzigen van de waarden op esignerapp.data, u kunt nu uw EV-certificaat voor het ondertekenen van code vanuit uw sandbox testen door dezelfde stappen te volgen die eerder zijn beschreven voor een live-certificaat.

Een Hardware Lab Kit (HLK)-bestand ondertekenen met eSigner CKA en HLKSigntool

Hardware Lab Kit is een hulpmiddel om een ​​stuurprogramma voor de kernelmodus te testen en voor te bereiden voor verzending naar Microsoft. Momenteel vereist eSigner CKA ook dat de HLKSigntool is geïnstalleerd om te kunnen worden gebruikt in de HLK-software van Microsoft 

eSigner CKA moet eerst worden geïnstalleerd en geconfigureerd (gebruiker ingelogd en TOTP-geheim ingesteld) voordat HLKSignTool.exe wordt uitgevoerd. 

Stap 1. Installeer en configureer eSigner CKA

Stap 2. Gebruik HLKSignTool met de onderstaande opdrachtregel

Opdrachtregel
HLKSignTool.exe certificaat_serieel "pad_naar_bestand"

Voorbeeld:

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

Hoe VBA-macro's te ondertekenen met eSigner CKA

Download en installeer via deze link Microsoft Office Subject Interface-pakketten voor het digitaal ondertekenen van VBA-projecten via deze link: https://www.microsoft.com/en-us/download/details.aspx?id=56617

Na installatie voert u de volgende stappen uit:

  1. Open een beheerdersopdrachtprompt en typ het volgende. Het pad is waar u zojuist de bestanden hebt geïnstalleerd:

    regsvr32.exe

    regsvr32.exe

    Ga voor meer informatie over het registreren van OLE-besturingselementen naar Microsoft's website.

    Als dit lukt, ziet u een bericht: “DIIRegister Server in geslaagd."

  2. Installeer het volgende: download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. Installeer eSigner CKA
  4. Voer de SignTool-opdracht uit om macro's te ondertekenen: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Hoe .app-bestanden te ondertekenen met eSigner CKA

  1. Downloaden Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    Opmerking: als u probeert een .app bestand met eSigner CKA zonder eerst Microsoft te installeren Dynamics 365 Business Central-toepassing krijgt u deze SignTool-fout: Dit bestandsformaat kan niet worden ondertekend omdat het niet wordt herkend.
  2. Open de Dynamics.365.BC.55195.US.DVD.zip en extraheer de inhoud naar de gewenste locatie.
  3. Openen setup.exe For Microsoft Dynamics 365 Business Central en klik op de Volgende> knop.
  4. Lees de Microsoft-softwarelicentievoorwaarden en klik vervolgens op de Ik accepteer > knop.
  5. Kies Geavanceerde installatieopties
  6. Klik Kies een installatieoptie.
  7. Kies de server installatie optie.
  8. Klik op de Solliciteer knop.
  9. Wacht tot de installatie is voltooid. Na een succesvolle installatie klikt u op de Sluiten knop.
  10. Onderteken uw .app-bestand op SignTool: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Hoe vsix-bestanden te ondertekenen met eSigner CKA

  1. Dotnet Core SDK downloaden: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. Installeer OpenVsixSignTool
    dotnet tool install -g OpenVsixSignTool
  3. Gebruik dit tekencommando:
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

Malwarescan gebruiken op eSigner CKA

Instructies:

  1. Log in op uw SSL.com-account. Klik op het tabblad bestellingen gevolgd door de Download link van uw certificaat om de details ervan weer te geven. Scroll naar beneden naar de GEGEVENS ONDERTEKENEN sectie en zoek het gedeelte met uw eSigner-certificaatreferenties. Zorg ervoor dat de keuzerondjes die zeggen ondertekeningsgegevens ingeschakeld en malwareblokkering ingeschakeld zijn gekozen.
  2. Installeer eSigner Cloud Key Adapter.
  3. Installeer eSigner CodeSignTool. Klik hier. om eSigner CodeSignTool te downloaden.
  4. Scan de code op CodeSignTool met behulp van de volgende opdracht: scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Gebruik Sign Tool om de code te ondertekenen met eSigner CKA met behulp van de volgende opdracht: scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

parameters:

  • -input_file_path=<PATH>: Pad van codeobject dat moet worden ondertekend.
  • -username=<USERNAME>SSL.com account gebruikersnaam
  • -password=<PASSWORD>SSL.com account wachtwoord.
  • -program_name=<PROGRAM_NAME>: Naam van het programma
  • -credential_id=<CREDENTIAL_ID>: Referentie-ID voor ondertekeningscertificaat. Uw eSigner-referentie-ID bevindt zich in uw SSL.com certificaat bestelpagina.

Abonneer u op de nieuwsbrief van SSL.com

Mis geen nieuwe artikelen en updates van SSL.com

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.