windows - 内核驱动签名

标签 windows windows-7 kernel driver signing

我环顾四周,似乎无法直接回答这个问题。

我是业余程序员,我在 Windows 驱动程序方面做了大量工作,并为 Windows XP 编写了我自己的个人“防病毒”驱动程序。所以不要误会我的意思,我不在任何软件开发公司或类似公司工作。

我的问题是:就 Windows 7 x64 而言,是否有任何可能的合法方法可以用来释放我的驱动程序的签名,而该驱动程序仅供我个人使用?

是的,我很清楚我可以对我的驱动程序进行测试签名并在 Windows 测试模式下在虚拟机中运行它,我经常这样做。但是,如果您在测试模式下使用过 Windows,就会知道存在一些主要缺点。

总而言之,我(一个业余爱好者)是否可以发布一个驱动程序供我个人使用,而不必处理 Windows 测试模式?

谢谢。

最佳答案

如果它是启动时需要的驱动程序,我认为如果不使用 Microsoft 认可的提供商的证书对其进行签名,我认为没有办法让它使用它(我认为只有 Verisign 用于驱动程序?)。

如果这是启动时不需要的普通设备驱动程序,您可以创建自己的证书并使用它们。我自己为 Vista x64 做了这件事,通过签署 .sys 和 .inf 文件让 HP ScanJet 驱动程序在 XP x64 上工作。

我在我的域上使用 Active Directory 证书服务来颁发代码签名证书供我使用,并让我的机器信任 ADCS CA 证书。这两个操作将使 Windows 信任您签名的驱动程序。

我相信您可以使用 OpenSSL 创建 CA 证书并使用它颁发代码签名证书,但我没有实践过。

再次重申,如果在启动时需要此驱动程序,那么此方法将不起作用,如果它用于可随时连接的设备,则应该可以。

关于windows - 内核驱动签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7314705/

相关文章:

c++ - 在 Windows R 中使用 openmp,rtools 是否支持 openmp?

python - 在字典中创建一个集合

linux - 安装 Centos 后恢复 Windows 7 引导加载程序

python-2.7 - cv2.imread 总是返回 NoneType

c++ - 如何让 g++ 忽略某些代码的 -mregparm?

windows - 适用于 Windows 10 的 Thingworx 客户端

c++ - 代码注入(inject)在 Vista 或 Win7 上不起作用?

windows - Windows系统调用有不同的库吗?

linux - 是否可以让两个内核驱动程序以相同的供应商和设备 ID 在一个 PCIe 总线上注册

windows - 禁用sed中反斜杠的转义功能