Skip navigation.
ホーム
BLOG-ROMMER 日高のブログ

Windows 10

Windows 10 全般

WinUSB と UWP の今後

古いUSBドライバーをWindows 10 で使いたい にも書いたが、WinUSB の問い合わせが今でも結構ある。それで先日、WinUSBの最新情報がどうなっているのかを見たところ、本家の内容の多くが Windows 8.1 時代のもので、チュートリアル・サンプルが手順通り進めてもビルドできないことを確認した。今回これをデバッグして、Issue を上げたのをきっかけに関連情報とともに記事にする。

デバッグ済 WinUSBサンプルプロジェクトはこちら

 



WinUSB Architecture and Modules

古いUSBドライバーをWindows 10 で使いたい

Windows 7のサポート期限 が近づいて来て、ここ最近聞く様になったのが古いOS用のUSBドライバーを Windows 10 で使いたいという話だ。

どれぐらい古いかと言うと、Windows 2000 とか Windows XP だったりする。当然 32bit Only、そして使いたいのは最新の Windows 10 64bit版。ご存知の方も多いと思うが、昔の Windows 32bit版のドライバーは、結構そのまま Windows 7 (32bit)にインストールできて動作してしまう。しかし Windows 10 のカーネルモードで動作する一般的な USB ドライバーは、 KMCS (Kernel Mode Code Signing) ポリシーや、sha2署名UEFIセキュアブート での厳格な署名制限があり、単純に古い WDM (WDFでも同じ) のUSBドライバーを再ビルドしただけでは、問題無く動作するとは言えない。そこでその大昔のドライバーを Windows 10用 に対応させるためにどの様な方法があるかを、一から開発し直すことも含めて整理した。

Windows 10用ドライバー署名(2019年版)

新しいダッシュボードの運用が始まり、Windows 10 のドライバー署名方法の方法が変わって約3年経った。今でも時折質問が来るので、整理して解説する。

前提:証明書と署名

混同している方が結構多いため、大前提として再度確認するわけだが、証明書(Cerificate)署名(SignatureまたはSigning) は異なるものである。

一般的に証明書は、メーカーやユーザーが証明書発行機関(会社)から調達する。通常は1年程度の有効期限がある。電子的なものだが、例えば後述の EV証明書(Extended Validation 証明書)は、次の写真の様なUSBドングルに入っている。

再発行不可なので、無くしてはいけない。時代に逆行している様に思えるが、物理デバイスが必須である。詳しい事情は良く知らないが、どこかの国でどこかの会社がいい加減な証明書をバラまいたためにこの様な事態になったという噂がある。

コンテンツ配信