Denna handledning visar hur du signerar filer från Windows-kommandoraden med ett kodsigneringscertifikat och en privat nyckel lagrad i Azure Key Vault. För att följa dessa instruktioner behöver du:
- An Azure-konto
- A Nyckelvalv
- A kodsigneringscertifikat installerat i ditt Key Vault. Du kan antingen:
- Azure Sign Tool installerad på den dator du kommer att använda för signering
Vad är Azure Sign Tool?
Azure Sign Tool är ett open source-verktyg som erbjuder Signtool funktionalitet för certifikat och nycklar lagrade i Azure Key Vault. Du kan installera Azure Sign Tool med följande kommando i Windows PowerShell (kräver .NET SDK):
dotnet tool install --global AzureSignTool
Steg 1: Registrera en ny Azure-applikation
Först måste du registrera en ny Azure-applikation så att du kan ansluta till ditt Key Vault för signering.
- Logga in på Azur portalen.
- Navigera till Azure Active Directory. (Klick Fler tjänster om Azure Active Directory-ikonen inte är synlig.)
- Klicka App-registreringar, i den vänstra kolumnen.
- Klicka Ny registrering.
- Ge din ansökan en Namn och klicka på Registrera knapp. Lämna de andra inställningarna vid standardvärdena.
- Din nya ansökan har registrerats. Kopiera och spara det värde som visas för Program (klient) ID, för du kommer att behöva det senare.
- Klicka Autentisering.
- Enligt avancerade inställningar, uppsättning Tillåt offentliga kundflöden till
Yes
.
- Klicka Save.
Steg 2: Skapa en klienthemlighet
Skapa sedan en klienthemlighet som fungerar som referens när du signerar.
- Klicka Certifikat & hemligheter i vänstra menyn.
- Klicka Ny kundhemlighet.
- Ge din klienthemlighet en Beskrivning, ställ in giltighetstid efter önskemål och klicka på Lägg till knapp.
- kopiera Värde av din nya klienthemlighet blir omedelbart och spara den på en säker plats. Nästa gång sidan uppdateras kommer detta värde att maskeras och vara oåterkallelig.
Steg 3: Aktivera åtkomst i Key Vault
Nu måste du aktivera åtkomst för din applikation i Azure Key Vault.
- Navigera till Key Vault som innehåller certifikatet du vill använda för signering och klicka på Åtkomstpolicyer länken.
- Klicka Lägg till åtkomstpolicy.
- Enligt Viktiga behörigheter, Gör det möjligt
Sign
.
- Enligt Certifikatbehörigheter, Gör det möjligt
Get
.
- Klicka på Ingen vald länk, under Välj huvud, använd sedan sökfältet för att hitta och välja det program du skapade i föregående avsnitt.
- Klicka på Välja knapp.
- Klicka på Lägg till knapp.
- Klicka Save.
- Din åtkomstpolicy är inställd och du är redo att börja signera filer.
Steg 4: Signera en fil
Nu är du äntligen redo att underteckna lite kod!
- Du behöver följande information tillgänglig:
- Nedan följer ett exempel på ett kommando i PowerShell för att signera och tidsstämpla en fil med Azure Sign Tool. Ersätt värdena i ALL CAPS med din faktiska information:
azuresigntool sign -kvu KEY-VAULT-URI -kvc CERTIFICATE-NAME -kvi APPLICATION-CLIENT-ID -kvs CLIENT-SECRET -tr http://ts.ssl.com/ -td sha256 PATH-TO-EXECUTABLE
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 slutpunkthttp://ts.ssl.com/legacy
för att få en tidsstämpel från en RSA Timestamping Unit. - Om signering lyckas bör du se utdata på följande sätt (misslyckad signering ger ingen utdata):
info: AzureSignTool.Program [0] => File: test.exe Signeringsfil test.exe info: AzureSignTool.Program [0] => File: test.exe Underteckningen slutfördes framgångsrikt för fil test.exe. info PS C: \ Users \ Aaron Russell \ Desktop>
- Detaljer om den nya digitala signaturen kommer att finnas i filegenskaperna: