Skip to content

fix(release): sign Windows ARM64 binaries for Smart App Control - #1410

Open
MAN$I VERMA (mansiverma897993) wants to merge 1 commit into
qualcomm:mainfrom
mansiverma897993:fix/windows-authenticode-signing
Open

fix(release): sign Windows ARM64 binaries for Smart App Control#1410
MAN$I VERMA (mansiverma897993) wants to merge 1 commit into
qualcomm:mainfrom
mansiverma897993:fix/windows-authenticode-signing

Conversation

@mansiverma897993

Copy link
Copy Markdown
Contributor

Summary

Windows Smart App Control / SmartScreen blocks GenieX because release Windows ARM64 binaries were shipped unsigned (Closes #1398).

This PR wires Authenticode signing into the release pipeline so every shipped Windows binary is signed and verified:

  • sign-windows job signs all .exe/.dll in sdk-windows-arm64 + the installer with signtool (RFC3161 timestamp) using WINDOWS_CODESIGN_PFX / WINDOWS_CODESIGN_PASSWORD secrets, and is a hard release gate - no cert, no release.
  • scripts/verify-windows-signatures.ps1 asserts every PE file has a Valid Authenticode signature (post-sign gate).
  • scripts/test-verify-windows-signatures.ps1 self-test (signed + unsigned fixtures) runs in CI via signature-verify-test.yml.
  • Docs (en/cn) +
    otes/release.md updated.

Test plan

  • scripts/verify-windows-signatures.ps1 - signed dir exit 0; unsigned dir exit 1; mixed dir exit 1; single-file forms match
  • scripts/test-verify-windows-signatures.ps1 - All assertions passed (5/5) on Windows
  • YAML validates for
    elease.yml + signature-verify-test.yml
  • PowerShell scripts parse cleanly
  • CI (signature-verify-test + pr-check)

Closes #1398

Release Windows ARM64 binaries were shipped unsigned, so Windows 11 Smart
App Control / SmartScreen blocks the installer and the SDK DLLs (issue
qualcomm#1398). Wire Authenticode signing into the release pipeline:

- sign-windows job now signs every .exe/.dll in sdk-windows-arm64 and the
  installer with signtool (RFC3161 timestamping) using the
  WINDOWS_CODESIGN_PFX / WINDOWS_CODESIGN_PASSWORD secrets, and is a hard
  release gate: without a cert the job fails rather than shipping
  unsigned binaries.
- add scripts/verify-windows-signatures.ps1 to assert every PE file has a
  Valid Authenticode signature; run it as a post-sign gate and re-upload
  the signed artifacts.
- add scripts/test-verify-windows-signatures.ps1 self-test (signed +
  unsigned fixtures) wired into CI via signature-verify-test.yml.
- update install / troubleshooting docs (en + cn) and notes/release.md.

Signed-off-by: mansiverma897993 <vmansi756@gmail.com>
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.

Genie-X dll is being blocked by Windows 11 Smart App Control

1 participant