问题标签 [winqual]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
4209 浏览

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

2015 年1 月 24 日编辑:现在无法使用其他受信任的证书颁发机构。一问一答并不过时:

WinQual 仍然拒绝签名:

在此处输入图像描述

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

在此处输入图像描述

为了完整起见,我将在下面留下其他人所做的编辑;只是为了指出他错了。他可以忍受这种耻辱:


自 2014 年起编辑:现在可以使用其他受信任的证书颁发机构。问与答已过时。


2005 年,我尝试在 Microsoft 建立一个 WinQual 帐户,这样我就可以获取通过 Windows 错误报告 (WER) 自动提交的(如果有的话)崩溃转储文件。我不允许进行故障转储,因为我没有 Verisign 证书。相反,我有一个更便宜的,由 Verisign 的子公司生产:Thawte。


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

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

然而微软的 WinQual 只接受威瑞信生成的数字证书。甚至 Verisign 的子公司都不够好(Thawte)。

谁能想到微软不想接受代码签名证书的任何技术、法律或道德原因?WinQual 网站说:

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

数字证书有助于保护您的公司免受试图冒充您的员工或以其他方式对您的公司实施欺诈行为的个人的侵害。使用数字证书可以证明用户或组织的身份。

Thawte 数字证书是否不安全?


两年后,我向 WinQual 发送了提醒通知,我一直在等待能够获得我的故障转储。WinQual 团队的回应是:

你好,

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


2008 年,我在 Microsoft 支持论坛上提出了这个问题,得到的回应是:

我们现在只设置接受 VeriSign 证书。我们对支持其他类型的证书的需求并不强烈。

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

如果签署 WinQual.exe 测试应用程序的密钥的指纹与签署可执行文件的指纹相同,那么你在野外得到的故障转储:证明 -它们是我的故障转储,把它们给我。

与所有其他数字签名相反,并没有一个特殊的 API 来检查 Verisign 数字签名是否有效。无论谁生成密钥,有效的签名都是有效的。

Microsoft可以信任签名者,但这与身份不同。


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

一个人推测答案是他们只是懒惰:

我不知道,但我会假设运行 winQual 系统的团队是一个实时团队,而不是一个开发团队——例如,面向维护现有系统的个性和技能。不过我可能是错的。

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

我错过了什么?


更新

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

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

微软没有使用已建立的加密基础设施,而是仅限于威瑞信,这可能会发生什么?

如果有人能指出任何博客条目,其中项目经理或开发人员解释了原因,我也许会感到满意。


更新二

人们似乎错过了我的问题的重点。Windows 已经拥有代码基础结构以确保数字签名证书受到根授权机构的信任。这是我们签名的可执行文件之一的数字签名屏幕截图。

您可以看到我们的证书是由 Thawte 的 Code-Signing authority 证书签名的,而该证书又是由 Thawte 签名的:

替代文字

Windows 默认附带“解冻”证书:

替代文字

Thawte Premium Server CA足够好,Windows 和 Internet Explorer 的每个副本都已经信任它。并且已经有一个既定的 API 来检查证书是否有效(即受信任)。

当 WinQual 人出现时,他们不得不竭尽全力避免检查正确的方法,而是推出了自己的解决方案,仅将 Verisign 硬编码为受信任的根。为什么他们会竭尽全力忽略其他受信任的根权限,即在运行其代码的 Windows 机器上提供的权限,而是硬编码 Verisign?

他们没有像其他人那样做(Windows Explorer、Firefox、Chrome、Internet Explorer、Opera、CertMgr 等),而是专门只允许 Verisign。我的问题是为什么。

Why would WER not accept code-signing certificates?

如果它只是:

  • 因为最初写它的人不知道正确的方法离开他的头顶
  • 而不是花费大量时间研究正确的方法
  • 他只是把东西扔在一起
  • 只是为了测试,他只硬编码了一个签名者
  • 完全打算稍后回来并修复它
  • 但代码现在正在运行
  • 它在没有被修复的情况下上线了
  • 没有人愿意承担破坏它的责任
  • 没有人愿意花钱修理它
  • 并且没有足够的客户抱怨将其作为重中之重
  • 即使有很多人抱怨,买一个威瑞信也只要 99 美元
  • 所以你不能放手去买一个威瑞信吗?

……这样就好了。除了我不相信。我不相信这是投入生产的测试代码。我觉得这是一个有意识的、具体的决定,让他们忽略了其他签名者。他们所做的,并将继续,只对威瑞信表示敬意。

但是对于我的生活,我想不出原因。

0 投票
1 回答
107 浏览

hash - Microsoft 如何为 winqual 事件生成事件 ID?

我很好奇用于识别winqual中项目的ID。

我认为这是某种哈希。这是出版的吗?

模块名称、版本和偏移量的哈希?

这似乎是合适的,但是除非使用一些截断/有损算法,否则尺寸太小而无法涵盖可能性。

这似乎是由客户端机器上的 minidump 生成的。

0 投票
2 回答
307 浏览

macos - Mac OSX 的 Winqual

有没有一种方法可以查看我们的 mac 应用程序的应用程序崩溃,就像我们可以使用 Microsoft 的 WinQual for windows 应用程序使用错误报告一样?

谢谢!

问候乌韦

0 投票
1 回答
421 浏览

outlook-addin - 从 Outlook COM 加载项手动触发 Windows 错误报告

我正在使用 Visual Studio 2008 和 VSTO 编写 Outlook COM 插件。如果加载项中未处理异常,我希望它触发 Windows 错误报告 (WER)。我们公司可以访问 WinQual,以便我们可以从我们程序中出现的用户那里获得 WER 报告的报告。有没有办法做到这一点?

据我所知,这是不可能的,但想检查一下是否有办法。WER 仅在应用程序生成未处理的异常时触发。在 Outlook 和 Outlook 中运行的 Outlook 加载项具有围绕对 COM 加载项的调用的异常处理程序,以防止 COM 加载项导致 Outlook 崩溃。由于 Outlook 不会崩溃,因此不会触发 WER。

0 投票
1 回答
118 浏览

windows-error-reporting - 有没有办法为 Windows 临时目录执行 WER“请求附加文件”?

由于看起来像安装问题,我的公司已经向 Windows 错误报告报告了许多崩溃。我们安装的日志通常位于 windows\temp 目录中。我想将安装日志文件包含为“请求附加文件”条目,但是似乎没有任何方法可以访问提供的环境变量列表的子目录。Windows 临时目录不在您可以使用的值列表中,所以我被卡住了。

一般来说,我不明白如何通过“请求附加文件”获得几乎任何有用的东西。例如,%programfiles% 目录不应包含任何有用的文件,它们应位于您产品的子目录中。我错过了什么?

0 投票
1 回答
370 浏览

minidump - 如何使用 WER 请求其他数据?

我是 WER 的新手(其实是几天前才注册的)。

我设法建立了一个帐户并将我的测试应用程序映射到它。

但是,当我调用未处理的异常时,我看到没有收集其他文件(解决方案中心有正确的报告,BucketID <> 8,尚未到达 winqual,但至少已发送)。

我希望将收集诸如 Version.txt、AppCompat.txt 和 minidump.mdmp 之类的文件。我还尝试使用WerRegisterFile 函数添加文件。没有错误,但也没有发送文件。

我读过这个线程- 它说只有在服务器要求时才会收集额外的数据。所以,我的问题是(可能听起来很愚蠢,但是......):我怎样才能请求额外的数据?我已经扫描了我的个人资料中的所有内容,但唯一有用的选项与产品/文件映射有关。

我觉得这应该很明显(帮助中没有讨论),但是......我被卡住了:(一个屏幕截图表明在哪里看会很好:)

0 投票
2 回答
1191 浏览

windows - 如何测试 Windows 错误报告?

我的公司通过 Winqual 参与 Windows 错误报告。我们想使用 WERRegisterMemoryBlock 向我们的崩溃报告中添加一些额外的数据。显然,在我们发布下一个版本之前,我们希望确保它能够正常工作。我们如何测试它?

有没有办法在本地精确预览要发送的内容?这是否真实地再现了我们将能够从 Winqual 中检索到的内容?

或者,我们能否从开发人员机器生成真实报告,然后从 Winqual 检索报告?我们如何将这个测试用例与我们的其他 Winqual 数据区分开来?

0 投票
1 回答
2760 浏览

windows-7 - “兼容 Windows 7”的廉价代码签名

我目前正在寻找“Windows 7 兼容”认证,要获得它,您需要实施代码签名。现在我在寻找一个便宜的证书,我在 Stack Overflow 问题最便宜的 Java 代码签名证书中找到了Verisign证书的一些便宜的替代品?(非自签名)

我在 Internet 上的某处发现 Microsoft 只接受证书的评论。这是真的吗,还是我可以使用Comodo证书?

0 投票
1 回答
334 浏览

winqual - WER (winqual) Web 服务 API 是否记录在任何地方

我可以找到一些通过 SOAP API 访问 WER 数据的示例,例如:http: //blogs.msdn.com/b/wer/archive/2010/05/14/winqual-web-services-with-windows-电源外壳.aspx

他们调用的 API 是否记录在任何地方?

0 投票
2 回答
1694 浏览

c++ - 如果我有一个 minidump 文件或异常结构,我如何获得 winqual 使用的“bucket id”?(Windows c++)

SO上有一些相关的问题-但还没有找到答案-

我想生成一个“签名”/bucket id 来向我们的问题跟踪系统报告小型转储/崩溃。由于 MS 已经使用“bucket ids”做到了这一点,我想我可以重新使用他们的 bucket/signature 生成。

我可以从顶级过滤器或过滤器内部的 _EXCEPTION_POINTERS 对象或 _MINIDUMP_EXCEPTION_INFORMATION 结构或小型转储本身获取该 ID 吗?

这是一个 C++ 应用程序。