- Key Takeaways
- Miljömatris
- Förutsättningar
- Mage-kommandon och parametrar
- Använda kommandoraden och EV-certifikatet
- Verifiera ett signerat manifest
- Vanliga fel
- Användning och rengöring av CI/CD
- Använda kommandoraden och självsignerat certifikat (från vår webbportal)
- Slutsats
- Vanliga frågor om partihandel med mat och dryck
”Mage.exe” är ett kommandoradsverktyg som används i Windows operativsystem för att signera och verifiera programvarumanifest. Mage Signing används främst för att signera manifest, vilka är XML-filer som innehåller information om distribution och uppdatering av ett program. Genom att använda ”mage.exe” för att signera manifestet kan utvecklare säkerställa äktheten och integriteten hos sina applikationer, vilket ger användarna förtroende för att programvaran inte har komprometterats. Verktyget möjliggör också verifiering av signerade manifest, vilket gör det möjligt för användare att validera källan och integriteten hos programmet före installation.
Att signera en manifestfil med Mage, kortfattat: köra
mage -sign <file> -CertHash <fingerprint> -TimestampUri <timestamp_server>, verifiera sedan medmage -verify <file>Inkludera alltid en tidsstämpel; utan en sådan blir signaturen ogiltig i det ögonblick som signeringscertifikatet löper ut, oavsett om själva manifestet någonsin har manipulerats.
Key Takeaways
- -CertHash måste vara det exakta certifikatfingeravtrycket från certifikatets detaljvy, inte ett nyckelnamn eller alias; en avvikelse här är den vanligaste orsaken till ett misslyckat signeringskommando.
- -TimestampUri kräver en aktiv internetanslutning vid signeringstillfället för att nå tidsstämpelservern; att utelämna den är giltig syntax men lämnar den resulterande signaturen utan långsiktig giltighet.
Miljömatris
| Komponent | Krav |
|---|---|
| Verktyget | Mage.exe , ett .NET Framework-verktyg som ingår i Windows SDK-signeringsverktyg eller installeras via Visual Studios .NET Framework-komponent |
| . Framework NET | 4.0 eller högre |
| Typisk installationsväg | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools (varierar beroende på SDK-version) |
| Certifikat | Signeringscertifikat för slutenheter; EV eller självsignerat från Encryption Consultings portal stöds båda |
| Nyckelförvaring | FIPS 140-2 Nivå 3 HSM med proxybaserad åtkomst i EC:s implementering |
| Hashing-algoritm | sha256RSA (rekommenderas) eller sha1RSA, ställs in via -Algoritm |
På Encryption Consulting har vi omfattande expertis inom efterlevnadsstandarder, inklusive FIPS 140-2 nivå 3 HSM:er . Vi prioriterar att uppfylla branschregler och standarder för din paketsigneringsprocess. För att förbättra säkerheten använder vi proxybaserad åtkomst till HSM:en, vilket säkerställer att din privata nyckel förblir skyddad från obehörig åtkomst och potentiella intrång. Vi inser att varje organisation har unika krav, och det är därför vi erbjuder skräddarsydda lösningar som är skräddarsydda efter dina specifika behov. Genom att göra det tillhandahåller vi en säker signeringsprocess som inger förtroende och tillit till våra tjänster.
Förutsättningar
- Installera mage på ditt system.
- Installera .NET Framework 4 eller senare.
- Hämta ett signeringscertifikat.
Mage.exe är ett .NET Framework-verktyg, så det installeras antingen automatiskt när du installerar .NET Framework med Visual Studio eller så laddas det ner med Windows SDK, under Windows SDK-signeringsverktyg för skrivbordsappar.
Du hittar den i sökvägen C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools. När du har laddat ner mage.exe till ditt system måste du ställa in PATH-miljövariabeln till mage.exe.

