Ondertekeningsintegraties instellen voor het gebruik van vertrouwde ondertekening
Vertrouwde ondertekening ondersteunt momenteel de volgende ondertekeningsintegraties:
- SignTool
- GitHub Actions
- Azure DevOps-taken
- PowerShell voor Authenticode
- Azure PowerShell (App Control for Business CI-beleid)
- Vertrouwde ondertekenings-SDK
We werken voortdurend aan de ondersteuning van meer ondertekeningsintegraties. We werken de ondersteunde integratielijst bij wanneer er meer integraties beschikbaar zijn.
In dit artikel wordt uitgelegd hoe u elke ondersteunde integratie van vertrouwde ondertekening instelt.
SignTool instellen voor het gebruik van vertrouwde ondertekening
In deze sectie wordt uitgelegd hoe u SignTool instelt voor gebruik met Vertrouwde ondertekening.
Vereisten
U hebt het volgende nodig om de stappen in dit artikel te voltooien:
- Een vertrouwd handtekeningaccount, identiteitsvalidatie en certificaatprofiel.
- Afzonderlijke of groepstoewijzing van de rol Vertrouwde handtekeningcertificaatprofielondertekening.
- Windows 10 versie 1809/oktober 2018 Update of hoger, Windows 11 (alle versies) of Windows Server 2016 of hoger
Installatieprogramma voor vertrouwde ondertekeningsclients
Trusted Signing Client Tools voor SignTool.exe is een bibliotheekinvoegtoepassing waarvoor de volgende onderdelen zijn vereist:
- Windows SDK SignTool.exe (minimumversie: 10.0.2261.755)
- .NET 8 Runtime
- Microsoft Visual C++ Redistributable
- Dlib van vertrouwde ondertekeningsclient
Ter vereenvoudiging van deze installatie is er een MSI-installatiepakket dat beschikbaar is voor downloaden, samen met een Setup.exe.
Installeren vanaf de Windows-pakketbeheerder
Het installatieprogramma voor vertrouwde ondertekeningsclients is beschikbaar op de Windows-pakketbeheerder (WinGet).
Notitie
winget is standaard beschikbaar in Windows 11 en moderne versies van Windows 10. Het is echter mogelijk niet geïnstalleerd in oudere versies van Windows. Zie de winget-documentatie voor installatie-instructies.
winget install -e --id Microsoft.Azure.TrustedSigningClientTools
De -e
optie is om ervoor te zorgen dat het officiële pakket clienthulpprogramma's voor vertrouwde ondertekening is geïnstalleerd. Met deze opdracht wordt standaard de nieuwste versie geïnstalleerd. Als u een versie wilt opgeven, voegt u een -v <version>
met de gewenste versie toe aan de opdracht.
Installeren vanuit PowerShell
Als u de hulpprogramma's voor vertrouwde ondertekeningsclients wilt installeren met behulp van PowerShell, start u PowerShell als beheerder en voert u de volgende opdracht uit:
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri "https://download.microsoft.com/download/6d9cb638-4d5f-438d-9f21-23f0f4405944/TrustedSigningClientTools.msi" -OutFile .\TrustedSigningClientTools.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I TrustedSigningClientTools.msi /quiet'; Remove-Item .\TrustedSigningClientTools.msi
Overzicht van handmatige installatiestappen
- Download en installeer SignTool.
- Download en installeer de .NET 8 Runtime.
- Download en installeer het dlib-pakket voor vertrouwde ondertekening.
- Maak een JSON-bestand om uw vertrouwde handtekeningaccount en een certificaatprofiel op te geven.
- Als u een bestand wilt ondertekenen, roept u SignTool aan.
SignTool downloaden en installeren
Vertrouwde ondertekening vereist het gebruik van SignTool voor het ondertekenen van bestanden in Windows, met name de versie van SignTool.exe die zich in de Windows 10 SDK 10.0.2261.755 of hoger bevindt. U kunt de volledige Windows 10 SDK installeren via het Visual Studio Installer of deze afzonderlijk downloaden en installeren.
SignTool downloaden en installeren:
Download de nieuwste versie van SignTool en Windows Build Tools NuGet op Microsoft.Windows.SDK.BuildTools.
Installeer SignTool vanuit de Windows SDK (minimaal versie: 10.0.2261.755, 20348 Windows SDK-versie wordt niet ondersteund met onze dlib).
Een andere optie is het gebruik van het meest recente nuget.exe-bestand om het nieuwste NuGet-pakket voor Windows SDK Build Tools te downloaden en uit te pakken met behulp van PowerShell:
Download nuget.exe door de volgende downloadopdracht uit te voeren:
Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe
Download het NuGet-pakket Windows SDK Build Tools en pak het uit door de volgende installatieopdracht uit te voeren:
.\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.22621.3233 -x
.NET 8.0 Runtime downloaden en installeren
Voor de onderdelen die SignTool gebruikt om te interfacen met Trusted Signing, is de installatie van .NET 8.0 Runtime vereist. U hebt alleen de core .NET 8.0 Runtime nodig. Zorg ervoor dat u de juiste platformruntime installeert, afhankelijk van de versie van SignTool die u wilt uitvoeren. U kunt ook gewoon beide installeren
Voorbeeld:
- Voor x64-SignTool.exe: .NET 8.0 Runtime - Windows x64 installer downloaden
- Voor x86-SignTool.exe: .NET 8.0 Runtime downloaden - Windows x86 Installer
Het dlib-pakket voor vertrouwde ondertekening downloaden en installeren
Het dlib-pakket vertrouwde ondertekening (een .zip-bestand) downloaden en installeren:
Download het dlib-pakket voor vertrouwde ondertekening.
Pak de inhoud uit die met Trusted Signing is gezipt en installeer deze op het ondertekeningsknooppunt in uw keuze van de map. Het knooppunt moet het knooppunt zijn waar u SignTool gebruikt om bestanden te ondertekenen.
Een andere optie is om het dlib-pakket voor vertrouwde ondertekening via NuGet te downloaden, vergelijkbaar met het NuGet-pakket voor Windows SDK Build Tools:
.\nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.53 -x
Een JSON-bestand maken
Als u zich wilt aanmelden met vertrouwde ondertekening, moet u de details opgeven van uw vertrouwde handtekeningaccount en certificaatprofiel dat is gemaakt als onderdeel van de vereisten. U geeft deze informatie op in een JSON-bestand door de volgende stappen uit te voeren:
Maak een nieuw JSON-bestand (bijvoorbeeld metadata.json).
Voeg de specifieke waarden voor uw vertrouwde handtekeningaccount en certificaatprofiel toe aan het JSON-bestand. Zie het metadata.sample.json-bestand dat is opgenomen in het dlib-pakket vertrouwde ondertekening of gebruik het volgende voorbeeld voor meer informatie:
{ "Endpoint": "<Trusted Signing account endpoint>", "CodeSigningAccountName": "<Trusted Signing account name>", "CertificateProfileName": "<Certificate profile name>", "CorrelationId": "<Optional CorrelationId value>" }
De
"Endpoint"
URI-waarde moet een URI zijn die overeenkomt met de regio waarin u uw vertrouwde handtekeningaccount en certificaatprofiel hebt gemaakt bij het instellen van deze resources. De tabel bevat regio's en de bijbehorende URI's.Regio Regioklassevelden Eindpunt-URI-waarde VS - oost EastUS https://eus.codesigning.azure.net
VS - west [ 1] WestUS3 https://wus3.codesigning.azure.net
VS - west-centraal WestCentralUS https://wcus.codesigning.azure.net
VS - west 2 WestUS2 https://wus2.codesigning.azure.net
Europa - noord Noord-Europa https://neu.codesigning.azure.net
Europa -west West-Europa https://weu.codesigning.azure.net
1 Het optionele
"CorrelationId"
veld is een ondoorzichtige tekenreekswaarde die u kunt opgeven om tekenaanvragen te correleren met uw eigen werkstromen, zoals build-id's of computernamen.
Verificatie
Deze taak voert verificatie uit met behulp van DefaultAzureCredential, waarmee een reeks verificatiemethoden in volgorde wordt geprobeerd. Als één methode mislukt, wordt de volgende methode geprobeerd totdat de verificatie is geslaagd.
Elke verificatiemethode kan afzonderlijk worden uitgeschakeld om onnodige pogingen te voorkomen.
Als u bijvoorbeeld specifiek met EnvironmentCredential verificatiet, schakelt u de andere referenties uit met de volgende invoer:
ExcludeEnvironmentCredential: false ExcludeManagedIdentityCredential: true ExcludeSharedTokenCacheCredential: true ExcludeVisualStudioCredential: true ExcludeVisualStudioCodeCredential: true ExcludeAzureCliCredential: true ExcludeAzurePowershellCredential: true ExcludeInteractiveBrowserCredential: true
Als u bijvoorbeeld een AzureCliCredential gebruikt, willen we ook een poging om te verifiëren overslaan met de verschillende methoden die voorafgaan in volgorde.
SignTool gebruiken om een bestand te ondertekenen
SignTool aanroepen om een bestand te ondertekenen:
Noteer waar uw SDK-buildhulpprogramma's, de geëxtraheerde Azure.CodeSigning.Dlib en uw metadata.json-bestand zich bevinden (uit eerdere secties).
Vervang de tijdelijke aanduidingen in het volgende pad door de specifieke waarden die u in stap 1 hebt genoteerd:
& "<Path to SDK bin folder>\x64\signtool.exe" sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "<Path to Trusted Signing dlib bin folder>\x64\Azure.CodeSigning.Dlib.dll" /dmdf "<Path to metadata file>\metadata.json" <File to sign>
- Zowel de x86- als de x64-versie van SignTool zijn opgenomen in de Windows SDK. Zorg ervoor dat u verwijst naar de bijbehorende versie van Azure.CodeSigning.Dlib.dll. Het voorgaande voorbeeld is voor de x64-versie van SignTool.
- Zorg ervoor dat u de aanbevolen Windows SDK-versie gebruikt in de afhankelijkheden die aan het begin van dit artikel worden vermeld of dat het dlib-bestand niet werkt.
Vertrouwde handtekeningcertificaten hebben een geldigheid van drie dagen, dus tijdstempels zijn essentieel voor een continue geslaagde validatie van een handtekening na die geldigheidsperiode van drie dagen. Vertrouwde ondertekening raadt het gebruik aan van de Microsoft Public RSA Time Stamping Authority van Vertrouwde ondertekening: http://timestamp.acs.microsoft.com/
.
Andere ondertekeningsintegraties gebruiken met Vertrouwde ondertekening
U kunt ook de volgende hulpprogramma's of platforms gebruiken om registratieintegraties in te stellen met Trusted Signing.
GitHub Actions: Zie Trusted Signing - Actions in GitHub Marketplace voor meer informatie over het gebruik van een GitHub-actie voor vertrouwde ondertekening. Voltooi de instructies voor het instellen en gebruiken van een GitHub-actie.
Azure DevOps-taak: Als u de Azure DevOps-taak vertrouwde ondertekening wilt gebruiken, raadpleegt u Vertrouwde aanmelding in Visual Studio Marketplace. Voltooi de instructies voor de installatie.
PowerShell voor Authenticode: Als u PowerShell wilt gebruiken voor vertrouwde ondertekening, raadpleegt u Vertrouwde ondertekening in de PowerShell-galerie om de PowerShell-module te installeren.
Azure PowerShell - App Control for Business CI-beleid: Volg de instructies in Sign a new CI policy (Trusted Signing for Code Integrity) (Trusted Signing for Code Integrity, CI) voor het ondertekenen van een nieuw CI-beleid en zie De PowerShell-module Az.CodeSigning.
Trusted Signing SDK: Als u uw eigen ondertekeningsintegratie wilt maken, kunt u onze opensource Trusted Signing SDK gebruiken.
Azure.Developer.TrustedSigning.CryptoProvider: vereenvoudigt de integratie van de service met een .NET-cryptoprovider die de integratie van het service-eindpunt van de consument abstraheert.