- Key Takeaways
- Omgevingsmatrix
- Pre-Benodigdheden
- Mage-opdrachten en parameters
- Gebruik van de opdrachtregel en EV-certificaat
- Een ondertekend manifest verifiëren
- Veel voorkomende fouten
- CI/CD-gebruik en -opruiming
- Gebruik de opdrachtregel en het zelfondertekende certificaat (van ons webportaal)
- Conclusie
- Veelgestelde Vragen / FAQ
"Mage.exe" is een opdrachtregelprogramma dat in het Windows-besturingssysteem wordt gebruikt voor het ondertekenen en verifiëren van softwaremanifesten. Mage Signing wordt voornamelijk gebruikt voor het ondertekenen van manifesten, dit zijn XML-bestanden die informatie bevatten over de implementatie en updates van een softwaretoepassing. Door "mage.exe" te gebruiken om het manifest te ondertekenen, kunnen ontwikkelaars de authenticiteit en integriteit van hun toepassingen garanderen, waardoor gebruikers erop kunnen vertrouwen dat de software niet is gecompromitteerd. De tool maakt ook de verificatie van ondertekende manifesten mogelijk, waardoor gebruikers de bron en integriteit van de toepassing kunnen controleren vóór installatie.
Een manifestbestand ondertekenen met Mage, in het kort: lopen
mage -sign <file> -CertHash <fingerprint> -TimestampUri <timestamp_server>, controleer het vervolgens metmage -verify <file>Voeg altijd een tijdstempel toe; zonder tijdstempel wordt de handtekening ongeldig zodra het ondertekeningscertificaat verloopt, ongeacht of het manifest zelf ooit is gemanipuleerd.
Key Takeaways
- -CertHash moet de exacte certificaatvingerafdruk zijn uit de detailweergave van het certificaat, niet een sleutelnaam of alias; een afwijking hier is de meest voorkomende oorzaak van een mislukte ondertekeningsopdracht.
- -TimestampUri vereist een actieve internetverbinding op het moment van ondertekening om de tijdstempelserver te bereiken; het weglaten ervan is geldige syntax, maar de resulterende handtekening is dan niet langdurig geldig.
Omgevingsmatrix
| Bestanddeel | eis |
|---|---|
| Gereedschap | Mage.exe is een .NET Framework-tool die is opgenomen in de ondertekeningstools van de Windows SDK of kan worden geïnstalleerd via de .NET Framework-component van Visual Studio. |
| . NET Framework | 4.0 of hoger |
| Gebruikelijk installatiepad | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools (varieert per SDK-versie) |
| Certificaat | Certificaat voor ondertekening door de eindgebruiker; zowel een EV-certificaat als een zelfondertekend certificaat van het portaal van Encryption Consulting worden ondersteund. |
| Sleutelopslag | FIPS 140-2 Level 3 HSM met proxy-gebaseerde toegang in de implementatie van EC. |
| Hashing-algoritme | sha256RSA (aanbevolen) of sha1RSA, ingesteld via -Algorithm |
Bij Encryption Consulting beschikken we over uitgebreide expertise op het gebied van compliance-normen, waaronder FIPS 140-2 Level 3 HSM's . We hechten veel waarde aan het voldoen aan de branchevoorschriften en -normen voor uw pakketondertekeningsproces. Om de beveiliging te verbeteren, maken we gebruik van proxy-gebaseerde toegang tot de HSM, waardoor uw privésleutel beschermd blijft tegen ongeautoriseerde toegang en mogelijke inbreuken. We erkennen dat elke organisatie unieke behoeften heeft en daarom bieden we oplossingen op maat die zijn afgestemd op uw specifieke situatie. Zo zorgen we voor een veilig ondertekeningsproces dat vertrouwen in onze diensten wekt.
Pre-Benodigdheden
- Installeer Mage op uw systeem.
- Installeer .NET Framework 4 of hoger.
- Vraag een ondertekeningscertificaat aan.
Mage.exe is een .NET Framework-hulpprogramma. Het wordt dus automatisch geïnstalleerd wanneer u .NET Framework installeert met Visual Studio, of u downloadt het via Windows SDK, onder Windows SDK-ondertekeningshulpprogramma's voor desktop-apps.
U vindt het in het bestandspad C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools. Nadat u mage.exe naar uw systeem hebt gedownload, moet u de PATH-omgevingsvariabele instellen op mage.exe.

