オプションで、Windows センサーのインストール ファイルのデジタル署名を検証できます。

Windows センサーのデジタル署名の検証の準備

次の手順を実行して、Windows センサーのデジタル署名を検証する準備をします。

手順

  1. Microsoft Windows SDK をダウンロードします。
  2. SDK のすべてのコンポーネントをインストールします。
    注: SignTool は通常、 C:\Program Files (x86)\Windows Kits\10\bin にインストールされますが、正確な場所は SDK のバージョンとオペレーティング システムによって異なります。たとえば、次の場所 (またはその他の場所) にインストールできます。
    • C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe
    • C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe
    • C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe
  3. PATH 環境変数に Signtool バイナリの場所を追加します。
    1. Windows キーを押します。
    2. env と入力します。
    3. [システム環境変数の編集] をクリックします。
    4. [環境変数] をクリックします。
    5. [パス] を選択し、[編集] をクリックします。
    6. 既存の値の最後に、Signtool の場所を追加します。セミコロン (;) は、古い値を新しい値と区別する必要があります。例:
      • 古い値 = %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
      • 新しい値 = %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Windows Kits\10\App Certification Kit\
    7. [OK] を 3 回クリックして変更内容を保存し、エディタを終了します。

Windows センサー インストール パッケージの署名の確認

次の手順を実行して、Windows センサー インストール パッケージの署名を確認します。

手順

  1. コマンド プロンプト ウィンドウを開きます。
  2. 次のコマンドを実行します。ここで、$file_to_verify はインストール パッケージの名前です。
    signtool.exe verify /pa /hash SHA56 /all $file_to_verify
    • /pa パラメータは、Signtool にコード署名を確認するように指示します。
    • オプションの /hash SHA256 パラメータは、Signtool に SHA256 署名のみを確認するように指示します。
    • /all パラメータは、Signtool にファイルのすべての署名を確認するように指示します。

複数のファイルのデジタル署名を確認する

この手順に従って、複数の Windows センサー ファイルを確認できます。この手順は通常、インストールされた製品/パッケージに適用されます。

前提条件

検証できるファイルを把握しておく必要があります。通常、構成ファイルやコンパイルされた JIT ファイルなど、製品の使用中に検証できないファイルは変更されます。

手順

  1. 検証するファイルのリスト (1 行に 1 つのファイル名) を含むファイルを作成します。次の例には、x64 インストール パッケージの関連ファイルが含まれています。
    C:\users\user_name\desktop\cbd-setup64-3.8.0.276.msi
    C:\program files\confer\api-ms-win-core-console-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-datetime-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-debug-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-errorhandling-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-file-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-file-l1-2-0.dll
    C:\program files\confer\api-ms-win-core-file-l2-1-0.dll
    C:\program files\confer\api-ms-win-core-handle-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-heap-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-interlocked-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-libraryloader-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-localization-l1-2-0.dll
    C:\program files\confer\api-ms-win-core-memory-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-namedpipe-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-processenvironment-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-processthreads-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-processthreads-l1-1-1.dll
    C:\program files\confer\api-ms-win-core-profile-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-rtlsupport-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-string-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-synch-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-synch-l1-2-0.dll
    C:\program files\confer\api-ms-win-core-sysinfo-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-timezone-l1-1-0.dll
    C:\program files\confer\api-ms-win-core-util-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-conio-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-convert-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-environment-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-filesystem-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-heap-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-locale-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-math-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-multibyte-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-private-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-process-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-runtime-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-stdio-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-string-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-time-l1-1-0.dll
    C:\program files\confer\api-ms-win-crt-utility-l1-1-0.dll
    C:\program files\confer\concrt140.dll
    C:\program files\confer\msvcp140.dll
    C:\program files\confer\ucrtbase.dll
    C:\program files\confer\vccorlib140.dll
    C:\program files\confer\vcruntime140.dll
    C:\program files\confer\BladeRunner.exe
    C:\program files\confer\CbNativeMessagingHost.exe
    C:\program files\confer\RepCLI.exe
    C:\program files\confer\RepMgr.exe
    C:\program files\confer\RepUtils.exe
    C:\program files\confer\RepUx.exe
    C:\program files\confer\RepWAV.exe
    C:\program files\confer\RepWmiUtils.exe
    C:\program files\confer\RepWSC.exe
    C:\program files\confer\Uninstall.exe
    C:\program files\confer\VHostComms.exe
    C:\program files\confer\blades\livequery\osqueryi.exe
    C:\program files\confer\blades\livequery\exts\cbc_plugin_extension.ext.exe
    C:\program files\confer\blades\livequery\exts\cbosqext.dll
    C:\program files\confer\scanner\apcfile.dll
    C:\program files\confer\scanner\apchash.dll
    C:\program files\confer\scanner\avupdate.dll
    C:\program files\confer\scanner\msvcr120.dll
    C:\program files\confer\scanner\savapi.dll
    C:\program files\confer\scanner\scew.dll
    C:\program files\confer\scanner\scanhost.exe
    C:\program files\confer\scanner\upd.exe
  2. 次のテキストを含むバッチ ファイルを作成します。
    @echo off
    set FILE=list_of_files
    set numFiles=0
    set numGoodSigs=0
    setlocal ENABLEDELAYEDEXPANSION
     
    for /f "delims== tokens=1,2" %%G in (%FILE%) do (
      if not exist "%%G\*" (
        set /a numFiles=numFiles+1
        (signtool verify /all /hash SHA256 /pa "%%G") && (set /a numGoodSigs=numGoodSigs+1)
      )
     
      @echo. & @echo.
    )
     
    set /a numBadSigs=numFiles-numGoodSigs
     
    echo %numFiles% files checked
    echo %numGoodSigs% verified files
    echo %numBadSigs% UNverifiable files
  3. 手順 1 で作成したファイルを指定するように、バッチ ファイルで FILE の値を変更します。
  4. バッチ ファイルを実行します。

結果

出力の最後に、検証できたファイル数または検証できなかったファイル数の概要が表示されます。例:

File: C:\program files\confer\api-ms-win-core-console-l1-1-0.dll
Index  Algorithm  Timestamp    
========================================
0      sha1       Authenticode
1      sha256     RFC3161

Successfully verified: C:\program files\confer\api-ms-win-core-console-l1-1-0.dll

67 files checked
67 verified files
0 UNverifiable files