当前位置:  开发笔记 > 编程语言 > 正文

使用SHA-2证书签署面向.NET Framework 4.0的VSTO Excel加载项

如何解决《使用SHA-2证书签署面向.NETFramework4.0的VSTOExcel加载项》经验,为你挑选了0个好方法。

我有一个VSTO 2010 Excel加载项,目标是.Net Framework 4.0,Visual Studio 2010.

过去几年我们使用SHA-1证书来签署清单和程序集.该应用程序已部署给许多最终用户.现在,随着SHA-1弃用政策从2016年1月开始生效,CA发布的续订证书使用SHA-256进行密钥管理.

请查看使用各种版本的Visual Studio构建Excel 2010 VSTO加载项生成的文件:

注意:使用SHA-2算法键入用于以下所有情况的证书.

VS 2010 SP1,Target Framework 4.0生成的.VSTO:

DigestMethod对于所提到的算法dependentAssemblyhash是SHA1,使用SHA2证书时也是如此.


    
    
        
            
        
        
        DIGEST VALUE
    

publisherIdentity标签,所述SignatureMethodDigestMethod使用是SHA256,这是根据该证书的算法.




.VSCO由VS 2013 SP4和VS 2015生成,目标框架4.0:

请注意标记中提到的算法是SHA1.这与VS 2010生成的内容相同.


    
    
        
            
        
        
        DIGEST VALUE
    

同样,根据publisherIdentity标签,SignatureMethod并且DigestMethod仍在使用SHA1.使用VS 2010和VS 2013 SP1构建的.vsto文件在此处具有SHA2.




即使在2016年1月17日之后,这项工作/是否会得到支持?

.VSTO由VS 2013 SP4和VS 2015生成,目标框架4.5.2:

请注意标记中提到的算法是SHA2.


    
    
        
             
        
        
        DIGEST VALUE
    

SignatureMethodDigestMethod现在正指示SHA2算法.




似乎VS 2013 SP3中的更新(也在VS 2015中可用)正在使用/强制执行根据目标的.Net Framework.

对于.Net Framework 4.0,DigestMethod和SigntureMethod始终为SHA1,与所使用的证书无关.现在,加载项适用于只有.Net 4.0的机器,因为VSTO/clickonce加载器根本不需要处理SHA2.

因此,考虑到从2016年1月开始必须使用SHA-2证书,用于使用SHA-2证书对加载项进行签名的配置应该是什么?

    VS 2010,.Net Framework 4.0和SHA-2证书(如果没有安装.Net Framework 4.5或更新版本,则无法运行)

    VS 2015,.Net Framework 4.0和SHA-2证书(这与使用SHA-1证书没什么不同.VSTO文件只有SHA-1条目,不确定这是否会在2016年1月之后起作用)

    VS 2015,.Net Framework 4.5.2和SHA-2证书(不适合我.我需要将目标框架保持为4.0)

我在脱机的机器上安装Excel加载项.始终从文件系统加载它们.

[HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ExcelAddin1]
"Description"="ExcelAddin1 - COM add-in created with Visual Studio Tools for Office"
"FriendlyName"="ExcelAddin1"
"Manifest"="file:///C:/published/Addins/ExcelAddin1.vsto|vstolocal"
"LoadBehavior"=dword:00000003

谢谢.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有