コードサイニング証明書サポート

Windowsドライバー署名早わかり

Windows ドライバーの署名方法は、OSのバージョンやドライバーのモードなどにより異なり、かなり複雑です。
また、Microsoft はセキュリティ環境の変化と現実的な利用利便性の観点から、過去、署名方法を変更してきた経緯があります。直近では、2016年11月10日からWindowsドライバー署名のHCK/HLKの登録サイトがHardware Dev Center Dashboardに変更になりました。
このページは 2017年1月18日現在のMicrosoftの資料によってWindowsドライバーへの署名方法を「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証明書とは、DigiCert EVコードサイニング証明書のようにMicrosoftのCross-Certificate(クロスルート証明書)を利用できる証明書のことです。
SignToolコマンドでSPC証明書を指定してカーネル モードドライバーに署名します。

2つの署名方法
署名方法名称 内容 特記事項
Windowsハードウェア認定 Hardware Dev Centerへの登録により Microsoftが署名 Hardware Dev Center に登録すると「Windows対応」のロゴマークを使用することが許可されるなどのメリットを受け取れる。
SPC証明書による署名 「DigiCertコードサイニング証明書あるいはDigiCert 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テストを行った後、二つのテストログとテスト結果を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以降でサポートされます。
    ※SHA-1証明書の発行は取り扱いを終了しております。

Windows10 version 1607カーネル モードドライバー

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

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

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

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


新規署名

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

OS がどのように
インストールされたか
Secure Boot 署名方法 有効性
新規インストール ON Windowsハードウェア認定 OK
新規インストール ON SPC 証明書による署名 NG
新規インストール OFF Windowsハードウェア認定 OK
新規インストール OFF SPC 証明書による署名 OK
アップグレード ON Windowsハードウェア認定 OK
アップグレード ON SPC 証明書による署名 OK
アップグレード OFF Windowsハードウェア認定 OK
アップグレード OFF SPC 証明書による署名 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証明書をサポートします。
※SHA-1証明書の発行は取り扱いを終了しております。

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

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

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

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

RMS

・SSLサーバー証明書

・コードサイニング
その他証明書

・バウチャ(クーポン)

お見積依頼

Copyright © cybervision Hosting. All rights reserved.