3

コマンドプロンプトでsigverifを使用すると、PowerShellのget-authenticodesignatureで.dllまたは.exeファイルが常にNotSignedとして表示され、署名済みとして表示される理由は誰でも知っています。

sigverif出力

    File                      Modified       Version             Status              Catalog              Signed By
------------------      ------------   -----------        ------------        -----------          -------------------
[c:\windows\system32]
batt.dll                 7/14/2009      2:6.1               Signed              nt5.cat             Microsoft Windows

PowerShell出力:

    PS> get-authenticodesignature C:\Windows\System32\batt.dll    

    Directory: C:\Windows\System32    

SignerCertificate                         Status                                 Path
-----------------                         ------                                 ----
                                          NotSigned                              batt.dll
4

3 に答える 3

2

Microsoftには、デバイスドライバーの信頼性が高く、コンピューターで問題が発生する可能性が低いことを確認するためのプログラムが用意されています。Microsoftの開発者とサードパーティベンダーが新しいドライバーを作成する場合、「デバイス署名」のためにMicrosoft内の特別な部門に提出できます。署名は、ドライバーのパッケージのcatファイルに保存されますsigverify.exe。詳細については、Windowsのドライバー署名要件を参照してください。

get-authenticodesignature他の実行可能署名、つまり.EXE、.DLL、または.PS1を検出するために使用されます。PowerShellに関する限りSet-AuthenticodeSignature、コードの署名に使用できます。.DLLおよび.EXE(ネイティブまたは管理対象)の場合、SDKまたはDDKのsigntool.exeを使用できます。結果は、ファイルのプロパティに表示できます。

ここに画像の説明を入力してください

これは別の種類の署名が存在し、マネージコードにのみ予約されています。それは強い名前と呼ばれています。アセンブリにIDを与えるために使用されます。厳密な名前でアセンブリに署名すると、その単一性を確認し、グローバルアセンブリキャッシュに格納できます。これは、 sn.exeを使用して行われます。前のものと組み合わせることができます。

于 2012-10-07T06:32:33.933 に答える
2

通常のファイルは、埋め込み署名またはカタログ署名の 2 つの方法のいずれかで署名されます。2 つの方法の詳細については、このドキュメントの12 ページを参照してください。

Get-AuthenticodeSignature は、署名が埋め込まれたファイルに対して正常に機能します。ただし、カタログ署名されたファイルは署名されていないと報告されます。これはバグとしてPowerShell チームに報告されていますが、彼らの注意を引くのに十分な賛成票がまだ得られていないようです.

回避策として、カタログ署名されたファイルを適切に処理する Sysinternals Sigcheckを使用できます。この github コードには Use-Sigcheck という Powershell 関数があり、便利な場合があります。

于 2015-10-17T11:32:34.883 に答える
1

sigverif は、署名されていないドライバーを検索し、デバイス ドライバーを確認するために使用されます (C:\WINDOWS\SYSTEM32\DRIVERS の下)。Dll のプロパティ ページを開くと、[デジタル署名] タブが表示されますか?

于 2012-10-06T13:21:18.687 に答える