Mage-kommandon och parametrar
Du kan också se detta genom att använda mage -help eller mage -help verbose i din CMD.
| -s, -Sign [Signeringsalternativ] | Använder ett nyckelpar eller ett X509-certifikat för att signera en fil. Signaturer infogas som XML-element inuti filerna. Du måste vara ansluten till internet när du signerar ett manifest som anger en -TidsstämpelURI värde. |
| -ver, -Verifiera [manifest-filnamn] | Verifierar att manifestet är korrekt signerat. Kan inte kombineras med andra kommandon. |
| -a, -Algoritm | Anger "sha256RSA" eller "sha1RSA" som algoritm för att generera beroendesammanfattningar. |
| -ch, -CertHash | Tillhandahåller certifikat-hash eller fingeravtryck |
| -ti, -TidsstämpelUri | Ange tidsstämpelns URL, t.ex. http://timestamp.digicert.com |
Använda kommandoraden och EV-certifikatet
Vi kommer att använda Mage.exe för att signera en fil
syntax
magiker-tecken -CertHash
mage-verifiera
Till exempel:
mage -sign CodeSignText.exe.manifest -CertHash f39dbe6bcfaa43ca39585aa40ab0a19bf29991cb -TimestampUri http://timestamp.digicert.com
Här,
| ange namnet på filen du vill signera eller sökvägen till filen, om den inte finns i samma katalog | |
| Ange fingeravtrycket eller hashen för ditt certifikat. Detta finns i detaljavsnittet för ditt certifikat. |

Ett exempel på det körda kommandot:

Verifiera ett signerat manifest
Kör efter signering mage -verify <file_name> för att bekräfta att signaturen är giltig. En lyckad verifiering rapporterar att signaturen kontrolleras mot det inbäddade certifikatet; ett fel innebär att manifestet antingen aldrig signerades korrekt eller har ändrats sedan signeringen. Behandla inte ett signeringskommando som returneras utan fel som bevis på en giltig signatur; verifiera alltid explicit.
Vanliga fel
| Fel | Troligtvis orsak | Fast |
|---|---|---|
| Certifikatet hittades inte / ogiltig hash | -CertHash-värdet matchar inte exakt certifikatets fingeravtryck i dess detaljvy | Kontrollera fingeravtrycket direkt från certifikatet istället för att återanvända ett värde från minnet eller en tidigare session |
| Signera-kommandot hänger sig eller får timeout | -TimestampUri har angetts men maskinen har ingen utgående internetåtkomst för att nå tidsstämpelservern. | Bekräfta utgående anslutning till tidsstämpelns URL, eller verifiera att en proxy inte blockerar den |
| magiker: kommandot känns inte igen | Miljövariabeln PATH var inte inställd på installationskatalogen mage.exe | Verifiera PATH-ingångspunkterna till rätt SDK-versions Verktygsmapp, eftersom sökvägen varierar beroende på SDK-version. |
Användning och rengöring av CI/CD
För upprepad signering i en pipeline, ange certifikatets hash och tidsstämpel-URI som pipelinevariabler istället för att hårdkoda dem i ett skript och lägg till mage -verify steg som ett obligatoriskt steg omedelbart efter signering så att bygget misslyckas på grund av en ogiltig signatur istället för att fortsätta tyst. Om ett certifikat importerades till en byggagent för testning, ta bort det från certifikatarkivet när pipelinen har bekräftats fungera.
Använda kommandoraden och självsignerat certifikat (från vår webbportal)
Den här metoden innebär också att man använder Mage (kommandoradsgränssnitt) som ger funktionalitet för att skapa, publicera, signera och hantera paket utan att ändra projektfilerna. Men först måste användaren generera ett självsignerat certifikat från vår webbportal. Därefter konverterar du det nedladdade certifikatet från .pem till .crt-format för bättre drift. När dessa steg har utförts korrekt, utför följande steg:
- ladda ner Certifikatkedja från vår skärm "Signeringsverktyg". Och packa upp den på din klientdator.
- Installera sedan rotcertifikatet i ditt system.
Steg:
-
Klicka på knappen INSTALLERA CERTIFIKAT.
-
I popup-fönstret "Importguiden" väljer du Nuvarande användare och trycker sedan på NÄSTA
-
I popup-fönstret "Certifikatarkiv" väljer du Betrodda rotcertifieringsutfärdare för rot-CA-certifikatet och klickar på NÄSTA.
-
När du har verifierat alla detaljer klickar du på SLUTFÖR.
- Efter att du har installerat rot-CA:n, installera den utfärdande CA:n från mappen Certificate Chain (intermediate.crt). Följ samma procedur, förutom att installera detta certifikat i Intermediära certifieringsmyndigheter.
- Efter att du har installerat den utfärdande certifikatutfärdaren, installera slutenhetscertifikatet (eller det självsignerade certifikatet från vår portal) i ditt system. Processen är densamma, förutom att detta certifikat kommer att installeras i Personlig lagra.
-
Kör repairstore- kommandot med hjälp av tumavtrycket för detta End Entity-certifikat. Så här:
certutil -f -repairstore -csp “Krypteringskonsulttjänst för nyckellagring” -användare “Min”
När alla dessa steg har slutförts kan du försöka köra kommandoradskommandot Mage med hjälp av certifikatets tumavtryck.
syntax
magiker-tecken -CertHash
mage-verifiera
Till exempel:
mage -sign CodeSignText.exe.manifest -CertHash f39dbe6bcfaa43ca39585aa40ab0a19bf29991cb -TimestampUri http://timestamp.digicert.com
Här,
| ange namnet på filen du vill signera eller sökvägen till filen, om den inte finns i samma katalog | |
| Ange fingeravtrycket eller hashen för ditt certifikat. Detta finns i detaljavsnittet på ditt certifikat. |
Ett exempel på ett utfört kommando

