PT1/PT2ドライバに署名の無い問題を解決するには
【This page is bogus】
アースソフトのドライババージョン2.1から、公式に署名が付いたので、この問題は無くなりました(2012/8/3より)
まえがき
PT1/PT2のドライバにはMicrosoftの認めた認証局の署名が付いていないのでWindowsに怒られる。怒られるだけならいいのだが、Windows Vista/7 の 64bit版だと動作しない。もちろん公式に署名を付けてもらうには、信用も無ければ、金も無い。これを手元でad hocに解決する方法の備忘録。
ダメな状態の確認
普通にインストールするとダメなことは、デバイスマネージャで見ると図のようにPT2のドライバが動作していないことが確認できる。
Windows boot時に指定する方法
さしあたりの解決として、Windows起動時にF8を押し(右図のような画面を出し)ドライバの署名を強制しないようにすればPT2は動作する。(当然ながら全てのドライバが署名無しで動いてしまうので、Windowsの設計的には(古いWindows並に)セキュリティが下がった状態になる。)
この方法では、Windowsを起動する度にF8操作が必要となる(し、そもそも良い方法ではない)。ちなみに、起動時のF8操作作業を自動化するフリーソフトもあるがオススメできないので名前の紹介もしない。^^;
動作状態の確認
この状態(動作している状態)をデバイスマネージャで見ると図のようになる。2つ見える。
bcdedit で指定する方法
この方法も、Windows boot時にF8で指定するのと同様、オススメではないが、bcdedit /set testsigning on
しておけば、再起動後テストモードとなり動く。テスト後は off
にするのをお忘れなく。
ドライバに自己署名を付ける方法
なんかこんな感じでやったのですが、よくわかっていません。今度公式ドライバがバージョンアップした時にでもまたやってみよう..
- 既にPT2のドライバがインストールされていたらアンインストールする。デバイスマネージャでドライバファイルの削除もする
makecert
などの署名関係のコマンドが無ければ、Windows SDKを入れる(もし既に入っていれば C:\Program Files\Microsoft SDKs\Windows\バージョン名\Bin\
あたりにコマンドが入っている)。
- .NET Framework 3.5 SP1 が入っていることを確認し、無ければ入れる
- windows SDK を入れる(ファイル名: winsdk_web.exe)。ちょっと見付けにくいが、googleで site:microsoft.com "windows sdk for .NET Framework 3.5" で検索すれば見付かる。
- ダウンロードした
winsdk_web.exe
を管理者権限で実行する(インストールにはとても時間が掛かる)
- 公式ドライバの実行ファイル(PT2-Windows-Driver-200.exe)からドライバ類を取り出すため、Universal Extractor を入手する。
Universal Extracotrを「管理者として実行」し、PT2-Windows-Driver-200.exe を読み込む。実行して出来た {tmp} フォルダに、windrvr6_EARTHSOFT_PT2_64.sys など各種ドライバが出来る。
- さっき入れたWindows SDKに入っているCMD Shellを「管理者として実行」する。
cd C:\PT_Drivers
- {tmp}にできたファイルのうちいくつかを C:\PT_Drivers\ にコピー(このフォルダ名は例)
move windrvr6_EARTHSOFT_PT2_64.sys C:\PT_Drivers\windrvr6_EARTHSOFT_PT2.sys
move windrvr6_EARTHSOFT_PT2_driver.inf C:\PT_Drivers
move windrvr6_EARTHSOFT_PT2_device.inf C:\PT_Drivers
makecert -sv windrvr6_EARTHSOFT_PT2.pvk -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -ss Root -len 1024 -sr localmachine -n CN="適当な証明機関名" windrvr6_EARTHSOFT_PT2.cer
-- makecertの説明はこちら
実行すると「秘密キーのパスワードの生成」画面が出るので、パスワード1を決めて入力
- X.509証明書からソフトウェア発行元証明書を作成する(本来はVeriSignなどに発行してもらうもの)
cert2spc windrvr6_EARTHSOFT_PT2.cer windrvr6_EARTHSOFT_PT2.spc
- 作成する.pfxを保護するパスワード2を決めて、
pvk2pfx -pvk windrvr6_EARTHSOFT_PT2.pvk -spc windrvr6_EARTHSOFT_PT2.spc -pfx windrvr6_EARTHSOFT_PT2.pfx -po パスワード2
- ドライバににデジタル署名を付ける
signtool sign /f windrvr6_EARTHSOFT_PT2.pfx /p パスワード2 /v windrvr6_EARTHSOFT_PT2.sys
成功すると "Successfully Signed: windrvr6_EARTHSOFT_PT2.sys" と表示される
- 作った署名を証明書ストアにインストールする
windrvr6_EARTHSOFT_PT2.pfx
を右クリックし「PFXのインストール」を選ぶ。「秘密キーのパスワード」を聞かれるので、パスワード2を入れる。「証明書ストア」の選択では、「参照」から「物理ストアを表示する」にチェックを入れ、「信頼されたルート証明機関」の「レジストリ」を選択。セキュリティの警告が出るので無視して最後まで行くと「正しくインポートされました」ダイアログが出て終了
- ドライバのインストールをする
デバイスマネージャより「レガシーハードウェアの追加」を選び、「一覧から選択したハードウェアをインストールする」「すべてのデバイスを表示」「ディスク使用」で C:\PT_Drivers
フォルダを指定する(windrvr6_EARTHSOFT_PT2_driver.infがあるフォルダ)。セキュリティ警告を無視してインストール。この時点でデバイスマネージャを見ると、Jungo には PT2が見えるが、ビデオには見えない。
PT2公式ドライバ(.exe)を普通にインストールする。セキュリティ警告を無視してインストール。この時点でデバンスマネージャを見ると、ビデオにも PT2が見える。
ちなみに、インストール後にデバイスマネージャからPT2ドライバのプロパティを見ると「デジタル署名者:デジタル署名されていません」と表示される。 何だか良くわかんないけど、動いたので良しとしよう。
ボランティアのドライバを使う方法
自己署名を付ける方法が「面倒でやってらんねー」という人は、
DTV関連ツールダウンロード のPT1/2アップローダにある「PT1/2 Windows64bit署名問題対策ドライバ」(
up0255.rar
)を入手すれば簡単。展開したら、デバイスマネージャで「レガシ ハードウェアの追加」「一覧から選択したハードウェアをインストールする」「すべてのデバイスを表示」「ディスク使用」で指定すれば良い。
アースソフトPT1/PT2の使い方のページに戻る