jjzjj

Authenticode

全部标签

windows - 为 Windows 签名可执行文件

我开发了一个在Windows上使用的桌面应用程序,我想知道如何才能对我的可执行文件进行签名,这样它们就不会再显示那些看起来很糟糕的关于来自未知发布者的警告消息。我有点熟悉在发布二进制文件之前对其进行签名。我有一个相同程序的Linux端口,它是通过它自己的签名存储库(apt-get)分发的。签署Windows可执行文件的过程似乎非常复杂,我找不到一个简单的教程来说明该怎么做,而是成千上万的网页只描述了部分过程,或者过于深入。我只需要一个快速列表,列出在Windows下签署可执行文件所必需的步骤。我相信它叫做“authenticode”。 最佳答案

使用 SHA-2 交叉签名证书使用 signtool 签名和验证后 Windows 驱动程序安装失败

我有两个似乎已正确签名的驱动程序文件:bobbarker@bobbarker-PC/cygdrive/c/Users/bobbarker/Desktop$./SignTool.exeverify/kp/v/ph/dtruecrypt.sysVerifying:truecrypt.sysHashoffile(sha1):8562AC6F95298C1904DFC0B579C51CBB414D13C9SigningCertificateChain:Issuedto:AddTrustExternalCARootIssuedby:AddTrustExternalCARootExpires:Sa

c - 你怎么知道结构中的某些字段是数组?

我正在查看来自Microsoftwincrypt.h头文件的这段C代码//+-------------------------------------------------------------------------//Attributes////WheretheValue'sPATTR_BLOBsareintheirencodedrepresentation.//--------------------------------------------------------------------------//certenrolls_begin--CRYPT_ATTRIBUT

windows - 自解压自检可执行文件

我正在分发一个经过验证码签名的自解压可执行文件,其内容由我控制。它包含大量基于MSI的安装程序,这些安装程序控制分布式系统的热插拔,因此它本身不能轻易成为MSI。如果可执行文件只是检查它自己的验证码并且在没有签名的情况下拒绝自解压,那就太好了。我确实意识到这并不能提供真正的完整性保证,但它会强化这样的信息,即内容绝不是可定制的,并且可能使一些正式认证更容易处理。一种可能的策略可能基于withthisstillunansweredquestion.还有其他想法吗? 最佳答案 这在一般情况下是不可能的。如果有人篡改了您的二进制文件,也许

windows - AppxSignature.p7x 的结构是什么?

通用Windows应用程序位于.appx文件中,它只是一堆文件和元数据的压缩包。大多数元数据文件在Microsoft网站上都有详细记录,并且解析和/或重新生成起来很简单。然而,AppxSignature.p7x仍然是个谜。从这个图表(source):AppxSignature.p7x应具有AppxBlockMap.xml的哈希值、内容和目录哈希值以及签名。但是我找不到AppxSignature.p7x文件本身的任何文档。理想情况下,我想使用替代工具来生成和验证此签名,例如openssl/gnutls或类似的。一个实际用途是在Linux上更新和重新打包应用程序,并为Windows应用商店

windows - 为什么 Windows 声明 "Unverified Publisher"用于带有随后过期证书的签名可执行文件

2014年,我从StartSSL购买了二级代码签名证书,用于对我的二进制文件进行数字签名。该证书刚刚过期,实际上我正在尝试获取新证书。然而,在一个不相关的事件中,我在VM中运行了一个我签名的安装程序,当Windows弹出UAC对话框的“UnverifiedPublisher”变体时,我有点……恼火……。当我查看数字签名属性时,我看到了:当然证书已经过期了,但是为什么(在有效期内签名的)文件突然不验证了呢?我还没有看到其他软件发生这种情况,例如,如果我查看Office2003安装程序的旧签名副本,它不会提示签名无效并且有效期在十年前就已过期。这是为什么?坦率地说,我现在想知道首先购买证书

c# - 为什么 Reactive Extensions 在编译时向微软发送 HTTP GET?

我从这个站点下载了ReactiveExtensionsv1.0SP1的稳定版本http://msdn.microsoft.com/en-us/data/gg577610,我在.NetFramework3.5环境(VisualStudio2008)中使用它我尝试在一个项目中使用ReactiveExtensions,发现启动速度非常慢。转到LinqPad,我输入了以下“C#表达式”:(newint[0]).ToObservable()我还引用了System.Reactive.dll并导入了System.Reactive.Linq命名空间。当我运行它时,编译和运行需要12秒。我打开Proce

c# - 检查给定的可执行文件是否经过数字签名且有效?

在我的C#/.NET应用程序中,我必须检查给定的可执行文件是否经过数字签名(最好没有异常测试。)然后我需要检查其证书是否有效(基于已安装的根证书)以及文件内容是否对签名有效.BCL中的类太多了,我不知道从哪里开始以及使用什么,到目前为止我发现的任何东西都不能消除我的困惑...我想做这样的事情,没有如果可能P/Invoke:boolIsSignedFile(stringpath);CertGetCertificateFromSignedFile(stringpath);boolIsValidCertificate(Certcert)SigGetSignatureFromSignedFil

windows - 指定 pwszTimestampURL 时 CryptUIWizDigitalSign 失败

我在调用CryptUIWizDigitalSign时遇到问题使用我们的公共(public)代码签名证书以编程方式对可执行文件进行签名,而不显示任何UI。该证书是Comodo代码签名证书。当时间戳URL参数设置为null时它工作正常,但每当我传递null以外的任何内容时,调用都会失败(返回零)。问题是没有时间戳就没有副署,因此进一步存在签名有效性问题。环境是Windows7x64。有一个工作标准的互联网连接。从嗅探网络流量来看,CryptUIWizDigitalSign并未尝试联系时间戳服务器。我是通过PInvoke从.NET调用它,但我怀疑这会有什么不同。网上关于此功能的信息不多...

windows - 为什么在查看证书详细信息之前,数字签名的可执行文件会被视为未签名

在运行经过数字签名的可执行文件时,我得到了一个非常奇怪的结果。可执行文件是使用正确的2级代码签名证书(不是自行生成的)使用signtool.exe签名的。在Windows7机器上进行测试,如果我启动已签名的可执行文件,我会收到Windows警告对话框,提示PublisherUnknown(即未签名)。但是,如果我随后取消并右键单击可执行文件并转到属性->数字签名,签名列表会显示已签名的证书,然后我可以单击并选择“详细信息”以查看详细信息signature,显示为“ThedigitalsignatureisOK”。那时,如果我启动可执行文件,现在突然间Windows正确地识别出可执行文件