Mage-opdrachten en parameters
U kunt dit ook zien door mage -help of mage -help verbose in uw CMD te gebruiken
| -s, -Sign [Tekenopties] | Gebruikt een sleutelpaar of X509-certificaat om een bestand te ondertekenen. Handtekeningen worden als XML-elementen in de bestanden ingevoegd. U moet verbonden zijn met internet wanneer u een manifest ondertekent waarin een -TijdstempelUri waarde. |
| -ver, -Verifiëren [manifest-bestandsnaam] | Controleert of het manifest correct is ondertekend. Kan niet worden gecombineerd met andere opdrachten. |
| -a, -Algoritme | Geeft 'sha256RSA' of 'sha1RSA' op als het algoritme waarmee afhankelijkheidsdigests moeten worden gegenereerd. |
| -ch, -CertHash | Biedt certificaathash of vingerafdruk |
| -ti, -TijdstempelUri | Geef de URL van het tijdstempel op, bijvoorbeeld: http://timestamp.digicert.com |
Gebruik van de opdrachtregel en EV-certificaat
We gebruiken Mage.exe om een bestand te ondertekenen
Syntaxis
mage -teken -CertHash
mage-verify
Bijvoorbeeld:
mage -sign CodeSignText.exe.manifest -CertHash f39dbe6bcfaa43ca39585aa40ab0a19bf29991cb -TimestampUri http://timestamp.digicert.com
Hier
| Geef de naam op van het bestand dat u wilt ondertekenen of het pad van het bestand, als het zich niet in dezelfde directory bevindt | |
| Specificeer de vingerafdruk of hash van uw certificaat. Deze vindt u in het detailgedeelte van uw certificaat. |

Een voorbeeld van de uitgevoerde opdracht:

Een ondertekend manifest verifiëren
Na het ondertekenen, rennen mage -verify <file_name> Om te bevestigen dat de handtekening geldig is. Een succesvolle verificatie meldt dat de handtekening overeenkomt met het ingebedde certificaat; een fout betekent dat het manifest nooit correct is ondertekend of dat het sinds de ondertekening is gewijzigd. Beschouw een ondertekeningsopdracht die zonder foutmelding wordt geretourneerd niet als bewijs van een geldige handtekening; verifieer altijd expliciet.
Veel voorkomende fouten
| Fout | waarschijnlijke oorzaak | Bepalen |
|---|---|---|
| Certificaat niet gevonden / ongeldige hash | -De CertHash-waarde komt niet exact overeen met de vingerafdruk van het certificaat in de detailweergave. | Controleer de vingerafdruk rechtstreeks vanaf het certificaat in plaats van een waarde uit het geheugen of een eerdere sessie te hergebruiken. |
| Het ondertekeningscommando blijft hangen of loopt vast. | -TimestampUri is opgegeven, maar de machine heeft geen uitgaande internettoegang om de tijdstempelserver te bereiken. | Controleer of de uitgaande verbinding met de URL van het tijdstempel werkt, of controleer of een proxy deze niet blokkeert. |
| mage: commando niet herkend | De omgevingsvariabele PATH was niet ingesteld op de installatiemap van mage.exe. | Controleer nogmaals of de PATH-variabele verwijst naar de juiste Tools-map van de SDK-versie, aangezien het pad per SDK-versie verschilt. |
CI/CD-gebruik en -opruiming
Voor herhaaldelijk ondertekenen in een pipeline, geef de certificaathash en de timestamp-URI op als pipelinevariabelen in plaats van ze in een script vast te leggen, en voeg de volgende toe: mage -verify Voeg deze stap direct na het ondertekenen toe als een verplichte fase, zodat de build mislukt bij een ongeldige handtekening in plaats van stilzwijgend verder te gaan. Als een certificaat voor testdoeleinden in een buildagent is geïmporteerd, verwijder het dan uit de certificaatopslag zodra is bevestigd dat de pipeline werkt.
Gebruik de opdrachtregel en het zelfondertekende certificaat (van ons webportaal)
Deze methode maakt ook gebruik van de Mage (Command Line Interface) die functionaliteit biedt voor het maken, publiceren, ondertekenen en beheren van pakketten zonder de projectbestanden te wijzigen. Maar eerst moet de gebruiker een zelfondertekend certificaat genereren via onze webportal. Daarna converteert u het gedownloade certificaat van .pem naar .crt voor een betere werking. Wanneer deze stappen succesvol zijn uitgevoerd, voert u de volgende stappen uit:
- Download de Certificaatketen vanaf ons scherm 'Ondertekeningstools'. En pak het uit op uw clientcomputer.
- Installeer daarna het rootcertificaat op uw systeem.
Stappen:
-
Klik op de knop 'CERTIFICAAT INSTALLEREN'.
-
Selecteer in het pop-upvenster 'Import Wizard' de huidige gebruiker en klik vervolgens op VOLGENDE
-
Kies in het pop-upvenster ‘Certificaatopslag’ de optie Vertrouwde basiscertificeringsinstanties voor het basis-CA-certificaat en klik op VOLGENDE.
-
Nadat u alle gegevens heeft gecontroleerd, klikt u op VOLTOOIEN.
- Nadat u de root-CA hebt geïnstalleerd, installeert u de uitgevende CA vanuit de map Certificate Chain (intermediate.crt). Volg dezelfde procedure, maar installeer dit certificaat in Tussenliggende certificeringsinstanties.
- Nadat u de uitgevende CA succesvol hebt geïnstalleerd, installeert u het eindentiteitscertificaat (of het zelfondertekende certificaat van onze portal) in uw systeem. Het proces is hetzelfde, behalve dat dit certificaat wordt geïnstalleerd in de persoonlijke shop in shop.
-
Voer de repairstore -opdracht uit met behulp van de vingerafdruk van dit eindgebruikerscertificaat. Bijvoorbeeld zo:
certutil -f -repairstore -csp “Encryptie Consulting Sleutelopslag Provider” -user “Mijn”
Wanneer al deze stappen succesvol zijn voltooid, kunt u proberen de Mage-opdrachtregelopdracht uit te voeren met behulp van de vingerafdruk van dit certificaat.
Syntaxis
mage -teken -CertHash
mage-verify
Bijvoorbeeld:
mage -sign CodeSignText.exe.manifest -CertHash f39dbe6bcfaa43ca39585aa40ab0a19bf29991cb -TimestampUri http://timestamp.digicert.com
Hier
| Geef de naam op van het bestand dat u wilt ondertekenen of het pad van het bestand, als het zich niet in dezelfde directory bevindt | |
| Specificeer de vingerafdruk of hash van uw certificaat. Deze vindt u in het detailgedeelte van uw certificaat. |
Een voorbeeld van een uitgevoerde opdracht

