2012によるテスト署名の方法について説明します。2012上では、以下の流れでテスト署名を行います。Sample)を使用して、実際にビルド時のテスト署名の例を紹介していきます。2012で、上記のサンプルプロジェクトを開きます。ソリューションエクスプローラを見ると、以下の2つのプロジェクトが存在していることが分かります(図4)。package:パッケージ用プロジェクトwdfserial:ドライバプロジェクトパッケージ用プロジェクトとは、デバイスドライバのインストールに必要なファイル(ドライバ本体、infファイルなど)をまとめて、それらに対してプロパティ上から設定(署名の設定やメタファイルの設定)をするためのプロジェクトのことを指します。CATファイル自動生成の有効化は、パッケージ用プロジェクトのプロパティ設定で行います。Inf2Cat」の項目を「はい」にします(図5)。Inf2Catとは、カタログファイル生成のためのツールのことです。【※画像クリックで拡大表示】ついでにもう1つ、知っておいた方がよい情報をご紹介します。Time」という項目があるのが分かります。デフォルトでは何も設定されていません(空白になっています)が、ここを、[はい(/uselocaltime)]にしておくことを推奨します。【※画像クリックで拡大表示】ドライバのビルド時には、infファイルの[Version]に指定されている日付が、標準時(UTC)と比較しておかしな値ではないか、つまり、UTCでの日付に比べて、infの日付が未来や極端に過去の日付になっていないかをチェックします。DataStamp]を有効にしている場合は、infファイルの[Version]の日付を自動的に現在の日付に更新してくれますが、日本時間はUTCより9時間進んでいますので、ビルドのタイミングによっては、日本時間がUTCの日付より1日先になってしまい、“エラー”と判断されてしまう場合があります。納期に追われ、ドライバをビルドする時間が夜中に......というタイミングで、この“ワナ”に遭遇すると非常に焦ります。そのような時間帯にデフォルト設定のままドライバをビルドすると、以下のような意味不明なエラーが発生します。筆者も、過去に初めてこのエラーに遭遇した際、対処方法が分からずに、PCの日付設定でタイムゾーンを米国にする荒業(1?)で対応しました。Studioでドライバをビルドする際、毎回PCの時間設定をわざわざ米国に変更する必要があるのか......。なんという仕様だ!」と嘆いていたことがあります。そのようなおかしな対処をしなくても、上記で紹介した通りの設定で回避可能です。(2)テスト署名の有効化テスト署名の有効化も、パッケージ用プロジェクトのプロパティ設定で行います。Sign」にします(図7)。Certificate」の項目で、証明書(.pfx)のパスを指定してください。2012上でデバイスドライバのビルド上記で行った2つの設定は、デバイスドライバのビルド時に反映されます。それでは、実際にビルドを行い、ビルド時のログを確認してみましょう(図8)。【※画像クリックで拡大表示】ログを見てみると、ビルド後にInf2CatとDriverTestSignが実行されたことが分かります。これらはそれぞれCATファイル自動生成、テスト署名が実行されていることを表します。ドライバパッケージ(ドライバ本体、infファイルなど)に含まれるコンポーネントのどれか1つでも変更された場合には、署名をやり直す必要があります。動作確認」という作業を繰り返すかと思いますが、当然ドライバ修正の度に“署名のやり直し”が必要になります。そのため、署名をドライバのビルドと同じタイミングで実施できるという点は、非常に便利だといえます。上記の手順でテスト署名を行ったドライバは、テストモードで起動したOS上で正常にインストールして動作させることが可能です。8では、証明書のインストールがないと、テストモードで起動してもドライバのインストールに失敗しますので注意してください)。Sampleの場合はpackage.cerが作成されます)ので、そちらをテスト対象のPCにインストールしてください。OS対応のドライバ開発で必須となるデジタル署名について説明しました。2012で使用できる解析ツールや、テスト自動化ツールなどを紹介します。Embedded専門コーナー。8」には、従来バージョンから刷新・新規追加されたさまざまな機能が存在する。その中には、“組み込み機器でも!”“組み込み機器だからこそ!!”活用できる機能がある。8にちなんで、組み込み機器で使える“8つ”の機能を紹介。【前編】では、UI周りの外観的な(見える)機能を中心に取り上げる。8」には、従来バージョンから刷新・新規追加されたさまざまな機能が存在する。その中には、“組み込み機器でも!”“組み込み機器だからこそ!!”活用できる機能がある。8にちなんで、組み込み機器で使える“8つ”の機能を紹介。【後編】では、セキュリティやディスク保護(データ保護)といった内部的な機能を中心に取り上げる。Standard」にフォーカスし、“強化された機能”を解説する。SNSfacebooktwitterITmediaはアイティメディア株式会社の登録商標です。