SSLならコモドのEV・企業・ドメイン認証

SSLならコモドのEV・企業・ドメイン認証

サポート


こちらからサポート記事を検索いただけます

検索キーワード:

署名方法について (コード証明書関連)

Windowsのドライバー署名について

Windowsのドライバー署名について

Windows ドライバーの署名方法は、OSのバージョンやドライバーのモードなどにより方法が異なります。
Microsoft ではセキュリティ環境の変化と現実的な利便性の観点から、いままでも、署名方法を変更してきた経緯があります。例えば、2016年11月10日から「 Windowsドライバー署名のHCK/HLKの登録サイト」が「Hardware Dev Center Dashboard」に変更になりました。
本ページでは 2017年1月18日現在のMicrosoftの資料をもとにWindowsドライバーへの署名方法をまとめたものです。

署名対象のドライバーが、Windows Vista 32bitからWindows10までのどのOS向けのものか、あるいは複数のOS向けのものかによって署名方法が異なる場合があります。
Windows10の場合は、OSがどのようにインストールされたかによっても署名方法に影響がありますので特に注意が必要です。

ドライバーのモードには「ユーザー モード」と「カーネル モード」があります。

2つのモードの違いについての詳細は、Microsoft Developers Networkの[ ユーザー モードとカーネル モード ] を参照してください。


カーネル モードドライバーWindows Vista64bit以降で利用できる2つの署名方法



本項の詳細は「 Microsoft Developers Network 」の [ Windows Driver Signing Tutorial ] を参照してください。

Windows Vista 64bit以降すべてのカーネル モード ドライバーは署名が必要で、以下の2つの異なる署名方法が利用できます。

「 ① Windowsハードウェア認定 」
Windows ロゴ プログラム (ハードウェア)、WHQL のことです。
WHQLに登録することにより、Microsoftによる署名(Certify your driver with Microsoft)を得ることができます。
「Windows対応」のロゴマークを使用することが許可されるなどのメリットがあります。 Hardware Dev Centerで登録します。
「 ② SPC証明書を使った署名 」
SPC証明書とは、EVコードサイニング証明書のようにMicrosoftのCross-Certificate(クロスルート証明書)を利用できる証明書のことです。
SignToolコマンドでSPC証明書を指定してカーネル モードドライバーに署名します。
2つの署名方法
署名方法 内容 特記事項
Windowsハードウェア認定 Hardware Dev Centerへの登録により Microsoftが署名 Hardware Dev Center に登録すると「Windows対応」のロゴマークを使用することが許可されるなどのメリットを受け取れる。
SPC証明書による署名 「通常版コードサイニング証明書あるいは EVコードサイニング証明書」と「MicrosoftのCross-Certificate(クロスルート証明書)」による署名 boot-start driversの場合はSPC証明書を利用した埋め込み署名が必要。


Windowsハードウェア認定手順と証明書


Windows10の場合

「HLKを利用する方法」と「構成証明署名」の2つの方法があります。

HLKを利用する手順
本項の詳細はMicrosoft Developers Networkの [ Windowsハードウェアの互換性 ] を参照してください。
  1. ハードウェア ダッシュボードに登録
    会社をハードウェア ダッシュボードに登録します。この手順中でWinqual.exeファイルに EVコードサイニング証明書で署名する必要があります。
  2. HLKのインストールとテストの実行
    提出パッケージの作成過程ですべての提出にEVコードサイニング証明書で署名する必要があります。
  3. ハードウェア ダッシュボードに提出認定を受ける
構成証明署名手順
本項の詳細はMicrosoft Developers Networkの [ Attestation Signing a Kernel Driver for Public Release ] を参照してください。

構成証明署名は、Windows10デスクトップのカーネル モード ドライバーとユーザー モード ドライバーをサポートしています。

構成証明署名は以下の手順により行います。

  1. EVコードサイニング証明書を取得
  2. ハードウェア デベロッパー センター (Sysdev) ダッシュボード サービス用に会社を登録
  3. Windows Driver Kitをインストール
  4. CABファイル提出を作成
  5. EVコードサイニング証明書を使って CAB ファイル提出に署名
  6. ハードウェア デベロッパー センター (Sysdev) ダッシュボードでCABファイルを提出
  7. ドライバが正しく署名されていることを検証する
  8. Windows 10でデスクトップ用のドライバをテストする


