次の方法で共有


infファイルのデジタル署名

質問

2014年7月19日土曜日 9:28

お世話になります。

過去の質問にあった「Windows8 x64環境での仮想COMポート(CDC)ドライバのインストールについて」と同じ質問になってしまうかもしれませんが、当方はドライバ周りに疎いハードウェア設計者でして、質問させてください。

USB製品を考えていまして、CDCとしてPCに認識させ、usbser.sysを使ってコンソールアプリで動作させようと考えているのですが、windows8以降(?)infファイルにもデジタル署名が必要と知りました。というわけで、いろいろ検索してみたのですが、infファイルに署名をしている例や方法を見つけることができませんでした。

そこで、下記教えていただけますでしょうか。

・infファイルへのデジタル署名もCA機関(コモドジャパン等?)から、コード;明書を購入する必要があるのでしょうか?

(ドライバ本体やアプリ自体ではないため、年間数万円の出費に躊躇しています。)

・もしくはsignTool.exeで自己;明で良いのでしょうか?その場合は、visual studioを購入する必要がありますか?

(こちらにしても、そのためだけに購入するのか、、と躊躇してしまっています。)

・その他にinfファイルに対してデジタル署名を行う方法はありますでしょうか。

もしかすると、ちんぷんかんぷんなことを書いてしまっているかもしれませんが、よろしくお願いいたします。

すべての返信 (2)

2014年7月20日日曜日 1:39 ✅回答済み

・infファイルへのデジタル署名もCA機関(コモドジャパン等?)から、コード;明書を購入する必要があるのでしょうか?
・もしくはsignTool.exeで自己;明で良いのでしょうか?

一般に配布する場合で、64bitOSを対象にするのであればコード;明書は購入する必要があります。

・visual studioを購入する必要がありますか?

VisualStudioを購入する必要はありません。
ただしWindows8/8.1を対象にできるinf2cat.exeがWDK8以降に入っているため、VisualStudioのインストール済み環境にWDKをインストールしてinf2catを入手する必要があります。
この場合でも無料のVisualStudio 2013 Express for DesktopであればWDK8.1をインストールできます

inf2catはc:\program files(x86)\Windows kits\8.1\bin\x86にあります。VisualStuioやWDKの他ファイルは使いません。
(最低inf2cat.exe,inf2cat.manifestとMicrosoft.*.dllがあればいい)

・その他にinfファイルに対してデジタル署名を行う方法はありますでしょうか。

INFファイルに直接は署名しません。INFファイルからCATファイルを生成し、そのCATファイルに署名をします。
WDKに入っているinf2cat.exeを使用して、

inf2cat /driver:"INFファイルの置いてあるフォルダへのパス"  /OS:X8_64,X8_86,6_3_X86,6_3_X64

のようにコマンドラインで実行するとそのフォルダにCATファイルが生成されます。

そしてsigntool.exを使用して

signtool sign /a /ac "クロス;明書へのパス" /t タイムスタンプサーバのURL "CATファイルへのパス"

のようにして署名します。(/aオプションのところは署名ファイルをPFXで持っている場合などに応じて変えます)

購入した;明書発行機関に一致するクロス;明書はカーネル モードのコード署名用クロス;明書から入手します。
この一覧にない発行機関の;明書は署名に使えません。

詳しくは、ドライバーへの署名デバイス ドライバー パッケージに署名する手順を読んでください。

個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)


2014年7月28日月曜日 7:11

フォーラム オペレーターの星 睦美です。
gekka さん、返信ありがとうございます。

shiitake105 さん、gekka さんからの回答が役立ったのではないかと思います。
回答の内容は今後もフォーラムで参考になる情報だと思いますので今回は私のほうで[回答としてマーク] させていただきました。
次回フォーラムで役立つ回答がありましたら、投稿者から[回答としてマーク] いただければ回答者の励みになります。

それではこれからもMSDN フォーラムをよろしくお願いします。

フォーラム オペレーター 星 睦美 - MSDN Community Support