Podepsání manifestů aplikace a nasazení
Pokud chcete publikovat aplikaci pomocí nasazení ClickOnce, musí být manifesty aplikace a nasazení podepsané pomocí technologie Authenticode. Manifesty můžete podepsat pomocí certifikátu z úložiště certifikátů Systému Windows nebo souboru klíče.
Informace v tomto článku platí jenom v případě, že používáte rozhraní .NET Framework 4.8.1 nebo starší. Pokud používáte .NET 5 nebo novější, postupujte podle pokynů v tématu Nasazení desktopové aplikace .NET pro Windows pomocí Technologie ClickOnce.
Další informace o nasazení ClickOnce naleznete v tématu Zabezpečení a nasazení ClickOnce.
Podepisování manifestů ClickOnce je volitelné pro .exe aplikace. Další informace naleznete v části Generování nepodepsaných manifestů v tomto dokumentu.
Informace o vytváření souborů klíčů najdete v tématu Postupy: Vytvoření páru veřejného a privátního klíče.
Poznámka:
Visual Studio podporuje pouze soubory klíče PFX (Personal Information Exchange), které mají příponu .pfx . Můžete ale vybrat jiné typy certifikátů z úložiště certifikátů aktuálního uživatele systému Windows kliknutím na Vybrat z úložiště na stránce Podepisování vlastností projektu.
Podepsání pomocí certifikátu
Chcete-li použít tuto metodu, musíte mít certifikát podepsaný certifikační autoritou (CA). Certifikáty vydávají externí poskytovatelé certifikačních služeb nebo autorizované organizace v rámci podniku.
Přejděte do okna vlastností projektu (klikněte pravým tlačítkem na uzel projektu v Průzkumník řešení a vyberte Vlastnosti). Na kartě Podepisování zaškrtněte políčko Podepsat manifesty ClickOnce.
Klikněte na tlačítko Vybrat ze Storu.
Zobrazí se dialogové okno Vybrat certifikát a zobrazí se obsah úložiště certifikátů systému Windows.
Tip
Pokud kliknutím sem zobrazíte vlastnosti certifikátu, zobrazí se dialogové okno Podrobnosti o certifikátu. Toto dialogové okno obsahuje podrobné informace o certifikátu a další možnosti. Kliknutím na Certifikáty zobrazíte další informace nápovědy.
Vyberte certifikát, který chcete použít k podepsání manifestů.
Tip
Pokud v úložišti nejsou žádné certifikáty, můžete stále podepsat pomocí testovacího certifikátu.
Kromě toho můžete zadat adresu serveru časového razítka v textovém poli Adresa URL časového razítka serveru. Jedná se o server, který poskytuje časové razítko určující, kdy byl manifest podepsán. Obvykle ji poskytuje stejná třetí strana, která nabízí certifikáty podepsané certifikační autoritou.
Podepsání pomocí existujícího souboru klíče
Na stránce Podepisování zaškrtněte políčko Podepsat manifesty ClickOnce.
Klikněte na tlačítko Vybrat ze souboru .
Zobrazí se dialogové okno Vybrat soubor .
V dialogovém okně Vybrat soubor přejděte do umístění souboru klíče (.pfx), který chcete použít, a klepněte na tlačítko Otevřít.
Poznámka:
Tato možnost podporuje pouze soubory, které mají příponu .pfx . Pokud máte soubor klíče nebo certifikát v jiném formátu, uložte ho do úložiště certifikátů Systému Windows a vyberte certifikát popsaný v předchozím postupu. Účel vybraného certifikátu by měl zahrnovat podepisování kódu.
Zobrazí se dialogové okno Zadat heslo pro otevření souboru . (Pokud je soubor .pfx již uložený v úložišti certifikátů Windows nebo není chráněný heslem, nebudete vyzváni k zadání hesla.)
Zadejte heslo pro přístup k souboru klíče a pak vyberte Enter.
Chcete-li zobrazit vlastnosti certifikátu, vyberte Další podrobnosti... ClickOnce zobrazí hodnotu pole Předmět jako Publisher , když zobrazí certifikát, když uživatel nainstaluje aplikaci. Tady je příklad toho, co uživatel uvidí při instalaci aplikace ClickOnce:
Poznámka:
Soubor .pfx nemůže obsahovat informace o řetězení certifikátů. Pokud ano, dojde k následující chybě importu: Nelze najít certifikát a privátní klíč pro dešifrování. Pokud chcete odebrat informace o řetězení certifikátů, můžete použít Certmgr.msc a zakázat možnost Zahrnout všechny certifikáty při exportu souboru *.pfx.
Podepsání pomocí testovacího certifikátu
Testovací certifikáty nejsou podepsány certifikační autoritou (CA) a měly by se používat pouze pro účely testování. Podrobnosti o testovacích certifikátech najdete v tématu Použití certifikačních autorit pomáhá uživatelům.
Na stránce Podepisování zaškrtněte políčko Podepsat manifesty ClickOnce.
Pokud chcete vytvořit nový certifikát pro testování, klikněte na tlačítko Vytvořit testovací certifikát .
V dialogovém okně Vytvořit testovací certifikát zadejte heslo, které vám pomůže zabezpečit testovací certifikát.
Poznámka:
Jako algoritmus podpisu nezapomeňte zvolit sha256RSA, pokud necílíte na .NET 2.0.
Generování nepodepsaných manifestů
Podepisování manifestů ClickOnce je volitelné pro .exe
aplikace založené na aplikacích. Následující postupy ukazují, jak generovat nepodepsané manifesty ClickOnce.
Důležité
Nepodepsané manifesty můžou zjednodušit vývoj a testování vaší aplikace. Nepodepsané manifesty však v produkčním prostředí představují významná bezpečnostní rizika. Zvažte použití nepodepsaných manifestů pouze v případě, že aplikace ClickOnce běží na počítačích v intranetu, který je zcela izolovaný od internetu nebo jiných zdrojů škodlivého kódu.
Ve výchozím nastavení ClickOnce automaticky generuje podepsané manifesty, pokud jeden nebo více souborů nejsou výslovně vyloučeny z vygenerované hodnoty hash. Jinými slovy, publikování aplikace vede k podepsaným manifestům, pokud jsou do hodnoty hash zahrnuty všechny soubory, i když je zaškrtnuté políčko Podepsat manifesty ClickOnce.
Generování nepodepsaných manifestů a zahrnutí všech souborů do vygenerované hodnoty hash
Chcete-li generovat nepodepsané manifesty, které obsahují všechny soubory v hodnotě hash, musíte nejprve publikovat aplikaci společně se podepsanými manifesty. Proto nejprve podepište manifesty ClickOnce pomocí některého z předchozích postupů a pak publikujte aplikaci.
Na kartě Podepisování zrušte zaškrtnutí políčka Podepsat manifesty ClickOnce.
Na kartě Publikovat obnovte verzi publikování tak, aby byla dostupná jenom jedna verze vaší aplikace. Zrušte zaškrtnutí políčka Automatické zvýšení verze s jednotlivými publikováními. Visual Studio ve výchozím nastavení automaticky zvýší číslo revize verze publikování při každém publikování aplikace. Další informace naleznete v tématu Postupy: Nastavení verze publikování ClickOnce.
Publikujte aplikaci. Visual Studio vám řekne, že aplikace byla podepsána jiným klíčem než existující aplikace na serveru, a zeptá se, jestli ji chcete přepsat. Zvolte Ano.
Generování nepodepsaných manifestů a vyloučení jednoho nebo více souborů z vygenerované hodnoty hash
Na stránce Podepisování zrušte zaškrtnutí políčka Podepsat manifesty ClickOnce.
Na kartě Publikovat zvolte tlačítko Soubory aplikace a otevřete dialogové okno Soubory aplikace a nastavte hodnotu Hash na vyloučení pro soubory, které chcete vyloučit z vygenerované hodnoty hash.
Poznámka:
Vyloučení souboru z hodnoty hash konfiguruje ClickOnce tak, aby zakázalo automatické podepisování manifestů, takže není nutné nejprve publikovat se podepsanými manifesty, jak je znázorněno v předchozím postupu.
Publikujte aplikaci.