Skip to content

feat(ci): sign Windows installers with Azure Trusted Signing - #1101

Draft
p0wline wants to merge 1 commit into
developfrom
feat/azure-code-signing
Draft

feat(ci): sign Windows installers with Azure Trusted Signing#1101
p0wline wants to merge 1 commit into
developfrom
feat/azure-code-signing

Conversation

@p0wline

@p0wline p0wline commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Integrates Azure Trusted Signing into the Windows CI build pipeline, based on the signing POC (https://github.com/p0wline/cosmian-signing-poc).

Changes

Adds a Sign installers with Azure Trusted Signing step in build_windows.yml between Rename installers to new convention and Upload build artifacts. Signs both cosmian-kms-server and ckms .exe installers using azure/artifact-signing-action@v2.

Configuration:

  • Endpoint: https://weu.codesigning.azure.net/
  • Account: cosmian-codesigning-test
  • Profile: cosmian-test-profile
  • Digest: SHA256 with RFC3161 timestamp

Required secrets

The following secrets must be set in the repository:

  • AZURE_TENANT_ID_POC
  • AZURE_CLIENT_ID_POC
  • AZURE_CLIENT_SECRET_POC

POC findings

Azure Trusted Signing uses an OV certificate (not EV). The cryptographic signature is valid, but SmartScreen will block binaries on first download until the certificate builds reputation (weeks/months). If immediate SmartScreen bypass is required, an EV code signing certificate (DigiCert, Sectigo, GlobalSign) would be needed instead.

@p0wline

p0wline commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Changement de plan : le workflow de signature sera un reusable workflow dans Cosmian/reusable_scripts.

@p0wline p0wline closed this Aug 6, 2026
@p0wline p0wline reopened this Aug 6, 2026
@p0wline
p0wline force-pushed the feat/azure-code-signing branch 2 times, most recently from a0e1b03 to 22782fc Compare August 6, 2026 12:36
Replace inline azure/artifact-signing-action step with a dedicated
sign job that calls Cosmian/reusable_workflows sign-windows-artifacts.yml.

Flow:
  cargo-build → upload unsigned artifact (-release)
  sign        → download, sign, upload signed artifact (-release-signed)
  test        → download -release-signed
  publish     → download -release-signed

Secrets required: AZURE_TENANT_ID_POC, AZURE_CLIENT_ID_POC, AZURE_CLIENT_SECRET_POC
@p0wline
p0wline force-pushed the feat/azure-code-signing branch from 22782fc to c1e69aa Compare August 6, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant