如何验证 Microsoft 签名
本文演示如何验证一个提交的 Microsoft 签名。
在几种情况下,你可能希望验证提交的 Microsoft 签名:
- 你不确定某个驱动程序是否已被 Microsoft 签名,因此想检查一下。
- 你有两个驱动程序,你需要确定哪一个是通过证明签名的,哪一个是在向仪表板提交 HLK/HCK 结果后签名的。
步骤 1:下载已签名的驱动程序文件
在此步骤中,会下载验证 Microsoft 签名时所需的签名文件。
注意
驱动程序提交文件夹位于包文件中。 这些文件由 Microsoft 签名。 合作伙伴无需对返回的有效负载进行签名。 Microsoft 总是会在批准提交后返回一个 .cat 文件。 如果合作伙伴包含自己的 .cat 文件。 Microsoft 会丢弃它并返回自己签名的 .cat 文件。 过去,Microsoft 仅对 .cat 文件进行签名。 从 Windows 10 开始,Microsoft 现在会对返回有效负载中的所有可移植可执行文件进行签名。 例如,.dll 文件也由 Microsoft 签名:
下载驱动程序签名文件:
- 查找硬件提交,该提交中包含要为其下载签名文件的驱动程序。
- 选择“专用产品 ID”以打开驱动程序详细信息。
- 在“驱动程序详细信息”页面上的“包和签名属性”下,选择“更多”。
- 选择“下载签名文件”。
步骤 2:检查增强型密钥用法 (EKU)
下载签名文件后,可以通过检查 EKU 来验证 Microsoft 签名。 EKU 属于 Microsoft 用于对提交进行签名的证书。
检查 EKU:
选择并按住(或右键单击).cat 文件。
选择“属性”,然后选择“数字签名”选项卡。
选择证书名称,然后选择“详细信息”。
在“详细信息”选项卡上,选择“增强型密钥用法”。 此处会显示证书的 EKU 和相应的 OID 值。 在此情况下,“Windows 硬件驱动程序验证 OID”会以 5 结尾,这意味着驱动程序未进行认证签名:
如果驱动程序已通过证明签名,那么 OID 将以 1 结尾:
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