internal bool IsFullTrustAssembly(Assembly a) { AssemblyName assemblyName = a.UnprotectedGetName(); StrongNamePublicKeyBlob blob = new StrongNamePublicKeyBlob(assemblyName.GetPublicKey()); StrongNameMembershipCondition o = new StrongNameMembershipCondition(blob, assemblyName.Name, assemblyName.Version); foreach (object obj in this.full_trust_assemblies) { StrongNameMembershipCondition strongNameMembershipCondition = (StrongNameMembershipCondition)obj; if (strongNameMembershipCondition.Equals(o)) { return(true); } } return(false); }
public void AddFullTrustAssembly(StrongNameMembershipCondition snMC) { if (snMC == null) { throw new ArgumentNullException("snMC"); } foreach (object obj in this.full_trust_assemblies) { StrongNameMembershipCondition strongNameMembershipCondition = (StrongNameMembershipCondition)obj; if (strongNameMembershipCondition.Equals(snMC)) { throw new ArgumentException(Locale.GetText("sn already has full trust.")); } } this.full_trust_assemblies.Add(snMC); }
private void Common (StrongNameMembershipCondition snmc) { Assert.IsFalse (snmc.Check (allEmpty), "Check(allEmpty)"); Assert.IsFalse (snmc.Check (hostOther), "Check(hostOther)"); Assert.IsFalse (snmc.Check (assemblyEcmaCorlibVersion), "Check(assemblyEcmaCorlibVersion)"); Assert.IsFalse (snmc.Check (assemblyEcmaVersion), "Check(assemblyEcmaVersion)"); Assert.IsFalse (snmc.Check (assemblyMsSystemSecurityVersion), "Check(assemblyMsSystemSecurityVersion)"); Assert.IsFalse (snmc.Check (assemblyMsVersion), "Check(assemblyMsVersion)"); Assert.IsFalse (snmc.Check (assemblyOther), "Check(assemblyOther)"); StrongNameMembershipCondition copy = (StrongNameMembershipCondition)snmc.Copy (); Assert.IsTrue (copy.Equals (snmc), "copy.Equals (snmc)"); Assert.IsTrue (snmc.Equals (copy), "snmc.Equals (copy)"); copy.Name = null; copy.Version = null; bool original = ((snmc.Name == null) && (snmc.Version == null)); Assert.AreEqual (original, copy.Equals (snmc), "bad.Equals (snmc)"); Assert.AreEqual (original, snmc.Equals (copy), "snmc.Equals (bad)"); SecurityElement se = snmc.ToXml (); copy.FromXml (se); Assert.AreEqual (snmc.PublicKey, copy.PublicKey, "PublicKey"); Assert.AreEqual (snmc.Name, copy.Name, "Name"); Assert.AreEqual (snmc.Version, copy.Version, "Version"); Assert.AreEqual (snmc.GetHashCode (), copy.GetHashCode (), "GetHashCode ()"); Assert.AreEqual (snmc.ToString (), copy.ToString (), "ToString ()"); Assert.IsTrue (copy.Equals (snmc), "xml.Equals (snmc)"); Assert.IsTrue (snmc.Equals (copy), "snmc.Equals (xml)"); }
public void FromXml_PolicyLevel () { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition (blob, name, version); SecurityElement se = snmc.ToXml (); // is it accepted for all policy levels ? IEnumerator e = SecurityManager.PolicyHierarchy (); while (e.MoveNext ()) { PolicyLevel pl = e.Current as PolicyLevel; StrongNameMembershipCondition spl = new StrongNameMembershipCondition (blob, name, version); spl.FromXml (se, pl); Assert.IsTrue (spl.Equals (snmc), "FromXml(PolicyLevel='" + pl.Label + "')"); } // yes! }
public static void StrongNameMembershipConditionCallMethods() { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(new StrongNamePublicKeyBlob(new byte[1]), "test", new Version(0, 1)); bool check = snmc.Check(new Evidence()); IMembershipCondition obj = snmc.Copy(); check = snmc.Equals(new object()); int hash = snmc.GetHashCode(); string str = snmc.ToString(); SecurityElement se = new SecurityElement(""); PolicyLevel pl = (PolicyLevel)Activator.CreateInstance(typeof(PolicyLevel), true); snmc.FromXml(se); snmc.FromXml(se, pl); se = snmc.ToXml(); se = snmc.ToXml(pl); }