The certificate profile resource carries the subject on its issued certificate (subjectName), not as a profile field; the script now derives TRUSTED_SIGNING_SUBJECT from the CN of the active certificate and trims the endpoint's trailing slash. Ran against the live account: see #93.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
Turns on the shared release workflow's `sign` input: every published exe/dll is
signed with Azure Artifact Signing (SHA-256, RFC 3161 timestamp) before packing,
and vpk signs Setup.exe and the update stub with the same identity. The identity
is an Entra application with a federated credential bound to this repository's
`release` environment and the Certificate Profile Signer role on the profile
only; it is configuration (release-environment variables), not a secret.
A verify-signatures job downloads the published Setup.exe, portable and CLI zips
and runs signtool verify /pa /all plus Get-AuthenticodeSignature on every gclo
executable, checking status, timestamp and the validated publisher name, so an
unsigned release fails the run. Set-ReleaseSigning.ps1 records the idempotent
Azure configuration; RELEASING.md, SECURITY.md, README, ADR 0008 and the threat
model describe the result and local signing.
Closes#57 (standards exception EX-0002 closes for gclo after the first signed
release verifies).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>