AdvancedLauncher.Management.Internal.PluginManager.VerifyPlugin C# (CSharp) Method

VerifyPlugin() public static method

Check an plugin to see if it has the same public key token and valid strong name
public static VerifyPlugin ( PluginInfo pluginInfo ) : bool
pluginInfo AdvancedLauncher.SDK.Management.Plugins.PluginInfo Plugin information structure
return bool
        public static bool VerifyPlugin(PluginInfo pluginInfo)
        {
            bool fWasVerified = false;
            bool verified = NativeMethods.StrongNameSignatureVerificationEx(pluginInfo.AssemblyPath, true, out fWasVerified);
            if (!verified || pluginInfo.AssemblyToken == null) {
                return false;
            }

            byte[] expectedToken = Assembly.GetAssembly(typeof(PluginManager)).GetName().GetPublicKeyToken();
            try {
                if (pluginInfo.AssemblyToken.Length != expectedToken.Length) {
                    return false;
                }
                for (int i = 0; i < pluginInfo.AssemblyToken.Length; i++) {
                    if (pluginInfo.AssemblyToken[i] != expectedToken[i]) {
                        return false;
                    }
                }
                return true;
            } catch (FileNotFoundException) {
                return false;
            } catch (BadImageFormatException) {
                return false;
            }
        }