Možnosti podepisování kódu pro vývojáře aplikací Windows

Pokud aplikaci publikujete jako balíček MSIX prostřednictvím Microsoft Store, podpis kódu se vám automaticky zpracuje – Microsoft balíček po certifikaci znovu podepíše a certifikát nemusíte kupovat ani spravovat. Pokud publikujete jako instalační program MSI/EXE prostřednictvím Obchodu, jste zodpovědní za podepsání vašeho instalačního programu pomocí Authenticode před odesláním. Všechno ostatní v tomto článku platí pro aplikace distribuované outside Microsoft Store.

Přehledné porovnání

Možnost Náklady dostupnost Chování filtru SmartScreen Vhodné pro Store Nejvhodnější pro
Microsoft Store (MSIX) – Obchod znovu podepisuje váš balíček Free Celosvětově ✅ Žádná upozornění ✅ Ano Doporučeno pro většinu nových aplikací
Microsoft Store (instalační program MSI/EXE) – vydavatel musí podepsat Řetězení certifikátů na certifikační autoritu důvěryhodného kořenového programu je požadováno (liší se podle certifikační autority) Celosvětově ✅ Během instalace obchodu se nezobrazují žádné výzvy SmartScreen (UAC se může stále zobrazit). ✅ Ano Existující aplikace Win32 odesílané prostřednictvím instalační cesty MSI/EXE
Azure Artefact Signing (dříve Důvěryhodné podepisování) ~9,99 USD za měsíc Organizace: USA, Kanada, EU, Spojené království. Jednotlivci: Pouze USA a Kanada ⚠ Reputace se buduje v průběhu času; počáteční upozornění jsou očekávána. ❌ Ne Doporučeno pro distribuci mimo úložiště
Certifikát OV (od certifikační autority, jako je DigiCert, Sectigo) 150–300 USD za rok Celosvětově ⚠️ Stejné jako podepisování artefaktů Azure — budování reputace v průběhu času ❌ Ne Vývojáři, kteří nemohou používat Azure Artifact Signing, nebo kteří preferují tradiční certifikační autority
Certifikát EV $400+/rok Celosvětově ⚠️ Stejně jako OV od roku 2024 — již žádné okamžité obejití ❌ Ne Už se nedoporučuje speciálně pro obejití filtru SmartScreen.
Certifikát podepsaný svým držitelem Free ❌ Blokuje instalaci pro veřejné uživatele. ❌ Ne Pouze vývoj/testování nebo podnik se spravovanou důvěryhodností certifikátů
Bez podpisu Free ❌ Silné blokování funkcí SmartScreen; podniky mohou zcela blokovat ❌ Ne Nedoporučuje se pro veřejnou distribuci

Microsoft Store – odeslání MSIX: nevyžaduje se podepisování

Publikování balíčku MSIX prostřednictvím Microsoft Store je doporučená distribuční cesta pro většinu aplikací Windows. Microsoft balíček automaticky podepíše, což znamená, že uživatelé nikdy neuvidí upozornění filtru SmartScreen a nikdy si nemusíte certifikát koupit ani obnovit.

Poznámka:

Pokud odesíláte Win32 MSI nebo EXE instalační program do Storu (místo balíčku MSIX), Microsoft váš instalační program znovu nepodepíše. Instalační program a jeho soubory PE musí být podepsány řetězcem certifikátů navázaných na certifikační autoritu v programu důvěryhodného kořenového certifikátu společnosti Microsoft – samopodepsané certifikáty nejsou akceptovány. Viz požadavky na balíček aplikace pro MSI/EXE.

Vytvořte bezplatný vývojářský účet na storedeveloper.microsoft.com. Po registraci použijte Partnerské centrum k odeslání aplikace a správě jejího výpisu.

Publikujte aplikaci na Microsoft Store

Azure Podepisování artefaktů (dříve Důvěryhodné podepisování) je doporučená služba podepisování kódu od Microsoftu pro vývojáře, kteří distribuují aplikace mimo store.

Podrobnosti o klíči:

  • Náklady: Přibližně 9,99 USD za měsíc – výrazně menší než tradiční certifikát OV nebo EV
  • ověření identity Identity: Microsoft ověří vaši organizaci nebo individuální identitu před vydáním certifikátů; naplánujte několik pracovních dnů na ověření.
  • Hardwarový token není vyžadován: Podepisování se integruje přímo s CI/CD pipelines (GitHub Actions, Azure DevOps a dalšími) – nepotřebujete fyzický USB token.
  • Chování filtru SmartScreen: Stejný model sestavení reputace jako certifikáty OV – nové soubory zobrazí upozornění filtru SmartScreen, dokud nenashromáždí dostatečnou historii stahování. Azure podepisování artefaktů neposkytuje okamžitou důvěryhodnost SmartScreen.

