Skip to content

ci: SignPath / Authenticode 签名,降低 SmartScreen - #15

Closed
timeroute wants to merge 2 commits into
mainfrom
cursor/codesign-smartscreen-27c9
Closed

timeroute wants to merge 2 commits into
mainfrom
cursor/codesign-smartscreen-27c9

Conversation

@timeroute

@timeroute timeroute commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

背景

未签名的 MSI/EXE 容易触发 Windows SmartScreen。开源项目可用 SignPath Foundation 免费证书(SignPath.io 托管密钥),不必自购 OV/EV。

改动

  • SignPath(推荐):windows-msi.yml 在 v* tag(或 workflow_dispatch + sign)上传未签名 MSI → signpath/github-action-submit-signing-request@v3 → 下载已签名 MSI → Release。
  • PFX(备选):仍支持 WINDOWS_CODESIGN_PFX_* + scripts/sign-windows.ps1。
  • VERSIONINFO:build.rs + winres,字符串与 SignPath metadata 限制对齐。
  • README:SignPath 申请/Secrets/Vars、Code signing policy(Foundation 要求)。

你需要做的(仓库外)

  1. 申请:signpath.org/apply
  2. 批准后:启用 GitHub Trusted Build System + GitHub App;创建 project / release-signing policy;粘贴 release artifact XML。
  3. 仓库配置:
    • Secret:SIGNPATH_API_TOKEN
    • Variable:SIGNPATH_ORGANIZATION_ID
    • 可选 Variables:SIGNPATH_PROJECT_SLUG、SIGNPATH_SIGNING_POLICY_SLUG、SIGNPATH_ARTIFACT_CONFIGURATION_SLUG
  4. 打 tag 后到 SignPath 控制台批准签名请求(CI 最多等约 1 小时)。
  5. 若主页是独立站点,请在站点上也挂上 README 里的 Code signing policy 段落(Foundation 要求)。

测试

  • 工作流 YAML 已校验可解析。
  • 真实签名需 SignPath 批准 + Secrets/Vars 就绪后跑 tag 或 workflow_dispatch(勾选 sign)。
Open in Web Open in Cursor 

cursoragent and others added 2 commits October 11, 2026 12:06
Gate tag builds on WINDOWS_CODESIGN_* secrets, sign the release
binary before WiX packaging, then sign the MSI with RFC3161
timestamping to reduce SmartScreen warnings.

Co-authored-by: 绿岸公式 <chinesejar@gmail.com>
Prefer SignPath deep-sign of MSI (nested EXE) for free OSS
Authenticode; keep PFX as fallback. Embed VERSIONINFO for
SignPath metadata checks and document the code signing policy.

Co-authored-by: 绿岸公式 <chinesejar@gmail.com>
@cursor cursor Bot changed the title ci: Authenticode 签名 EXE/MSI,降低 SmartScreen ci: SignPath / Authenticode 签名,降低 SmartScreen Oct 11, 2026
@timeroute timeroute closed this Oct 12, 2026
@timeroute
timeroute deleted the cursor/codesign-smartscreen-27c9 branch October 13, 2026 00: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.

2 participants