P0-3: Windows code-signing certificate #18
Labels
No labels
data-integrity
engine
platform
procurement
remote
scaffold
ui
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Cordy/cairn-desktop#18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Manual task. Depends on P0-1.
The 2023 rule that changes everything
Since 1 June 2023, the CA/Browser Forum requires the private key for code-signing certificates to live on a FIPS 140-2 Level 2 or Common Criteria EAL 4+ hardware token or HSM. You can no longer receive a plain
.pfxfile and sign with it. This applies to both OV and EV.Consequence for CI: the Windows build runner must either have the physical token attached, or use a cloud HSM signing service. Plan this before buying.
Two decisions, both counter-intuitive
1. Buy OV, not EV. EV certificates used to grant instant Microsoft SmartScreen reputation. They no longer do — EV-signed binaries now build reputation exactly like OV ones, and each new file hash resets reputation regardless. Buy EV only if enterprise procurement explicitly demands it, or if you ever sign kernel-mode drivers. Paying the EV premium to avoid SmartScreen warnings is money wasted.
2. Check Azure Trusted Signing eligibility first — it is probably unavailable to you. At ~$9.99/mo (Basic tier) it is by far the cheapest modern option and removes the physical-token problem entirely. But it is restricted to US, Canadian, EU or UK businesses. Switzerland is not in that list, so a Swiss entity likely does not qualify.
Validity is now annual
From 15 February 2026, all newly issued or reissued code-signing certificates max out at 1-year validity. Multi-year certificates are gone. Put renewal in the calendar as a recurring annual task the day you buy it.
Steps
signtool sign /fd SHA256 /tr <timestamp-url> /td SHA256against a throwaway binary.Acceptance criteria
Swiss Cairn GmbHas publisher in its properties dialog.