Conclusie
In het huidige digitale landschap is het beveiligen van digitale applicaties, bestanden, manifesten, enz. cruciaal. Ontwikkelaars kunnen de geldigheid en integriteit van hun apps verifiëren en consumenten de zekerheid bieden dat het product niet is gewijzigd door het manifest te ondertekenen met "mage.exe".
Om de integriteit en bron van de applicatie te verifiëren voordat deze wordt geïnstalleerd, kunnen gebruikers de tool ook gebruiken om ondertekende manifesten te verifiëren. Het ondertekenen van manifesten is essentieel voor het behoud van de veiligheid en het vertrouwen in de implementatieprocedures van Windows-platformsoftware.
Encryption Consulting streeft ernaar u de nodige tools en begeleiding te bieden om een veiligere omgeving te creëren. We zijn ons terdege bewust van het belang van bestandsondertekening ter bescherming tegen onvoorziene omstandigheden. Wij zetten ons in voor uw veiligheid en staan klaar om u te voorzien van de informatie en tools die u nodig hebt om de zaken die voor u het belangrijkst zijn te beveiligen. We bieden een codeondertekeningsoplossing waarmee u uw applicaties kunt ondertekenen. U kunt contact met ons opnemen via [email protected] om een demo van onze CodeSign Secure aan te vragen.
Veelgestelde Vragen / FAQ
Wat gebeurt er als ik een manifest onderteken zonder tijdstempel?
De handtekening blijft alleen geldig tot het certificaat voor ondertekening verloopt, ongeacht of het manifest is gemanipuleerd. Voeg altijd -TimestampUri toe, zodat de handtekening verifieerbaar blijft op basis van het moment van ondertekening, en niet op basis van een latere controle.
Controleert `mage -verify` naast de handtekening zelf nog iets anders?
Het controleert of de handtekening overeenkomt met de huidige inhoud van het manifest en of deze is gegenereerd door het betreffende certificaat. Het controleert niet afzonderlijk of het certificaat zelf nog steeds vertrouwd of niet ingetrokken is; die controle vindt afzonderlijk plaats voor de certificaatketen.
- Key Takeaways
- Omgevingsmatrix
- Pre-Benodigdheden
- Mage-opdrachten en parameters
- Gebruik van de opdrachtregel en EV-certificaat
- Een ondertekend manifest verifiëren
- Veel voorkomende fouten
- CI/CD-gebruik en -opruiming
- Gebruik de opdrachtregel en het zelfondertekende certificaat (van ons webportaal)
- Conclusie
- Veelgestelde Vragen / FAQ