Důležité

Geographic limitation: Azure Artifact Signing je k dispozici organizacím v USA, Kanadě, Evropské unii a Spojeném království. Jednotliví vývojáři jsou v současné době omezeni na USA a Kanadu. Pokud jste jednotliví vývojáři mimo tyto oblasti, přečtěte si níže uvedené certifikáty OV .

Dokumentace k podepisování artefaktů → Azure
Podepsání balíčku MSIX pomocí nástroje SignTool

Certifikáty OV – tradiční možnost certifikační autority

Certifikáty ověřené organizací (OV) od certifikační autority (CA), jako je DigiCert, Sectigo nebo GlobalSign, jsou dobře zavedenou možností podepisování kódu. Jsou správnou volbou v následujících případech:

  • Nacházíte se mimo USA, Kanadu, EU nebo Spojené království (organizace); nebo mimo USA nebo Kanadu (jednotliví vývojáři) a nemůžou používat Azure podepisování artefaktů
  • Vaše organizace už má vztah s konkrétní certifikační autoritou.
  • Podnikoví zákazníci vyžadují certifikát od konkrétní certifikační autority.

Podrobnosti o klíči:

  • Náklady: Obvykle 150–300 USD za rok v závislosti na úrovni certifikační autority a certifikátu
  • Ověření identity: Certifikační autorita před vydáním certifikátu ověří právní identitu vaší organizace. povolit několik pracovních dnů
  • Požadavek HSM: Od června 2023 vyžaduje fórum CA/Browser privátní klíče, aby certifikáty OV byly uloženy v modulu hardwarového zabezpečení (HSM) nebo hardwarovém tokenu. Většina certifikačních autorit poskytuje USB token, který je kompatibilní, nebo HSM v cloudu.
  • SmartScreen chování: Ekvivalent podepisování artefaktů Azure – reputace se s časem shromažďuje podle hash hodnoty souboru. Očekávejte výzvy filtru SmartScreen pro nové soubory.

Certifikáty OV jsou prověřenou možností a jsou funkčně ekvivalentní podepisování artefaktů Azure pro účely filtru SmartScreen. Pokud jste v USA nebo Kanadě (nebo organizaci v EU nebo Spojeném království), podepisování artefaktů v Azure je obvykle výhodnější z hlediska nákladů a lépe se integruje s automatizovanými kanály sestavení.

Rozšířené ověřovací certifikáty (EV) dříve zcela vynechaly SmartScreen při prvním stažení souboru, takže se staly preferovanou volbou pro nové aplikace bez reputace. Toto chování bylo odebráno v roce 2024. Nyní soubory podepsané EV procházejí stejným procesem budování reputace jako certifikáty OV.

Co to znamená:

  • Pokud už máte certifikát EV, je stále platný a funkční pro podepisování – pokračujte v jeho používání, dokud nevyprší platnost certifikátu EV.
  • Certifikáty EV stále vyžadují přísnější ověřování identity, které může být důležité pro zajišťování podniku nebo jiné kontexty důvěryhodnosti.
  • Placení prémiového EV certifikátu (400 USD+/rok) pouze za účelem vyhnutí se upozorněním filtru SmartScreen již není odůvodněné – stále se budou zobrazovat stejná upozornění jako u certifikátu OV.

Reputace filtru SmartScreen pro vývojáře – kompletní podrobnosti o tom, jak se reputace vytváří a co vidí uživatelé

Certifikáty podepsané svým držitelem – pouze vývoj a testování

Certifikát samopodepsaný není ve výchozím nastavení důvěryhodný ve Windows a spustí silnou blokaci v SmartScreen pro každého uživatele, který certifikát nenainstaloval ručně jako důvěryhodný kořenový certifikát. Certifikáty podepsané svým držitelem tak nejsou vhodné pro veřejnou distribuci.

Vhodné použití:

  • Místní vývoj a testování – řídíte počítač a můžete certifikát nainstalovat ručně.
  • Podniková interní distribuce – vaše IT oddělení může certifikát nasadit jako důvěryhodný kořenový adresář prostřednictvím Intune nebo zásad skupiny, což umožňuje spravovaným zařízením nainstalovat aplikaci bezobslužně.

Podepsání balíčku MSIX pomocí nástroje SignTool

Open source: SignPath Foundation

Pokud je váš projekt open source, SignPath Foundation nabízí bezplatné podepisování kódu pro opravňující opensourcové projekty. Program poskytuje podepisování certifikátů na úrovni OV prostřednictvím spravovaného kanálu. Na webu Služby SignPath Foundation zkontrolujte požadavky na způsobilost a proces aplikace.