Slutsats
I dagens digitala landskap har det varit mycket viktigt att säkra sina digitala applikationer, filer, manifest etc. Utvecklare kan verifiera giltigheten och integriteten hos sina appar och ge konsumenterna sinnesro att produkten inte har ändrats genom att signera manifestet med "mage.exe".
För att verifiera programmets integritet och källa innan de installeras kan användare också använda verktyget för att verifiera signerade manifest. Att signera manifest är avgörande för att bevara säkerheten och förtroendet för distributionsprocedurer för Windows-plattformsprogramvara.
Krypteringskonsulting strävar efter att förse dig med nödvändiga verktyg och vägledning för att skapa en säkrare miljö. Vi är väl medvetna om hur viktig filsignering är för att skydda mot oförutsedda omständigheter. Vi är engagerade i din säkerhet och är här för att förse dig med den information och de verktyg du behöver för att säkra det som är viktigast för dig. Vi har en kodsigneringslösning som hjälper dig att signera dina applikationer. Du kan kontakta oss på [email protected] för att begära en demo av vår CodeSign Secure.
Vanliga frågor om partihandel med mat och dryck
Vad händer om jag signerar ett manifest utan tidsstämpel?
Signaturen förblir giltig endast tills signeringscertifikatet upphör att gälla, oavsett om manifestet har manipulerats. Inkludera alltid -TimestampUri så att signaturen förblir verifierbar baserat på när den signerades, inte när den senare kontrolleras.
Kontrollerar mage -verify något utöver själva signaturen?
Den verifierar att signaturen matchar manifestets aktuella innehåll och att den skapades av det refererade certifikatet. Den bekräftar inte oberoende att själva certifikatet fortfarande är betrott eller inte återkallat; den kontrollen sker separat mot certifikatkedjan.
- Key Takeaways
- Miljömatris
- Förutsättningar
- Mage-kommandon och parametrar
- Använda kommandoraden och EV-certifikatet
- Verifiera ett signerat manifest
- Vanliga fel
- Användning och rengöring av CI/CD
- Använda kommandoraden och självsignerat certifikat (från vår webbportal)
- Slutsats
- Vanliga frågor om partihandel med mat och dryck
