jjzjj

Authenticode

全部标签

c - 验证 Authenticode 签名是否来 self 们公司,用于自动更新程序

我正在实现自动更新功能,需要一些关于如何使用最佳实践安全地执行此操作的建议。我想使用下载文件的Authenticode签名来验证它是否可以安全运行(即来self们公司并且没有被篡改)。我的问题与问题#2008519非常相似。底线问题:检查自动更新功能的Authenticode签名的最佳、最安全的方法是什么?应检查证书中的哪些字段?要求是:(1)检查签名是否有效,(2)检查它是我的签名,(3)当我的证书过期并且我得到一个新证书时,老客户仍然可以更新。这是我研究的一些背景信息/想法:我相信这可以分为两个步骤:验证签名是否有效。我相信这应该很容易使用WinVerifyTrust,如http:

windows - signtool 无法使用时间戳对 SHA2 和 SHA1 进行双重签名

我们需要使用signtool.exe使用SHA1和SHA2对二进制文件进行双重签名,我们的证书支持256位SHA2。使用Windows8SDK的签名工具:例如:signtool.exesign/as/fdsha256/thttp://timestamp.verisign.com/scripts/timstamp.dll/f"证书.pfx"/pXXXXXXX"文件.dll"(其中XXXXXXX是我们的证书密码)因神秘错误而失败:SignTool错误:SignedCode::Sign返回错误:0x80070057参数不正确。SignTool错误:尝试签名时发生错误:file.dll没有时间

c# - 从 .NET 中的 Authenticode 签名文件获取时间戳

我们需要验证二进制文件是否使用数字签名(Authenticode)正确签名。这可以通过signtool.exe很容易地实现。但是,我们需要一种自动方法来验证签名者姓名和时间戳。这在使用CryptQueryObject()API的nativeC++中是可行的,如这个精彩示例所示:HowToGetInformationfromAuthenticodeSignedExecutables然而,我们生活在一个受管理的世界中:)因此寻找C#解决方案来解决同样的问题。直接的方法是pInvokeCrypt32.dll,一切都完成了。但是System.Security.Cryptography.X509

c# - 从 .NET 中的 Authenticode 签名文件获取时间戳

我们需要验证二进制文件是否使用数字签名(Authenticode)正确签名。这可以通过signtool.exe很容易地实现。但是,我们需要一种自动方法来验证签名者姓名和时间戳。这在使用CryptQueryObject()API的nativeC++中是可行的,如这个精彩示例所示:HowToGetInformationfromAuthenticodeSignedExecutables然而,我们生活在一个受管理的世界中:)因此寻找C#解决方案来解决同样的问题。直接的方法是pInvokeCrypt32.dll,一切都完成了。但是System.Security.Cryptography.X509

c# - 没有强命名的代码签名是否会使您的应用程序容易被滥用?

努力了解authenticode代码签名和强命名。如果我对引用一些dll(非强名称)的exe进行代码签名,恶意用户可能会替换我的DLL并以一种看起来好像是由我签名的方式分发应用程序,我的想法是否正确,但是正在运行他们的代码?假设这是真的,似乎您真的不想在不对整个应用程序进行强命名的情况下签署.NET应用程序,否则您将让人们能够在您编写的应用程序的伪装下执行代码?我不确定的原因是,我在网上找到的所有文章(包括关于使用SN+Authenticode的MSDN文档)似乎都没有提到这一点,这似乎是一个相当重要的理解点(如果我已经理解正确)? 最佳答案

c# - 没有强命名的代码签名是否会使您的应用程序容易被滥用?

努力了解authenticode代码签名和强命名。如果我对引用一些dll(非强名称)的exe进行代码签名,恶意用户可能会替换我的DLL并以一种看起来好像是由我签名的方式分发应用程序,我的想法是否正确,但是正在运行他们的代码?假设这是真的,似乎您真的不想在不对整个应用程序进行强命名的情况下签署.NET应用程序,否则您将让人们能够在您编写的应用程序的伪装下执行代码?我不确定的原因是,我在网上找到的所有文章(包括关于使用SN+Authenticode的MSDN文档)似乎都没有提到这一点,这似乎是一个相当重要的理解点(如果我已经理解正确)? 最佳答案

c++ - 验证 EXE 上的 Authenticode 签名 - 没有 CAPICOM 的 C++

我正在为安装程序DLL编写一个函数来验证系统上已安装的EXE文件的Authenticode签名。函数需要:A)verifythatthesignatureisvalid.B)verifythatthesignerisourorganization.因为它在安装程序中,并且因为它需要在较旧的Win2k安装上运行,所以我不想依赖CAPICOM.dll,因为它可能不在目标系统上。WinVerifyTrustAPI非常适合解决(A)。我需要找到一种方法将已知证书(或其中的属性)与签署相关EXE的证书进行比较。 最佳答案 您应该使用Crypt

c++ - 验证 EXE 上的 Authenticode 签名 - 没有 CAPICOM 的 C++

我正在为安装程序DLL编写一个函数来验证系统上已安装的EXE文件的Authenticode签名。函数需要:A)verifythatthesignatureisvalid.B)verifythatthesignerisourorganization.因为它在安装程序中,并且因为它需要在较旧的Win2k安装上运行,所以我不想依赖CAPICOM.dll,因为它可能不在目标系统上。WinVerifyTrustAPI非常适合解决(A)。我需要找到一种方法将已知证书(或其中的属性)与签署相关EXE的证书进行比较。 最佳答案 您应该使用Crypt

Windows 10 忽略我的设置文件中的 Authenticode

在Windows10的“快速环”上,我在自己的安装可执行文件上出现了奇怪的行为:我是SHA-1签署他们Authenticode多年来以同样的方式,从未有过任何问题。最近Windows10无法识别我的(有效)签名。当从我的网站下载setup.exe并执行它时,WindowsSmartScreen消息框出现并告诉我:...Publisher:unknown...查看刚刚下载的安装可执行文件的属性时,它会显示签名,并告诉我签名有效。此外,整个证书链都是有效的。我用这样的东西签名:SignTool.exesign/v/thttp://timestamp.verisign.com/scripts

java - Authenticode、SPC 和 Java CodeSign 之间的区别?

大多数CA都在不同的“产品”中销售代码签名证书,例如Verisign或Certum:MicrosoftAuthenticode-“允许您签署EXE、OCX、DLL、bla...”JavaCodeSign-“允许您签署Java代码”软件发行商证书-“允许您签署软件”好吧,我真的对此感到困惑。所有这些产品之间有什么区别-除了价格?由于好奇,我问了Verisign和其他CA几次,但没有得到答复。我从CertumCA获得了Authenticode证书。我在InternetExplorer中注册了它,将其导出为PKCS#12PFX,并且可以按照promise对EXE、DLL等进行签名。现在...