本主題提供如何使用信任的應用程式部署技術來部署具有提高權限的 ClickOnce 應用程式的概觀。
受信任的應用程式部署是 ClickOnce 部署技術的一部分,可讓任何規模的組織更輕鬆地以更安全、更可靠的方式將其他許可權授與受控應用程式,而不需要使用者提示。 使用受信任的應用程式部署,組織只需將用戶端電腦設定為具有受信任發行者的清單,這些發行者是使用 Authenticode 憑證來識別的。 此後,任何由這些受信任發行者之一簽署的 ClickOnce 應用程式都會收到較高層級的信任。
備註
信任的應用程式部署需要對使用者的電腦進行一次性設定。 在受管理桌面環境中,可以使用全域原則來執行此組態。 如果這不是您想要的應用程式行為,請改用權限提高。 如需詳細資訊,請參閱 保護 ClickOnce 應用程式。
授信應用程式部署基本概念
下表顯示「信任應用程式部署」中涉及的物件和角色。
| 物件或角色 | Description |
|---|---|
| 管理員 | 負責更新和維護用戶端電腦的組織實體 |
| 信任管理員 | 共用語言執行階段 (CLR) 內負責強制執行用戶端應用程式安全性的子系統。 |
| 發行者 | 撰寫和維護應用程式的實體。 |
| 部署者 | 將應用程式封裝並散發給使用者的實體。 |
| 憑證 | 由公開金鑰和私密金鑰組成的加密簽名;通常由可以保證其真實性的證書頒發機構 (CA) 頒發。 |
| Authenticode 憑證 | 具有內嵌元資料的憑證,其中描述了憑證的用途。 |
| 憑證授權單位 | 驗證發行者身分識別並向他們發出嵌入發行者中繼資料的憑證的組織。 |
| 根權限 | 授權其他憑證授權機構簽發憑證的憑證授權機構。 |
| 金鑰容器 | Microsoft Windows 中用於儲存憑證的邏輯儲存空間。 |
| 值得信賴的發行者 | 發行者的 Authenticode 憑證已新增至用戶端電腦上的憑證信任清單 (CTL)。 |
在較大的組織中,發行者和部署者通常是兩個不同的實體:
發行者是建立 ClickOnce 應用程式的群組。
部署者是將 ClickOnce 應用程式散發至企業型桌上型電腦的群組,通常是資訊技術 (IT) 部門。
您必須遵循下列步驟,才能利用「信任的應用程式部署」:
取得發行者的憑證。
將發行者新增至所有用戶端上的受信任發行者存放區。
建立您的 ClickOnce 應用程式。
使用發行者的憑證簽署部署資訊清單。
將應用程式部署發佈至用戶端電腦。
取得發行者的憑證
數位憑證是 Microsoft Authenticode 驗證和安全性系統的核心元件。 Authenticode 是 Windows 作業系統的標準部分。 所有 ClickOnce 應用程式都必須使用數位憑證簽署,無論它們是否參與受信任的應用程式部署。 如需 Authenticode 如何與 ClickOnce 搭配運作的完整說明,請參閱 ClickOnce 和 Authenticode。
將發行者新增至信任的發行者存放區
若要讓您的 ClickOnce 應用程式獲得更高層級的信任,您必須將憑證作為受信任的發行者新增至應用程式將執行的每部用戶端電腦。 執行此作業是一次性設定。 完成後,您可以根據需要部署任意數量的使用發行者憑證簽署的 ClickOnce 應用程式,而且它們都將以高信任執行。
如果您在受控桌面環境中部署應用程式;例如,運行 Windows 操作系統的公司內部網;您可以使用群組原則建立新的憑證信任清單 (CTL) ,將受信任的發行者新增至用戶端的存放區。 如需詳細資訊,請參閱 建立群組原則物件的憑證信任清單。
如果您未在受控桌面環境中部署應用程式,則有下列選項可將憑證新增至受信任的發行者存放區:
CertMgr.exe,隨 Windows SDK 一起安裝。 如需詳細資訊,請參閱 Certmgr.exe (憑證管理員工具)。
建立 ClickOnce 應用程式
ClickOnce 應用程式是 .NET Framework 用戶端應用程式,結合描述應用程式和提供安裝參數的資訊清單檔案。 您可以使用 Visual Studio 中的 [發佈] 命令,將程式變成 ClickOnce 應用程式。 或者,您可以使用 Windows 軟體開發套件 (SDK) 隨附的工具,產生 ClickOnce 部署所需的所有檔案。 如需 ClickOnce 部署的詳細步驟,請參閱 逐步解說:手動部署 ClickOnce 應用程式。
信任的應用程式部署是 ClickOnce 特有的,而且只能與 ClickOnce 應用程式搭配使用。
簽署部署
取得憑證之後,您必須使用它來簽署您的部署過程。 如果您要使用 Visual Studio 發佈精靈來部署應用程式,如果您尚未自行指定憑證,精靈會自動為您產生測試憑證。 不過,您也可以使用 Visual Studio 專案設計工具視窗來提供 CA 所提供的憑證。 另請參閱 如何:使用發佈精靈發佈 ClickOnce 應用程式。
謹慎
我們不建議使用測試憑證來部署應用程式。
您也可以使用 Mage.exe 或 MageUI.exe SDK 工具來簽署應用程式。 如需詳細資訊,請參閱 逐步解說:手動部署 ClickOnce 應用程式。 如需與部署簽署相關的命令列選項的完整清單,請參閱 Mage.exe (資訊清單產生和編輯工具)。
發佈應用程式
一旦您簽署 ClickOnce 資訊清單,應用程式就準備好發佈至您的安裝位置。 安裝位置可以是網頁伺服器、檔案共用或本機磁碟。 當用戶端第一次存取部署資訊清單時,信任管理員必須決定 ClickOnce 應用程式是否被授予以已安裝的受信任發行者名義,在較高信任層級執行的權限。 信任管理員會比較用來簽署部署的憑證與儲存在用戶端受信任發行者存放區中的憑證,以做出此選擇。 如果信任管理員找到相符項目,則應用程式會以高信任執行。
受信任的應用程式部署和權限提升
如果目前的發行者不是受信任的發行者,信任管理員會使用權限提升來詢問使用者是否想要授與應用程式更高的權限。 不過,如果系統管理員停用權限提高權限,則應用程式無法取得執行權限。 應用程式將不會執行,也不會向使用者顯示任何通知。 如需有關提權(Permission Elevation)的詳細資訊,請參閱保護 ClickOnce 應用程式。
受信任應用程式部署的限制
您可以使用可信任的應用程式部署,授予高度信任給經由網路或透過企業檔案共用部署的 ClickOnce 應用程式。 您不必對 CD 上散發的 ClickOnce 應用程式使用受信任的應用程式部署,因為根據預設,這些應用程式會被授與完全信任。