Desktop Functions: Smart Device Functions:
|
StrongNameSignatureVerificationEx (mscorsn)
C# Signature:
[DllImport("mscorsn.dll", SetLastError=true)] User-Defined Types:None. Notes:This function is exported from mscorsn.dll in v1.0 and v1.1 of the .NET framework, but it will be moved to mscorwks.dll in v2.0. There is a shim in mscoree.dll which will redirect to the appropriate implementation dll, which has the same name. Tips & Tricks:The fForceVerification / pfWasVerified parameters can be confusion. A good blog entry to read, which explains how these work can be found here: http://blogs.msdn.com/shawnfa/archive/2004/06/07/150378.aspx Sample Code:// check the signature first bool notForced = false; bool verified = StrongNameSignatureVerificationEx(assembly, false, ref notForced); Console.WriteLine("Verified: {0}\nForced: {1}", verified, !notForced); // check to see if it is a Microsoft assembly byte[] msClrToken = new byte[] { 0xb7, 0x7a, 0x5c, 0x56, 0x19, 0x34, 0xe0, 0x89 }; byte[] msFxToken = new byte[] { 0xb0, 0x3f, 0x5f, 0x7f, 0x11, 0xd5, 0x0a, 0x3a }; bool isMsAsm = CheckToken(assembly, msClrToken) || CheckToken(assembly, msFxToken); if(isMsAsm && verified && notForced)
Console.WriteLine("Microsoft signed assembly"); else if(isMsAsm && verified && !notForced)
Console.WriteLine("Microsoft delay signed assembly"); else if(isMsAsm && !verified)
Console.WriteLine("Microsoft assembly, modified since signing"); else
Console.WriteLine("Not a Microsoft assembly"); Alternative Managed API:None Please edit this page!Do you have...
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more). |
|