web-dev-qa-db-ja.com

Windows8ドライバーのインストールとカタログ/署名の検証

Windows 8(リリースプレビュー)で、質問の解決策として説明されているinf2catまたはmakecatアプローチのいずれかを受け入れることができません。

Windows 8のドライバー署名要件で何が変更されましたか?

検証を無効にしない限り。

現時点では、これらに証明書を使用して署名しているわけではなく、ドライバーのインストールを妨げるエラーを乗り越えようとしているだけです。

Windows 8では、非常にわかりにくいエラーが発生します。

「ドライバーをストアに追加しようとしたときに問題が発生しました。」

イベントログを見ると、何の役にも立ちません。 PnPdriverimporterrorを示す「Windowsエラー報告」からの情報エントリのみ。

Infと一致しないcabファイルで元のファイルを使用すると、他のすべての人がリストしているエラーが発生します。

ファイルのハッシュが、指定されたカタログファイルに存在しません。

私は1つを持っている .infファイルを生成する必要があります.cat にとって。

おそらく私は何か間違ったことをしているのでしょう。アイデア??

INF2CATアプローチ

c:\win_xp_Vista32_64>inf2cat /driver:"." /os:XP_X86,XP_x64,Vista_X86,Vista_x64,7_X86,7_X64,8_X86,8_X64

.......................
Signability test complete.

Errors:
None

Warnings:
22.9.10: usbser.sys in [drivercopyfiles.nt] is missing from [SourceDisksFiles] s
ection in \mchpcdc.inf; ok if file source is provided via LayoutFile in [Version
].
22.9.10: %driverfilename%.sys in [drivercopyfiles.ntamd64] is missing from [Sour
ceDisksFiles] section in \mchpcdc.inf; ok if file source is provided via LayoutF
ile in [Version].

Catalog generation complete.
c:\win_xp_Vista32_64\mchpcdc.cat

MAKECATアプローチ

--- start of catalog.cdf file---

[CatalogHeader]
Name=mchpcdc.cat
ResultDir=.\
[CatalogFiles]
<hash>mchpcdc=.\mchpcdc.inf
---end of .cdf file ---


c:\win_xp_Vista32_64>makecat catalog.cdf

これらの同じファイルは、どちらのアプローチの猫でも、Windows7に問題なくインストールされます。

8
jen

この問題は「Windowsドライバー署名の実施」に関係していると思います。このオプションを無効にすることで、これを解決できます。以下のリンクを参照してください。

http://tivadj-tech.blogspot.in/2012/09/certificate-check-error-when-installing.html

これをWindows10および8PROでテストしました。これを正しく行うには、次の手順に従います。

1)[スタート]メニューから、DDKの「x64Checked BuildEnvironment」(カスタムDOSビルド画面)を見つけます。右クリックして、管理者として実行...

2)ビルドツールなどを使用してソースをコンパイルします。

3)コンパイルされたコードに移動し、テスト証明書を作成します(まだ購入する必要はありません。以下の行で作成された自己署名証明書を使用してください):

makecert -r -pe -ss PrivateCertStore -n CN = newhex.com(Test)NewhexTest.cer

上記は、証明書が「newhex.com(Test)」と呼ばれ、生成されたファイルが「NewhexTest.cer」であることを意味します

4)CATファイルの内容に関する項目を含む.CDFファイルを作成/編集します。

5)以下を実行してCATファイルを作成します。

makecat -v MyCDF.CDF

これにより、CDFで指定されたすべてのファイルを含む署名されていないCATファイルが生成されます。

6)次のようにCATファイルに署名します。

Signtool sign/v/s PrivateCertStore/n newhex.com(test)/ t http://timestamp.verisign.com/scripts/timestamp.dll MyDriverWhatever.cat

これにより、署名されたCATファイルが作成されますが、これを修正するには、WindowsがキーストアにないためNewhexの証明書を信頼できないため、インストールするだけではありません。

7)証明書を秘密鍵ストアに追加します。この手順は管理者アクセスで実行する必要があることに注意してください。そうしないと、(鍵ストアが見つからないなど)に関するエラーが発生します。

certmgr.exe -add NewhexTest.cer -s -r localMachine root

これはキーストアに追加されます。完了したら、次のことができます。

8)デバイスマネージャーに移動し、新しいドライバーを追加すると、警告が表示されますが、強制的に再起動する必要なしに受け入れられ、インストールされます(証明書タイプのアカウントを確認しないでください)。

私はすでにこれを試しましたが、Windows10およびWindows8proバージョンで動作します。

よろしくハイダーサティ

4
Heider Sati

INFファイルがあるため、makecatではなくinf2catを使用することになっています。

INFファイルを修正して、inf2catからのこれらの警告に対処する必要があります。これは、usbser.sysを使用し、警告を発生させない私のINFファイルです。 : https://Gist.github.com/3647208

このスレッドの最初の投稿にあるchinzeiからのアドバイスのおかげで、INFファイルを修正できました: http://www.microchip.com/forums/m488342-print .aspx

引き続き問題が発生する場合は、質問を編集して、INFファイルのソース、または少なくともソースへのリンクを含めてください。

0
David Grayson

同じ問題が発生し、次の手順を使用してTEST証明書を使用してドライバーをインストールできました。

http://msdn.Microsoft.com/en-us/windows/hardware/gg487328.aspx

0
Kyberias