none
Visual Studio 2013でドライバのコード署名証明書を認識してくれません。 RRS feed

  • 質問

  • 以前までは、Signtool.exeを使ってドライバに埋め込み署名を自分でやっていたのですが、Visual Studio 2013 + WDK8.1

    では、自動でやってくれるので、やってみたらコード署名の証明書を認識してくれません。

    「Driver Signing」 - 「Production Certificate」を選択すると、証明書ストアから証明書を選択するか、

    証明書ファイルを選ぶか、聞いてきます。まず証明書ファイルを選ぶことにします。

    COMODOのコード署名の証明書を選ぶと、Error Opning fileのメッセージがでます。

    Error Openingfile

    Invalid certificate or password.

    というメッセージですが、正しい証明書で、パスワードも正しいです。余談ですが、メッセージが悪いと思います。

    PFXVerifyPassword()という関数を使えば、パスワードが悪いのかどうか判定できます。

    つぎに証明書ストアにCOMODOのコード署名の証明書をインポートして証明書ストアから

    選択してみましたが、COMODOのコード署名の証明書が見つかりません。

    ちなみに 「Test Certificate」で証明書ストアから選択すると、COMODOのコード署名の証明書は

    見つかります。

    COMODOのドライバ用の中間CA証明書をインポートしてみましたが、やはり、「Production Certificate」では

    証明書は見つかりません。

    バグのように見えてならないのですが、お教えいただけないでしょうか?

    Visual Studio 2013 Update1にアップデートしてもダメでした。

    システム情報は、

    Microsoft Visual Studio Professional 2013
    Version 12.0.30110.00 Update 1
    Microsoft .NET Framework
    Version 4.5.50938

    インストールされているバージョン:Professional

    LightSwitch for Visual Studio 2013   06177-179-2397502-02890
    Microsoft LightSwitch for Visual Studio 2013

    Microsoft Office Developer Tools for Visual Studio 2013 日本語   06177-179-2397502-02890
    Microsoft Office Developer Tools for Visual Studio 2013 日本語

    Microsoft Visual Studio 2013 コード分析のスペル チェック機能   06177-179-2397502-02890
    MicrosoftR Visual StudioR 2013 コード分析のスペル チェック機能

    Portions of International CorrectSpell? spelling correction system c 1993 by Lernout & Hauspie Speech Products N.V. All rights reserved.

    The American HeritageR Dictionary of the English Language, Third Edition Copyright c 1992 Houghton Mifflin Company.  Electronic version licensed from Lernout & Hauspie Speech Products N.V.  All rights reserved.

    Team Explorer for Visual Studio 2013   06177-179-2397502-02890
    Microsoft Team Explorer for Visual Studio 2013

    Visual Basic 2013   06177-179-2397502-02890
    Microsoft Visual Basic 2013

    Visual C# 2013   06177-179-2397502-02890
    Microsoft Visual C# 2013

    Visual C++ 2013   06177-179-2397502-02890
    Microsoft Visual C++ 2013

    Visual F# 2013   06177-179-2397502-02890
    Microsoft Visual F# 2013

    ASP.NET Web Frameworks and Tools 2012.2   4.1.21001.0
    For additional information, visit http://go.microsoft.com/fwlink/?LinkID=309563

    ASP.NET Web Frameworks and Tools 2013   5.0.11213.0
    For additional information, visit http://www.asp.net/

    Common Azure Tools   1.0
    Azure モバイル サービスおよび Windows Azure Tools で使用する共通サービスを提供します。

    Debugging Tools for Windows   6.3.9600.16384
    Integrates the Windows Debugger functionality (http://go.microsoft.com/fwlink/?linkid=223405) in Visual Studio.

    InstallShield Limited Edition  
    InstallShield. For more information visit the Flexera Software website at <http://www.FlexeraSoftware.com>. Copyright c 2013 Flexera Software LLC. All Rights Reserved.

    Microsoft Web Developer Tools 2013   2.0.40926.0
    Microsoft Web Developer Tools には、次のコンポーネントが含まれています:
    ASP.NET Web プロジェクトの作成とオープンに対するサポート
    ブラウザー リンク: Visual Studio とブラウザー間の通信チャネル
    HTML、CSS、および JavaScript のエディター拡張機能
    Page Inspector: ASP.NET Web プロジェクトの検査ツール
    スキャフォールディング: コード ジェネレーターを構築し、実行するためのフレームワーク
    Windows Azure Web サイトのサーバー エクスプローラー拡張機能
    Web 発行: ホスティング プロバイダー、社内サーバー、または Windows Azure に ASP.NET Web プロジェクトを発行するための拡張機能

    NuGet パッケージ マネージャー   2.7.41101.371
    Visual Studio の NuGet パッケージ マネージャー。NuGet の詳細については、http://docs.nuget.org/ を参照してください。

    PreEmptive Analytics Visualizer   1.2
    Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.

    SQL Server Data Tools   12.0.30919.1
    Microsoft SQL Server Data Tools

    Windows Azure Mobile Services Tools   1.0
    Windows Azure Mobile Services Tools

    Windows Driver Kit   6.3.9600.16384
    Headers, libraries, and tools needed to develop, debug, and test Windows drivers (msdn.microsoft.com/en-us/windows/hardware/gg487428.aspx)

    Workflow Manager Tools 1.0   1.0
    このパッケージには、Workflow Manager に必要な Visual Studio 統合コンポーネントが含まれています。

    証明書選択



    • 編集済み izuna 2014年2月17日 2:09
    2014年2月12日 21:16

回答

すべての返信

  • フォーラム オペレーターの星 睦美です。

    izuna さんから、こちらの問題をMicrosoft Connect に投稿いただきました。
    フォーラムのスレッドにリンクさせていただきます。

    ・Visual Studio 2013でドライバのコード署名証明書を認識してくれません。:
    https://connect.microsoft.com/VisualStudio/feedback/details/817587/visual-studio-2013


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    • 回答としてマーク 星 睦美 2014年3月3日 2:59
    2014年2月18日 6:36
  • もう読んでいないと思いますが、GlobalSignのSHA-2コードサイニング証明書でよく似た(同じ?)ハマり方をしたのでメモしておきます。


    signtool.exeで署名する際には取得したコードサイン証明書の他に、各証明局に対応する「カーネルモードのコード署名用クロス証明書」も使用しているかと思います。

    VisualStudio2013&WDK8.1で署名する場合、このクロス証明書を指定のフォルダに入れておく必要があります。

    https://msdn.microsoft.com/windows/hardware/drivers/develop/signing-a-driver-for-public-release

    VS2013とWDK8.1の標準的なインストールであれば具体的には下記になります。

    C:\Program Files (x86)\Windows Kits\8.1\CrossCertificates


    ここにはDigiCertやGeoTrustとかのクロス証明書は最初から入っているのですが、自分の証明書の証明局に対応したクロス証明書が入っていない場合は自分で対応するクロス証明書を配置します。

    これを入れておかないと正規のコードサイニング証明書であってもProduction Signで選択できず、Test Signでは選択できる状況になるようです。

    2016年12月28日 1:08