jjzjj

windows - 哪种代码签名可以对驱动程序 (.sys) 进行签名?

coder 2024-06-19 原文

每个人。我为 Windows Vista/7/8 开发了一个 NDIS 6.0 协议(protocol)驱动程序,并计划用证书对其进行签名。大多数公司提供支持.exe .ocx .dll 签名的代码签名证书,但是他们在驱动程序(.sys)支持方面非常不确定。一些公司提供另一种称为“内核模式驱动程序签名”的服务,它直接支持 .sys 签名,但它比“普通”代码签名更昂贵。

那么普通代码签名是否支持驱动程序签名?我应该选择哪一个来签署 Windows Vista/7/8 的驱动程序?越便宜越好。 普通代码签名与内核模式驱动程序签名?

这是我收集的一份 list ,也许有帮助:

VeriSign/Symantec 499$(用于 Microsoft Authenticode 的 Symantec 代码签名证书) http://www.symantec.com/code-signing?inid=vrsn_symc_cs_index&searchdomain=baidu.com&searchterms=verysign

GlobalSign 229$(内核模式驱动程序签名) https://www.globalsign.com/code-signing/microsoft-authenticode.html

DigiCert 178$(内核模式驱动程序签名) http://www.digicert.com/code-signing/kernel-mode-certificates.htm

Comodo 180$(代码签名) http://www.comodo.com/business-security/code-signing-certificates/code-signing.php?key5sk1=b235a5262aa0afd5792aa6a8dc50921ec66eb6a0&key5sk2=2128&key5sk3=1372730219000&key5sk4=2128&key5sk5=1372730234000&key5sk6=&key5sk7=137

2730365000&key6sk1=&key6sk2=CH270145394&key6sk3=7&key6sk4=zh-

us&key6sk5=CN&key6sk6=0&key6sk7=Google&key6sk8=117700&key6sk9=1366768&key6sk10=true&key6sk11=d9b4635431849dd2a58ca7162e81d9918b5d533c&key6s

k12=2034&key7sk1=2&key7sk2=169&key1sk1=ors&key1sk2=谷歌

TuCows 75$(不确定)(代码签名) https://author.tucows.com/index.php?action=auth&redirect=certs.php

K 软件 95 美元(代码签名,来自 Comodo,不适用于 .sys) http://codesigning.ksoftware.net/

K 软件 213$(内核模式驱动程序签名,来自 DigiCert) http://codesigning.ksoftware.net/index_dc.html

GoDaddy 200 美元(代码签名) http://www.godaddy.com/ssl/code-signing-certificate.aspx?isc=gsndcnm12&ci=13314

最佳答案

如果没有正确签名,您将无法在 x64 窗口加载驱动程序。并非所有公司都拥有微软的交叉证书用于内核签名 - 你可以查看 http://msdn.microsoft.com/en-us/library/windows/hardware/gg487315.aspx#E5C完整列表。从您的列表中 - Verisign、GlobalSign 和 DigiCert。

关于windows - 哪种代码签名可以对驱动程序 (.sys) 进行签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17416472/

有关windows - 哪种代码签名可以对驱动程序 (.sys) 进行签名?的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  3. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  4. ruby-on-rails - 按天对 Mongoid 对象进行分组 - 2

    在控制台中反复尝试之后,我想到了这种方法,可以按发生日期对类似activerecord的(Mongoid)对象进行分组。我不确定这是完成此任务的最佳方法,但它确实有效。有没有人有更好的建议,或者这是一个很好的方法?#eventsisanarrayofactiverecord-likeobjectsthatincludeatimeattributeevents.map{|event|#converteventsarrayintoanarrayofhasheswiththedayofthemonthandtheevent{:number=>event.time.day,:event=>ev

  5. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  6. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  7. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  8. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  9. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  10. ruby - 我可以使用 Ruby 从 CSV 中删除列吗? - 2

    查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html

随机推荐