public static bool VerifyEmbeddedSignature(string fileName) { using (WinTrustFileInfo wtfi = new WinTrustFileInfo(fileName)) { using (WinTrustData wtd = new WinTrustData(wtfi)) { Guid guidAction = new Guid(WINTRUST_ACTION_GENERIC_VERIFY_V2); WinVerifyTrustResult result = WinVerifyTrust(INVALID_HANDLE_VALUE, guidAction, wtd); return(result == WinVerifyTrustResult.Success || result == WinVerifyTrustResult.UntrustedRoot || result == WinVerifyTrustResult.CertChaining); } } }
static extern WinVerifyTrustResult WinVerifyTrust( [In] IntPtr hwnd, [In][MarshalAs(UnmanagedType.LPStruct)] Guid pgActionID, [In] WinTrustData pWVTData );