Skip to content

Sign the VSIX in CI #7

Description

@Jorriss

Problem

The released VSIX is unsigned:

Impact

Social-engineering / impersonation risk: end users can't distinguish a real release from a swapped one downloaded from a malicious mirror.

Remediation

  1. Obtain a code-signing certificate (Authenticode, SHA256, with a trusted timestamp authority).

  2. Store the PFX and password as AppVeyor encrypted variables (CERT_PFX, CERT_PWD).

  3. Add a signing step to appveyor.yml after msbuild and before artifacts: publish:

    signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f $env:CERT_PFX /p $env:CERT_PWD source\StatisticsParser.Vsix\bin\x64\Release\StatisticsParser.vsix
  4. Gate signing on APPVEYOR_PULL_REQUEST_NUMBER being empty so forked-PR builds don't attempt to access the secret (covers finding B6).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions