很多时候,软件开发人员会构建在多个操作系统上运行的软件。例如,为Windows10和8构建的软件甚至可以在WindowsVista等早期版本上运行。
但是,出现了一个问题:较新版本的操作系统支持SHA–256,而WindowsVista等早期版本只能支持SHA–1哈希算法。而且,由于这个问题,软件在较旧的Windows操作系统上会出现故障。
因此,如果您处于这种情况并希望您的软件在新旧版本的Windows操作系统上运行,最好使用SHA–256和SHA–1代码签名证书对您的软件文件进行双重签名。同样,您首先需要使用SHA–256代码签名证书对您的软件/应用程序进行签名。然后,一旦你签署了它,你需要使用SHA-1代码签名证书附加第二个签名。
简而言之,对您的软件/应用程序文件进行双重签名的主要原因是在早期操作系统(如WindowsVista)上使用与SHA–256签名不兼容的单个文件来支持它。
使用SHA–256和SHA–1代码签名证书对您的软件/应用程序进行双重签名
但是,要对您的软件/应用程序文件进行双重签名并在早期的操作系统(如WindowsVista)上插入SHA–1文件,请使用以下命令:
全SHA命令–1兼容性
同样,为了完全兼容SHA1,您需要使用两个证书。而且,下面是相同的命令:
signtool.exesign/fSignMyCodeCrt.pfx/t/vMyCodeSign.exesigntool.exesign/fSignMyCodeCrt.pfx/fdsha256/tr/tdsha256/as/vMyCodeSign.exe注意:如上所述,您可能需要在命令行工具signtool.exe中添加额外的参数。例如,如果要为PFX/P12文件解密添加密码,则必须添加一个额外的参数。
最后,一旦签名过程完成,建议您验证一次。因此,您可以确保它是否会产生任何问题。
并且,要验证通过以下步骤:
如果一切正常,那么您将看到如上图所示的内容。
包起来
如今,人们已经使用最新的可用操作系统升级了他们的系统。但是,有些人由于某种原因使用旧操作系统。
而且,作为软件开发人员,如果您正在为某人构建软件或希望您的软件被所有最新和早期版本的操作系统(如WindowsVista或Windows10)所接受。那么在这种情况下,双重签名是必须的,因为早期的操作系统与SHA–2签名不兼容。
最后,如果您已经阅读到这里,我们希望本文能帮助您对您的软件/应用程序文件进行双重签名,以便它可以在最新和较旧的Windows操作系统版本上顺利运行。
常问问题
什么是代码签名中的双重签名?
要使用两个代码签名证书对您的软件或应用程序文件进行签名,您需要使用该命令进行两次代码签名。虽然,在双重签名中,命令略有改变。同样,上面提到了使用哪个命令。
什么是SignTool?
例如,C:\ProgramFiles(x86)\WindowsKits\10\bin\10.0.19041.0\x64\signtool.exe。
什么是SHA2?
SHA2(安全散列算法–2)是一种散列算法,是SHA–1散列算法的高级版本,具有更好的安全性。换句话说,SHA-2是SHA-1算法的替代和改进,与它的前身SHA-1相比,该算法以更好的安全性着称。
什么是SHA1?
SHA1是一种加密散列算法,以获取输入并产生称为消息摘要的160位(20字节)散列值而闻名。然而,从2005年开始,它被认为不太安全,并在2011年正式被弃用。