我们通过ClickOnce和我们创建的自签名者证书部署了一个Windows应用程序。我们现在正在寻求从VeriSign等证书颁发机构获得Authenticode证书。
当我们开始使用新证书签署ClickOnce清单时,我们的用户是否必须重新安装该应用程序?
是否有任何已知的迁移路径来处理我们的场景?
由于
答案 0 :(得分:8)
是的,您可以在没有用户重新安装的情况下执行此操作,但这很棘手。关键是要意识到应用程序清单具有Authenticode签名(用于标识发布者)和强名称签名(以防止篡改)。诀窍是使用旧证书作为强名称签名,使用Authenticode签名的新证书。
来自.NET Framework SDK的VS2005 / Mage或签名工具(signtool.exe)都不支持此类签名。但是Windows Server 2003 R2 Platform SDK包含一个较新版本的signtool.exe,它带有一个新的开关“/ manifest”,并且可以选择使用不同的密钥进行签名。使用此工具,您可以使用不同的密钥为每个签名签署ClickOnce清单。
您可以找到more details here。