Microsoft.ArtifactSigning.Client
1.0.128
Prefix Reserved
dotnet add package Microsoft.ArtifactSigning.Client --version 1.0.128
NuGet\Install-Package Microsoft.ArtifactSigning.Client -Version 1.0.128
<PackageReference Include="Microsoft.ArtifactSigning.Client" Version="1.0.128" />
<PackageVersion Include="Microsoft.ArtifactSigning.Client" Version="1.0.128" />
<PackageReference Include="Microsoft.ArtifactSigning.Client" />
paket add Microsoft.ArtifactSigning.Client --version 1.0.128
#r "nuget: Microsoft.ArtifactSigning.Client, 1.0.128"
#:package Microsoft.ArtifactSigning.Client@1.0.128
#addin nuget:?package=Microsoft.ArtifactSigning.Client&version=1.0.128
#tool nuget:?package=Microsoft.ArtifactSigning.Client&version=1.0.128
Artifact Signing Client (dlib)
This package provides the dlib component required to sign code using Artifact Signing with SignTool.
Prerequisites
1. Install .NET 8.0 Runtime
Install the .NET 8.0 Runtime matching your SignTool architecture:
- For x64 SignTool: Download .NET 8.0 Runtime - Windows x64 installer
- For x86 SignTool: Download .NET 8.0 Runtime - Windows x86 installer
2. Install Windows SDK
Ensure you have a compatible version of Windows SDK with SignTool.exe installed.
Installation
Option 1: Direct Download
- Download the Microsoft.ArtifactSigning.Client package
- Extract the contents to your preferred directory on your signing node
Option 2: NuGet Package Manager
.\nuget.exe install Microsoft.ArtifactSigning.Client -x
Configuration
Create a metadata.json file with your Artifact Signing account details:
{
"Endpoint": "<Artifact Signing account endpoint>",
"CodeSigningAccountName": "<Artifact Signing account name>",
"CertificateProfileName": "<Certificate profile name>",
"CorrelationId": "<Optional CorrelationId value>"
}
Note: A
metadata.sample.jsonfile is included in this package as a template.
Regional Endpoints
The Endpoint URI must match the region where your Artifact Signing account was created:
| Region | Endpoint URI |
|---|---|
| Brazil South | https://brs.codesigning.azure.net |
| Central US | https://cus.codesigning.azure.net |
| East US | https://eus.codesigning.azure.net |
| Japan East | https://jpe.codesigning.azure.net |
| Korea Central | https://krc.codesigning.azure.net |
| North Central US | https://ncus.codesigning.azure.net |
| North Europe | https://neu.codesigning.azure.net |
| Poland Central | https://plc.codesigning.azure.net |
| South Central US | https://scus.codesigning.azure.net |
| Switzerland North | https://swn.codesigning.azure.net |
| West Central US | https://wcus.codesigning.azure.net |
| West Europe | https://weu.codesigning.azure.net |
| West US | https://wus.codesigning.azure.net |
| West US 2 | https://wus2.codesigning.azure.net |
| West US 3 | https://wus3.codesigning.azure.net |
Important: A region/endpoint mismatch commonly causes a
403 Forbiddenerror during signing.
Usage
Basic Signing Command
signtool.exe sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "<Path to dlib>\bin\x64\Azure.CodeSigning.Dlib.dll" /dmdf "<Path to metadata.json>" <File to sign>
Important Notes:
- Match the dlib architecture (x86/x64) with your SignTool version
- Use
bin\x64\Azure.CodeSigning.Dlib.dllfor x64 SignTool - Use
bin\x86\Azure.CodeSigning.Dlib.dllfor x86 SignTool - Time stamping is critical for continued signature validation beyond the 3-day certificate validity period
Example
signtool.exe sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "C:\ArtifactSigning\bin\x64\Azure.CodeSigning.Dlib.dll" /dmdf "C:\ArtifactSigning\metadata.json" MyApp.exe
Authentication
The dlib uses DefaultAzureCredential, which attempts multiple authentication methods in sequence. If one fails, it tries the next until authentication succeeds.
Supported Authentication Methods
- Environment Credential
- Managed Identity Credential
- Workload Identity Credential
- Shared Token Cache Credential
- Visual Studio Credential
- Visual Studio Code Credential
- Azure CLI Credential
- Azure PowerShell Credential
- Azure Developer CLI Credential
- Interactive Browser Credential
Limiting Authentication Methods
To use a specific credential (e.g., Azure CLI only), exclude others in your metadata.json:
{
"Endpoint": "https://eus.codesigning.azure.net",
"CodeSigningAccountName": "MySigningAccount",
"CertificateProfileName": "MyProfile",
"ExcludeCredentials": [
"ManagedIdentityCredential",
"WorkloadIdentityCredential",
"SharedTokenCacheCredential",
"VisualStudioCredential",
"VisualStudioCodeCredential",
"AzurePowerShellCredential",
"AzureDeveloperCliCredential",
"InteractiveBrowserCredential"
]
}
Troubleshooting
Common Issues
403 Forbidden Error
- Verify your
EndpointURI matches your account's region - Check that your Azure credentials have access to the Artifact Signing account
- Ensure the
CodeSigningAccountNameandCertificateProfileNameare correct
DLL Not Found
- Confirm .NET 8.0 Runtime is installed
- Verify the dlib path matches your SignTool architecture (x86 vs x64)
- Check that all DLL dependencies are present in the bin folder
Authentication Failures
- Ensure you're authenticated via one of the supported credential types
- Try running
az loginif using Azure CLI Credential - Check that excluded credentials don't include your intended authentication method
Additional Resources
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Rebrand package to Artifact Signing.