我们通过 ClickOnce 和我们创建的自签名证书部署了一个 Windows 应用程序。我们现在正在寻求从像 VeriSign 这样的证书颁发机构获得 Authenticode 证书。
当我们开始使用新证书签署 ClickOnce 清单时,我们的用户是否必须重新安装应用程序?
是否有任何已知的迁移路径来处理我们的场景?
谢谢
我们通过 ClickOnce 和我们创建的自签名证书部署了一个 Windows 应用程序。我们现在正在寻求从像 VeriSign 这样的证书颁发机构获得 Authenticode 证书。
当我们开始使用新证书签署 ClickOnce 清单时,我们的用户是否必须重新安装应用程序?
是否有任何已知的迁移路径来处理我们的场景?
谢谢
是的,您可以做到这一点,而无需用户重新安装,但这很棘手。关键是要意识到应用程序清单具有 Authenticode 签名(以识别发布者)和强名称签名(以防止篡改)。诀窍是将旧证书用于强名称签名,将新证书用于 Authenticode 签名。
VS2005/Mage 或 .NET Framework SDK 中的签名工具 (signtool.exe) 都不支持这种签名。但Windows Server 2003 R2 平台 SDK包含较新版本的 signtool.exe,带有一个新的开关“/manifest”,并提供了使用不同密钥进行签名的选项。使用此工具,您可以使用两个签名中的每一个的不同密钥对 ClickOnce 清单进行签名。
您可以在此处找到更多详细信息。