ドライバは64ビットで署名

4175 ワード

1.infファイルの説明
Microsoftの説明:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/install/inf-version-section
[Version]
 
Signature="signature-name"
[Class=class-name]
[ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}]
[Provider=%INF-creator%]
[ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}]
[LayoutFile=filename.inf [,filename.inf]... ]  (Windows 2000 and Windows XP)
[CatalogFile=filename.cat]
[CatalogFile.nt=unique-filename.cat]
[CatalogFile.ntx86=unique-filename.cat]
[CatalogFile.ntia64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntamd64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntarm=unique-filename.cat]  (Windows 8 and later versions of Windows)
[CatalogFile.ntarm64=unique-filename.cat]  (Windows XP and later versions of Windows)

DriverVer=mm/dd/yyyy,w.x.y.z
[PnpLockDown=0|1] (Windows Vista and later versions of Windows)
[DriverPackageDisplayName=%driver-package-description%]
[DriverPackageType=PackageType]


[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INF_Provider%
CatalogFile=aha154_ntx86.cat
DriverVer=01/29/2010

[SourceDisksNames]
;
; diskid = description[, [tagfile] [, , subdir]]
;
1 = %Floppy_Description%,,,\WinNT

[SourceDisksFiles.x86]
;
; filename_on_source = diskID[, [subdir][, size]]
;
aha154x.sys = 1,\x86

; ...

[Strings]
INF_Provider="Adaptec"
Floppy_Description = "Adaptec Drivers Disk"
; ...

雪のURLを見ます:https://bbs.pediy.com/thread-190884.htm
 
テスト署名取得:コンパイルされたドライバの場所をE:WinDDkmy_と仮定test\objchk_win7_amd64\amd64 1.テストで使用するデジタル証明書を作成します.管理者権限を使用してコマンドライン(VSが持参した64ビットコマンドラインまたはWDKコマンドラインx 64 Checked Build Environment)を開き、次のコマンドを入力します.makecert–r-pe-ss PrivateCertStore-n「CN=Contoso.com(Test)」My_Test.cer
MakeCert -r -pe -ss PrivateCertStore -n "CN=Contoso.com(Test)"testcert.cerこの時点でディレクトリの下にMyが生成されますTest.cerのテスト証明書;管理者権限を使用しないと失敗する可能性があります.cmdを使用すると失敗する可能性があります.2.INFファイルを修正してディレクトリファイルを生成する:一般的なINFファイルには、versionセクション[version]Signature=「$Windows NT$」Class=xxx ClassGUID=xxx Provider=xxx DriverVer=xxxがあり、このノードの最後にCatalogFileを追加する.NtAMD64 = My_Test_AMD64.cat注意しなければならないのは、このCatalogFileはCatalogFileだけです.NtAMD64 CatalogFile.Nt CatalogFileの3つの状況;次に、INFファイルもドライバsysファイルのパスの下に置く、管理者権限を使用してWDKが持参したコマンドラインを開いて対応するドライバパスに入り、次のコマンドInf 2 catを入力.exe /driver:E:\WinDDk\my_test\objchk_win7_amd64\amd64\ /os:7_x 64ここにはいくつかの場所で問題が発生します.まず/driver:後ろにスペースがないとエラーが発生します.次はos:7_x 64とはwin 7のx 64プラットフォームを指す(この時はAMD 64とIA 64を区別しない).最後にINFファイルもこのディレクトリの下になければならなくて、フォーマットは間違いを犯すことができなくて、DriverVerこのノードの値は最も間違いやすいです;3.catファイルへの署名:管理者権限でWDKバンドを開くコマンドラインを使用してドライバパスの下にナビゲートし、Signtool sign/a/v/s zcPrivateCertStore/n zcContosoと入力.com(Test) /t http://timestamp.verisign.com/scripts/timestamp.dll My_Test_AMD64.catはここでネットワークを接続する必要があります.ネットワークを接続しないと、タイムスタンプを生成する必要があるため、警告があります.4.テストデジタル証明書の登録:管理者権限でWDKコマンドラインを開き、ドライバファイルパスの下にナビゲートし、以下のコマンドを入力:certmgr.exe /add My_Test.cer /s /r localMachine root 5.ドライバファイルへの署名:WDKコマンドラインを管理者権限で開き、ドライバファイルパスの下にナビゲートし、Signtool sign/a/v/s zcPrivateCertStore/n zcContosoと入力.com(Test) /t http://timestamp.verisign.com/scripts/timestamp.dll xxxx.Sysここではネットワークが必要です.ネットワークに接続しないと、タイムスタンプを生成する必要があるため、警告があります.6.テスト署名をインストールする:ターゲットマシンでxxx.sys xxx.inf My_Test.cer My_Test_AMD64.cat,certmgr.exeをパスの下に配置し、管理者権限でCMDコマンドラインを開いてこのディレクトリにナビゲートし、証明書を登録し、テストモードを開くために以下のコマンドを入力します:certmgr.exe /add My_Test.cer /s /r localMachine root certmgr.exe /add My_Test.cer /s /r localMachine trustedpublisher cd c:\windows\system32\bcdedit.exe/set TESTSIGNING ONテストモードを1回開いた後、コンピュータを再起動しても、明示的に閉じない限り、再設定する必要はありません.フォームの右下には、現在テストモードであることが示され、閉じるコマンドはbcdeditです.exe/set TESTSIGNING OFF注意事項:1.ターゲットマシンにcertmgrがない場合exeでは、ホストから64ビットのcertmgrを直接コピーすることができます.exe過去の;2.infファイルを変更せずにsysファイルを再生成した場合、sysファイルを生成した後に駆動ファイルへの再署名を再度実行するだけでよい.テスト証明書もディレクトリファイルも再生成する必要はありません.3.管理者権限を使用してコマンドラインを起動することが望ましい.WDKのコマンドラインを毎回閉じる必要はなく、実際には同じWDKのコマンドラインをずっと使用することができます.入力が面倒だと思ったら、貼り付けをコピーすることができます.ターゲットマシン上の登録証明書はbatファイルを書くことができます.4.テスト署名はプリインストールを使用してインストールできます.makecert、Inf 2 cat、Signtool、certmgrはWDKに存在する.