标签: bumptop

WinQual:为什么WER不接受代码签名证书?

编辑自2015年1月24日起:现在无法使用其他受信任的证书颁发机构.问答没有过时:

WinQual仍然拒绝签名:

在此输入图像描述

当我们已经确定它是有效的数字签名时:

在此输入图像描述

为了完整起见,我将离开其他人所做的编辑; 只是想指出他是多么的错.他可以忍受这种耻辱:


编辑截至2014年:现在可以使用其他受信任的证书颁发机构.问题和答案已经过时.


在2005年,我尝试与Microsoft建立WinQual帐户,因此我可以选择通过Windows错误报告(WER)自动提交的(如果有)故障转储文件.我不被允许拥有我的崩溃转储,因为我没有Verisign证书.相反,我有一个由Verisign子公司生成的更便宜的产品:Thawte.


您加入的方法是:您对它们提供的示例exe进行数字签名.这证明您是签署应用程序的同一签名者,他们从野外获得了崩溃转储.

在密码学上,需要私钥来在可执行文件上生成数字签名.只有该私钥的持有者才能为匹配的公钥创建签名.生成该私钥的人并不重要.这包括从以下位置生成的证书:

然而,Microsof的WinQual只接受Verisign生成的数字证书.甚至Verisign的子公司也不够好(Thawte).

任何人都可以想到微软不想接受代码签名证书的任何技术,法律或道德原因吗?WinQual网站说:

为何Winqual会员资格需要数字证书?

数字证书有助于保护您的公司免受那些试图冒充您的员工或者对您的公司进行欺诈行为的个人的侵害.使用数字证书可以证明用户或组织的身份.

某种程度上,Thawte数字证书不安全吗?


两年后,我向WinQual发送了提醒通知,我一直在等待能够进入崩溃堆.WinQual团队的回应是:

你好,

感谢您的提醒.我们已通知相关人员这仍是请求.


2008年,我在微软支持论坛上提出这个问题,回复是:

我们目前只接受VeriSign证书.我们没有压倒性的要求来支持其他类型的证书.

接受其他类型的证书不是"设置"可能意味着什么?

如果签署WinQual.exe测试应用程序的密钥的指纹与签署可执行文件的指纹相同,那就是你遇到的崩溃转储:它已被证明 - 它们是我的崩溃转储,将它们交给我.

并不像是有一个特殊的API来检查Verisign数字签名是否有效,而不是所有其他数字签名.无论谁生成密钥,有效签名都有效.

微软可以自由地不信任签名者,但这与身份不同.


所以这是我的问题,任何人都可以想到为什么WinQual没有设置为支持数字签名的任何实际原因?

一个人认为答案是他们只是懒惰:

不是我知道,但我认为运行winQual系统的团队是一个现场团队,而不是一个开发团队 - 就像在个性和技能组合中一样,旨在维护现有系统.我可能错了.

他们不想做改变它的工作.但是,任何人都可以想到任何需要改变的事情吗?无论生成密钥的是什么,它都是相同的逻辑:"指纹是否匹配".

我错过了什么?


更新

很高兴听到其他开发者的故事.这样我知道我并不孤单,这个问题可以作为微软改变的工具.即使我最初的意图是一个抱怨的咆哮,为了保持这个有效的StackOverflow问题,我正在寻找技术原因,为什么微软只能接受Verisign证书.

加密API并不关心颁发证书的公司名称是什么:它只关心签名者链返回受信任的根.

特别是微软可能没有使用已建立的加密基础设施,但仅限于Verisign?

如果有人可以指向任何博客条目,程序经理或开发人员解释原因,我或许会满意.


更新二

人们似乎忽略了我的问题.Windows已经具有代码基础结构,以确保根权限信任数字签名证书.这是我们签名的可执行文件上的数字签名的屏幕截图.

您可以看到我们的证书是由Thawte的代码签名机构证书签署的,而证书又由Thawte签署:

替代文字http://i34.tinypic.com/2hi2cr8.jpg

默认情况下,"thawte"证书随Windows发布:

替代文字http://i38.tinypic.com/ydfr.jpg

Thawte完美服务器CA是够好的了,Windows和Internet Explorer的每个副本已经信任它.并且已经有一个已建立的API来检查证书是否有效(即信任).

当Winqual的人来了,他们将不得不去他们的出路,以避免检查正确的方式,而是推出自己的解决方案,硬编码只威瑞作为一个受信任的根.为什么他们会不顾一切 …

windows error-reporting winqual bumptop

29
推荐指数
4
解决办法
4062
查看次数

标签 统计

bumptop ×1

error-reporting ×1

windows ×1

winqual ×1