Delen via


Een app-pakket ondertekenen met SignTool

SignTool is een opdrachtregelprogramma dat wordt gebruikt om een app-pakket of bundel digitaal te ondertekenen met een certificaat. Het certificaat kan worden gemaakt door de gebruiker (voor testdoeleinden) of uitgegeven door een bedrijf (voor distributie). Als u een app-pakket ondertekent, krijgt de gebruiker verificatie dat de gegevens van de app niet zijn gewijzigd nadat het is ondertekend, terwijl ook de identiteit wordt bevestigd van de gebruiker of het bedrijf dat deze heeft ondertekend. SignTool kan versleutelde of niet-versleutelde app-pakketten en -bundels ondertekenen.

Belangrijk

Als u Visual Studio hebt gebruikt om uw app te ontwikkelen, is het raadzaam om de Visual Studio-wizard te gebruiken om uw app-pakket te maken en te ondertekenen. Zie Een UWP-app verpakken met Visual Studio en Een bureaublad-app verpakken vanuit broncode met behulp van Visual Studio voor meer informatie.

Zie Inleiding tot ondertekening van code voor meer informatie over ondertekening van programmacode en certificaten in het algemeen.

Vereiste voorwaarden

SignTool gebruiken

SignTool kan worden gebruikt voor het ondertekenen van bestanden, het verifiëren van handtekeningen of tijdstempels, het verwijderen van handtekeningen en meer. Voor het ondertekenen van een app-pakket richten we ons op de opdracht ondertekenen . Zie de naslagpagina voor SignTool voor volledige informatie over SignTool.

Het hash-algoritme bepalen

Wanneer u SignTool gebruikt om uw app-pakket of bundel te ondertekenen, moet het hash-algoritme dat in SignTool wordt gebruikt, hetzelfde algoritme zijn dat u hebt gebruikt om uw app te verpakken. Als u bijvoorbeeld MakeAppx.exe hebt gebruikt om uw app-pakket te maken met de standaardinstellingen, moet u SHA256 opgeven wanneer u SignTool gebruikt, omdat dit het standaardalgoritme is dat wordt gebruikt door MakeAppx.exe.

Als u wilt achterhalen welk hash-algoritme is gebruikt tijdens het verpakken van uw app, extraheert u de inhoud van het app-pakket en inspecteert u het AppxBlockMap.xml bestand. Zie Bestanden uit een pakket of bundel extraheren voor meer informatie over het uitpakken/extraheren van een app-pakket. De hash-methode bevindt zich in het BlockMap-element en heeft deze indeling:

<BlockMap xmlns="http://schemas.microsoft.com/appx/2010/blockmap"
HashMethod="http://www.w3.org/2001/04/xmlenc#sha256">

In deze tabel ziet u elke HashMethod-waarde en het bijbehorende hash-algoritme:

HashMethod-waarde Hash-algoritme
http://www.w3.org/2001/04/xmlenc#sha256 SHA256
http://www.w3.org/2001/04/xmldsig-more#sha384 SHA384
http://www.w3.org/2001/04/xmlenc#sha512 SHA512

Opmerking

Omdat het standaardalgoritme van SignTool SHA1 is (niet beschikbaar in MakeAppx.exe), moet u altijd een hash-algoritme opgeven wanneer u SignTool gebruikt.

Het app-pakket ondertekenen

Zodra u alle vereisten hebt en u hebt bepaald welk hash-algoritme is gebruikt om uw app te verpakken, kunt u deze ondertekenen.

De algemene opdrachtregelsyntaxis voor signtool-pakketondertekening is:

SignTool sign [options] <filename(s)>

Het certificaat dat wordt gebruikt om uw app te ondertekenen, moet een PFX-bestand zijn of worden geïnstalleerd in een certificaatarchief.

Gebruik de volgende syntaxis om uw app-pakket te ondertekenen met een certificaat uit een PFX-bestand:

SignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.appx
SignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.msix

Met de /a optie kan SignTool automatisch het beste certificaat kiezen.

Als uw certificaat geen PFX-bestand is, gebruikt u de volgende syntaxis:

SignTool sign /fd <Hash Algorithm> /n <Name of Certificate> <File Path>.appx
SignTool sign /fd <Hash Algorithm> /n <Name of Certificate> <File Path>.msix

U kunt ook de SHA1-hash van het gewenste certificaat opgeven in plaats van de naam van het certificaat< met behulp van >deze syntaxis:

SignTool sign /fd <Hash Algorithm> /sha1 <SHA1 hash> <File Path>.appx
SignTool sign /fd <Hash Algorithm> /sha1 <SHA1 hash> <File Path>.msix

Zie SignTool gebruiken om een bestand te ondertekenen voor meer voorbeelden

Houd er rekening mee dat sommige certificaten geen wachtwoord gebruiken. Als uw certificaat geen wachtwoord heeft, laat u '/p <Uw wachtwoord>' weg uit de voorbeeldopdrachten.

Zodra uw app-pakket is ondertekend met een geldig certificaat, kunt u uw pakket uploaden naar de Store. Zie App-inzendingen voor meer informatie over het uploaden en verzenden van apps naar de Store.