none
Microsoft署名(Attestation)のドライバの発行元が検証されない原因 RRS feed

  • 質問

  • お初に質問させて頂きます。
    初心者で大変恐縮です。

    現在、Windows 10で動作させるためのドライバーを準備しています。
    Microsoft様の署名を施したドライバーの発行元を検証してもらえず、原因と対処法を探っております。

    ドライバーの実態ファイルにusbserを利用し、EVコードサイニング証明書で署名を施しています。
    カーネルモードドライバの動作にはMicrosoft様の署名が必要とのことで
    ドライバーパッケージをMicrosoft様に提出し、Attestation認定で署名を頂くことができました。

    しかし現状として、ドライバーのインストール時に、
    『このドライバーはデジタル署名されています』との表示が出ますが、先に進むと
    「ドライバー ソフトウェアの発行元を検証できません」との表示が出て、警告を受けてしまいます。

    発行元が信用できないという表示であれば、まだ分かるのですが(ロゴ認証の手順を踏んでいないので)、
    発行元が不明(有効なデジタル署名がない)という警告が意外でした。

    インストールしたドライバーはWindows 10の32bit、64bitともに正常に動作するようです。
    この警告はAttestation認証特有のものでしょうか(回避にはHLKを利用したロゴ認証が必要でしょうか)、それとも何か他に考えられる問題・原因はありますでしょうか?
    心当たりがありましたら、ご教授くだされば幸いです。

    ____________________

    使用しているOSはWindows 10 Pro、バージョンは1803です

    ドライバーをMicrosoft様に提出する際に、
    「win10以降に対してテスト署名を実行する」のチェックは外し、

    以下の3つを含む15の要求署名に全てにチェックを付け、提出いたしました。
    Windows 10 Client version 1803 Client (RS4)
    Windows 10 Client version 1803 Client ×64(RS4)
    Windows 10 Client version 1803 Client ARM64(RS4)

    認定は、
    ×ユニバーサル
    〇宣言型
    となっています。

    パートナーセンターからダウンロードしたドライバーには、
    Microsoft Windows Hardware Compatibility Publisherの名前でデジタル署名が付与されており、問題ないように思います。
    signtoolのverifyで.catファイルを確認してみましたが、
    (signtool verify /kp /v 当該カタログファイル.cat")
    証明書チェーンも問題ないように思います。

    ____________________

    よろしくお願い致します。
    2019年2月20日 2:43

回答

  • 本件ですが、自己解決しましたので、記録しておきます。

    カタログファイルの署名は検証され、正常にinfファイルを読むことはできていました。実体ファイルである、usbserのデジタル署名がないことが原因でした。(system32中のusbserにはデジタル署名がされていないことを確認しました)

    正常に検証されるその他ドライバのsysファイルにはデジタル署名がされており、参照したsysファイルのデジタル署名が無いことによって生じた問題と考えています。今回のケースは、usbserをサードパーティ製のドライバと同様に参照しようとして上手くいかなかった例ではないかと思います。

    署名を施したusbserを、標準のusbserに上書きすることはできませんので、標準のinfファイルを参考に、infファイルの記述内容修正(usbserを参照の仕方を見直すこと)によって解決させました。

    (Windows10の32bit、64bitでも正常な動作を確認しました。)






    • 回答としてマーク blrn244 2019年2月25日 8:00
    2019年2月25日 8:00