2

シンプルな構造のWindows USBドライバーをインストールしようとしています(次のコンテンツのみを含む-

  • app.inf、
  • app.cat
  • WdfCoInstaller01005.dll
  • WinUSBCoInstaller.dll

)。ドライバーは、Digicert が発行した有効な標準カーネル モード コード署名証明書を使用してsha 256署名されています。ファイルのプロパティを表示すると、 app.catファイルにデジタル署名が表示されます。すべての最新の更新プログラム ( KB3033929を含む) がインストールされた Windows 7 SP1 64 ビット マシンにinstall-shieldセットアップを介してドライバーをインストールしようとしています。Windows がこのドライバー ソフトウェアの発行元を確認できないという警告が引き続き表示されます。

これをトラブルシューティングするために、 Stackoverflow リンクの 1 つが示唆するように、ターゲット マシンに証明書をインストールしようとしました 。まだ希望はありません。

.cat ファイルを生成し、.cat ファイルに署名するプロセスで、次のコマンドを使用しました。(.sys ファイルはありません)

Inf2Cat /driver:"C:\CodeSigning" /os:7_X64,7_X86

C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64>signtool.exe si
gn /v /ac "C:\CodeSigning\DigiCert High Assurance EV Root CA.crt"  /a /t ht
tp://timestamp.digicert.com  "C:\CodeSigning\Driver\app.cat"

EDITさらに情報を追加します。

デジタル署名情報

ドライバーのインストール中にエラーが発生しました

Sha256 署名も試しました ( https://www.digicert.com/code-signing/driver-signing-in-windows-using-signtool.htmを参照 (セクション : Internet Explorer または Chrome for Windows)

signtool sign /v /ac "C:\path\DigiCert High Assurance EV Root CA.crt" /a /tr http://timestamp.digicert.com /td sha256 /fd sha256 "c:\path\to\FileToSign.cat"

それでも同じエラーが発生します。

EDIT 2-Infファイルのソースを追加

以下の.infファイルのソースを参照してください (少しレガシーである可能性があります)。

[Version]
Signature = "$Windows NT$"
Class =XYZdevice
ClassGuid={ad769fbf-c592-4b8c-940a-6e3782a545e8}
Provider = %ProviderName%
DriverVer=10/13/2017,6.00.2064
CatalogFile=%MFGFILENAME%.cat

; ========== Manufacturer/Models sections ===========

[Manufacturer]
%ProviderName% = XYZInc,NTx86,NTamd64

[XYZInc.NTx86]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_1448&PID_4AC0&REV_0001

[XYZInc.NTamd64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_1448&PID_4AC0&REV_0001

; =================== Installation ===================

[ClassInstall32]
AddReg=SampleClass_RegistryAdd

[SampleClass_RegistryAdd]
HKR,,,,%ClassName%


;[1]
[USB_Install]
Include=winusb.inf
Needs=WINUSB.NT

;[2]
[USB_Install.Services]
Include=winusb.inf
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall

;[3]
[WinUSB_ServiceInstall]
DisplayName     = %WinUSB_SvcDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WinUSB.sys

;[4]
[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install

[WinUSB_Install]
KmdfLibraryVersion=1.5

;[5]
[USB_Install.HW]
AddReg=Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{15630179-b622-4834-8ff7-9916b1446884}"

;[6]
[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01005.dll,WdfCoInstaller","WinUSBCoInstaller.dll"

[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01005.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

; ================= Source Media Section =====================
;[7]

[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64

[SourceDisksFiles.x86]
WinUSBCoInstaller.dll=1
WdfCoInstaller01005.dll=1

[SourceDisksFiles.NTamd64]
WinUSBCoInstaller.dll=2
WdfCoInstaller01005.dll=2

; =================== Strings ===================

[Strings]
MFGFILENAME="XYZDevice"
ProviderName="XYZ Inc"
ClassName="XYZ device"
USB\MyDevice.DeviceDesc="XYZ"
WinUSB_SvcDesc="XYZ"
DISK_NAME="Drivers"

副署名の詳細も確認しました。下の画像を参照してください。

  • 相互署名に使用される証明書の拇印 (拇印: 2f 25 13 af 39 92 db 0a 3f 79 70 9f f8 14 3b 3f 7b d2 d1 43 DigiCert High Assurance EV Root CA の相互証明書)
  • 署名済みファイルのプロパティから見える相互署名証明書の拇印は 40 01 91 47 5c 98 89 1d eb a1 04 af 47 09 1b 5e b6 d4 cb cb (正しいかどうかはわかりません)

ここに画像の説明を入力

助けてください。私はこれに多くの時間を費やしましたが、まだ結果が得られていません。これに関する助けは本当にかなりのものです。

4

0 に答える 0