Lightweight .NET interop for validating Windows Authenticode (code-signing) signatures on PE files (EXE/DLL).
$ dotnet add package WinTrustSharpLightweight .NET interop for validating Windows Authenticode (code-signing) signatures on PE files (EXE/DLL).
WinTrustSharp_Tests
Tests in group: 13
Total Duration: 41 ms
Outcomes
13 Passed
X509Chain policy for revocation checks, extra roots, etc.wintrust.dll).# Package Id
WinTrustSharp
# dotnet CLI
dotnet add package WinTrustSharp
# Package Manager
Install-Package WinTrustSharp
using System.IO;
using WinTrustSharp;
// Digital signature check only
bool validDigitalSignature = Authenticode.Verify(new FileInfo("SomeLibrary.dll"));
// Full validation (certificate trust + signature structure)
bool trusted = Authenticode.VerifyFull("SomeLibrary.dll");
using System.Security.Cryptography.X509Certificates;
bool ok = Authenticode.VerifyFull("SomeLibrary.dll", (cert, chain) =>
{
chain.ChainPolicy.RevocationMode = X509RevocationMode.Online;
return chain.Build(cert);
});