Unable to get artifact signing to work.

Phunction 5 Reputation points
2026-07-01T21:47:42.2066667+00:00

Hi, I need help getting the signing to work.

I have the Artifact Signing account setup and verified. I created a public trust certificate.

I assigned the Artifact Signing Certificate Profile Signer role.

However when I run signtool, I get this error:

Submitting digest for signing...

Unhandled managed exception

Azure.RequestFailedException: Service request failed.

Status: 403 (Forbidden)

I double checked the json file and it shows the correct account and certificate name and I have the correct endpoint of https://wus2.codesigning.azure.net

I thought it could be that I am logged into visual studio under a different account, I added this to my json:
"ExcludeCredentials": [

"VisualStudioCredential"

]

But no help there. I also tried:

az logout

az login and picked the correct account to sign in as then tried signtool, but same error.

I can't figure out what the issue is.

How do I trace what is causing the 403 error?

Artifact Signing
Artifact Signing

A fully managed end-to-end service for digitally signing code, documents, and applications. (formerly Trusted Signing)

0 comments No comments

Answer recommended by moderator
Phunction 5 Reputation points
2026-07-01T22:13:58.29+00:00

It worked after adding this to my json exludecredentials:

"EnvironmentCredential", "ManagedIdentityCredential", "SharedTokenCacheCredential", "VisualStudioCredential", "VisualStudioCodeCredential", "AzurePowerShellCredential", "AzureDeveloperCliCredential"

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

2 additional answers

Sort by: Most helpful
  1. Meha-MSFT 2,375 Reputation points Microsoft Employee Moderator
    2026-07-01T21:52:03.57+00:00

    Assuming you went through the mitigation steps here? https://learn.microsoft.com/en-us/azure/artifact-signing/faq#common-error-codes-and-mitigations

    Did you renew the identity validation recently?

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-07-01T21:47:55.48+00:00

    A 403 from Artifact Signing indicates authorization or configuration issues rather than a generic failure. Based on the documented mitigations, focus on these checks rather than tracing the HTTP call itself:

    1. Confirm subscription registration
      The Azure subscription that hosts the Artifact Signing account must be in status Registered for the Artifact Signing resource provider. A non-registered subscription is a documented cause of 403.
    2. Verify the signer identity and role assignment
      The identity that SignTool is actually using must have the Artifact Signing Certificate Profile Signer role on the Artifact Signing certificate profile.
      • Ensure that this role is assigned to the same user/service principal that is resolving via DefaultAzureCredential when SignTool runs.
      • For Private Trust scenarios, 403 can occur if the user object ID that signs is different from the user object ID that calls Get-azCodeSigningRootCert. The appropriate object ID must have the Artifact Signing Certificate Profile Signer role.
    3. Validate metadata.json configuration
      The JSON file must correctly reference:
      • Endpoint that matches the region where both the Artifact Signing account and certificate profile were created.
      • CodeSigningAccountName that matches the Artifact Signing account name.
      • CertificateProfileName that matches the certificate profile name. A mismatch in account name or certificate profile name is a documented cause of 403.
    4. Check dlib, SignTool, and runtime versions
      403 can also be triggered by client-side issues:
      • Confirm the Artifact Signing dlib package is correctly installed and referenced (path and name).
      • Use Windows SDK SignTool.exe version 10.0.2261.755 or later.
      • Ensure .NET 8 Runtime and Microsoft Visual C++ Redistributable are installed.
    5. Verify certificate profile and identity validation status
      • Identity validation must have a status of Completed.
      • The certificate profile must be Active.
        If either is not in the required state, signing requests can fail with 403.
    6. Check network access to the endpoint
      Confirm that the machine running SignTool can reach the Artifact Signing endpoint. The documentation notes that 403 may indicate a network issue; try the same operation from another machine or VM to rule out local firewall/proxy problems.
    7. Exclude conflicting credentials only as needed
      Adding "ExcludeCredentials": ["VisualStudioCredential"] is appropriate if Visual Studio is logged in with a different identity, but 403 indicates the effective identity still lacks required permissions or configuration. If working outside Azure, consider excluding ManagedIdentity as well when you see Azure.Identity.CredentialUnavailableException, though that is a different error than 403.

    If all of the above are correct and 403 persists, the next step is to open an Azure support ticket for Artifact Signing so the backend logs can be reviewed, as client-side tracing will not expose the full cause of a 403 from the service.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.