Update System

How signed manifests and packages are generated and consumed.

Channel Endpoints

Manifest Shape

{
  "Version": "1.0.9540.1120",
  "PackageUrl": "https://plugin.stoneycnc.co.uk/packages/stable/StoneyCNCPlugin-1.0.9540.1120.zip",
  "Sha256": "<zip_sha256_hex>",
  "Signature": "<manifest_signature_base64>",
  "MinPluginVersion": "1.0.9540.1120",
  "Channel": "stable"
}

Verification Flow

  1. Plugin downloads manifest.
  2. Manifest signature is verified using update-public.xml.
  3. Plugin downloads package and detached signature (.sig).
  4. Package hash and detached signature are verified.

Publish Flow

.\build\promote-stable.ps1 `
  -Version 1.0.9540.1120 `
  -WebRoot "C:\inetpub\plugin" `
  -PrivateKeyXmlPath "C:\inetpub\plugin\keys\update-private.xml"

Publish always writes package, detached signature, and channel manifest in one step.