tfs - 需要签署用户模式驱动程序但找不到匹配的交叉证书 - Windows 和 TFS 构建
问题描述
我收到了用户模式 USB 即插即用驱动程序的源代码和来自 Go Daddy 的证书,并被指示为源代码设置 TFS 构建并使驱动程序“签名”。从来没有这样做过,而且这里没有其他人这样做过,我一直在搜索互联网,特别是 Microsoft 页面,到目前为止,我发现的所有说明都与内核模式驱动程序有关。此页面至少提到“用户模式” - 一次。 为公开发布签署驱动程序 但是在提到必须签署内核模式和用户模式驱动程序之后,页面的其余部分将重点介绍如何签署内核模式驱动程序。所以我心想:“也许用户模式和内核模式的指令是一样的。” 因此,我尝试按照说明进行操作。
首先,我没有获得带有证书的私钥文件,但偶然发现我可以使用 certmgr 而不是使用 Pvk2Pfx 生成个人信息交换 (pfx) 证书。所以我现在有一个 pfx 证书,但是说明说我需要获得一个交叉证书。我按照说明进行操作,但找不到具有相同指纹的 Go Daddy 交叉证书。
当我在 certmgr 中查看根颁发机构证书时:颁发者:Go Daddy 根证书颁发机构 - G2 指纹:47 be ab c9 ....
但是当我按照说明获取交叉证书时,虽然我确实找到了 Go Daddy 的交叉证书,但没有一个匹配的指纹。
除非,我完全误解了,构建服务器需要交叉证书才能构建驱动程序包并对其进行签名。我错了吗?我一定是误会了什么。我哪里错了?
TIA,达尔文
解决方案
我花了一点时间才终于认识到交叉证书已经安装在证书存储中。我只是没认出来。我假设它是在我安装驱动程序证书时安装的。部分混淆是因为 Visual Studio 2016 在尝试选择证书时无法识别项目属性中的驱动器证书或交叉证书。直到我使用 VS 安装证书,它们才出现。
推荐阅读
- sql-execution-plan - SQL 执行计划重载?
- sql - 如果不存在则插入 ms-access
- performance - ASP.NET Core Web 应用程序的奇怪性能问题(阻塞?)
- python - Python3 更新 & 写入 JSON 值
- angular - 没有'new'就不能调用类构造函数 NgbDatepickerI18n
- javascript - 从类组件访问 App.js 中定义的变量
- reactjs - 编译:第一个参数是无效路径 = "message-{Date.now()}" 路径必须是非空字符串并且不能包含 "."
- javascript - 如何将多个数组中的项目添加到另一个数组中?
- r - 将行转换为列 R
- stripe-payments - 测试 Stripe 支付,event.preventDefault() 似乎被忽略了