Windows Vista ~ Windows8+の場合

本項の詳細はMicrosoft Developers Networkの [ Windowsハードウェア認定 ] を参照してください。
  1. ハードウェア ダッシュボードに登録
    会社をハードウェア ダッシュボードに登録します。この手順中でWinqual.exeファイルにEVコードサイニング証明書またはコードサイニング証明書で署名する必要があります。
  2. HCKのインストールとテストの実行
    提出パッケージの作成過程ですべての提出にEVコードサイニング証明書またはコードサイニング証明書で署名する必要があります。
  3. ハードウェア ダッシュボードに提出認定を受ける


Windows Vista ~ Windows10のすべてで利用できるカーネル モードドライバーの場合

本項の詳細はMicrosoft Developers Networkの [ Driver Signing Policy ] を参照してください。

Windows10についてHLKテストを行い、Windows 8.1以前のバージョンについてHCKテストを行った後、2つのテストログとテスト結果をWindows10のHLKでマージしてWindows Hardware Developer Center Dashboard portalに提出します。

  1. Windows10についてHLKテストを行う
  2. Windows8.1以前のバージョンについてHCKテストを行う
  3. 2つのテストログとテスト結果をWindows10のHLKでマージする
  4. Windows Hardware Developer Center Dashboard portalに提出
    Package過程でWindows Vista、Windows7についてはSHA-1証明書が必要です。sha256(SHA-2)はWindows8以降でサポートされます。


Windows10 (Version 1607) カーネル モードドライバー


Windows10 (Version 1607) カーネル モードドライバーの環境ごとの署名方法
本項の詳細はMicrosoft Developers Networkの [ Driver Signing changes in Windows10(Version 1607) ] を参照してください。

Windows10のdesktop editions (Home, Pro, Enterprise, Education) とWindows Server 2016向けのカーネル モードドライバーはWindows Hardware Developer Center Dashboard portalでの署名が必要で、この時EVコードサイニング証明書が必要です。

上記にもかかわらず、他のOSからWindows10 (Version 1607) にアップグレードされたOSの場合、Windows Code Integrityは DevPotal (Windows Hardware Developer Center Dashboard portal) での署名がなくても Windows8までで有効な署名であればインストール可能です。

新規インストールのWindow10(Version 1607) は DevPotal (Windows Hardware Developer Center Dashboard portal) での署名がないカーネル モードドライバーはインストールできません。



新規署名

Windows10 (Version 1607) 向けのカーネル モードドライバーに新規に署名する場合、以下を参照してください。NGとなっている署名方法は利用できません。

OSのインストール状況Secure Boot署名方法可否
新規インストールONWindowsハードウェア認定OK
新規インストールONSPC 証明書による署名NG
新規インストールOFFWindowsハードウェア認定OK
新規インストールOFFSPC 証明書による署名OK
アップグレードONWindowsハードウェア認定OK
アップグレードONSPC 証明書による署名OK
アップグレードOFFWindowsハードウェア認定OK
アップグレードOFFSPC 証明書による署名OK
既存署名

SPC証明書による署名済みのカーネル モードドライバーで、2015年7月29日以降に発行された証明書を使っている場合、新規インストールWindows10 (Version 1607) Secure Boot ON向けでは再署名が必要です。



sha256(SHA-2)対応


本項の詳細はMicrosoft Developers Networkの [ コード署名証明書の取得( ] を参照してください。

SHA-256はWindows8以降でサポートされます。
Windows VistaについてはSHA1証明書が必要です。修正プログラムを適用したWindows7はSHA-256証明書をサポートします。

32bitカーネル モード ドライバー署名

Windows Vista以降の32bitでも、カーネル モード ドライバーは署名されていないとインストールできません。

ユーザー モード ドライバー署名

32bitのユーザー モード ドライバーでも署名が推奨されています。
Windows8以降は、ユーザー モード ドライバーでも署名がないとインストールできません。

サポートトップへ

インストール関連

署名方法について

トラブルシューティング

その他