public void IsSubsetOfBadPermission() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(x509); FileDialogPermission fdp2 = new FileDialogPermission(PermissionState.Unrestricted); Assert.IsTrue(p1.IsSubsetOf(fdp2), "IsSubsetOf(PublisherIdentityPermission)"); }
// Demonstrate all methods. public static void Main(String[] args) { // Initialize the PublisherIdentityPermissions for use in the sample //<Snippet8> FileStream fs1 = new FileStream("..\\..\\..\\MyCert1.cer", FileMode.Open); Byte[] certSBytes1 = new Byte[(int)fs1.Length]; fs1.Read(certSBytes1, 0, (int)fs1.Length); publisherCertificate[0] = new X509Certificate(certSBytes1); fs1.Close(); FileStream fs2 = new FileStream("..\\..\\..\\MyCert2.cer", FileMode.Open); Byte[] certSBytes2 = new Byte[(int)fs2.Length]; fs2.Read(certSBytes2, 0, (int)fs2.Length); publisherCertificate[1] = new X509Certificate(certSBytes2); fs2.Close(); publisherPerm1 = new PublisherIdentityPermission(publisherCertificate[0]); publisherPerm2 = new PublisherIdentityPermission(publisherCertificate[1]); //</Snippet8> IsSubsetOfDemo(); CopyDemo(); UnionDemo(); IntersectDemo(); ToFromXmlDemo(); }
//</Snippet5> // ToXml creates an XML encoding of the permission and its current state; // FromXml reconstructs a permission with the specified state from the XML encoding. //<Snippet6> private static void ToFromXmlDemo() { publisherPerm2 = new PublisherIdentityPermission(PermissionState.None); publisherPerm2.FromXml(publisherPerm1.ToXml()); Console.WriteLine("Result of ToFromXml = " + publisherPerm2.ToString()); }
public void Intersect() { // intersect None with None PublisherIdentityPermission p1 = new PublisherIdentityPermission(PermissionState.None); PublisherIdentityPermission p2 = new PublisherIdentityPermission(PermissionState.None); PublisherIdentityPermission p3 = (PublisherIdentityPermission)p1.Intersect(p2); Assert.IsNull(p3, "None N None == null"); // with 1 certificate p1 = new PublisherIdentityPermission(x509); p2 = new PublisherIdentityPermission(PermissionState.None); p3 = (PublisherIdentityPermission)p1.Intersect(p2); Assert.IsNull(p3, "cert N None == None"); // 2 different certificates X509Certificate x2 = new X509Certificate(cert2); p2 = new PublisherIdentityPermission(x2); p3 = (PublisherIdentityPermission)p1.Intersect(p2); Assert.IsNull(p3, "cert1 N cert2 == null"); // 2 certificates (same) x2 = new X509Certificate(cert); p2 = new PublisherIdentityPermission(x2); p3 = (PublisherIdentityPermission)p1.Intersect(p2); Assert.AreEqual(p3.ToString(), p1.ToString(), "cert1 N cert1 == cert1"); }
public void UnionWithNull() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(x509); PublisherIdentityPermission p2 = null; PublisherIdentityPermission p3 = (PublisherIdentityPermission)p1.Union(p2); Assert.AreEqual(p1.ToXml().ToString(), p3.ToXml().ToString(), "P1 U null == P1"); }
public void IntersectWithNull() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(x509); PublisherIdentityPermission p2 = null; PublisherIdentityPermission p3 = (PublisherIdentityPermission)p1.Intersect(p2); Assert.IsNull(p3, "P1 N null == null"); }
//</Snippet4> //Copy creates and returns an identical copy of the current permission. //<Snippet5> private static void CopyDemo() { //<Snippet7> // Create an empty PublisherIdentityPermission to serve as the target of the copy. publisherPerm2 = new PublisherIdentityPermission(PermissionState.None); publisherPerm2 = (PublisherIdentityPermission)publisherPerm1.Copy(); Console.WriteLine("Result of copy = " + publisherPerm2.ToString()); //</Snippet7> }
public void Certificate() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(x509); PublisherIdentityPermission p2 = new PublisherIdentityPermission(PermissionState.None); p2.Certificate = x509; Assert.AreEqual(p1.ToXml().ToString(), p2.ToXml().ToString(), "Certificate"); }
public void None() { PublisherIdentityPermissionAttribute attr = new PublisherIdentityPermissionAttribute(SecurityAction.Assert); Assert.IsNull(attr.CertFile, "None.CertFile"); Assert.IsNull(attr.SignedFile, "None.SignedFile"); Assert.IsNull(attr.X509Certificate, "None.X509Certificate"); PublisherIdentityPermission p = (PublisherIdentityPermission)attr.CreatePermission(); Assert.IsNull(p.Certificate, "None.CreatePermission"); }
public void FromXmlWrongVersion() { PublisherIdentityPermission p = new PublisherIdentityPermission(PermissionState.None); SecurityElement se = p.ToXml(); // can't modify - so we create our own SecurityElement se2 = new SecurityElement(se.Tag, se.Text); se2.AddAttribute("class", se.Attribute("class")); se2.AddAttribute("version", "2"); p.FromXml(se2); }
public void FromXml() { PublisherIdentityPermission p = new PublisherIdentityPermission(PermissionState.None); SecurityElement se = p.ToXml(); Assert.IsNotNull(se, "ToXml()"); p.FromXml(se); se.AddAttribute("X509v3Certificate", x509.GetRawCertDataString()); p.FromXml(se); Assert.AreEqual(x509.GetCertHashString(), p.Certificate.GetCertHashString(), "CertificateHash"); }
public void PermissionStateNone() { PublisherIdentityPermission p = new PublisherIdentityPermission(PermissionState.None); Assert.IsNotNull(p, "PublisherIdentityPermission(PermissionState.None)"); PublisherIdentityPermission copy = (PublisherIdentityPermission)p.Copy(); SecurityElement se = p.ToXml(); Assert.IsTrue(se.Attribute("class").StartsWith(className), "ToXml-class"); Assert.AreEqual("1", se.Attribute("version"), "ToXml-version"); Assert.IsNull(se.Attribute("Unrestricted"), "ToXml-Unrestricted"); Assert.IsNull(p.Certificate, "Certificate==null"); }
public void Default() { PublisherIdentityPermissionAttribute a = new PublisherIdentityPermissionAttribute(SecurityAction.Assert); Assert.IsNull(a.CertFile, "CertFile"); Assert.IsNull(a.SignedFile, "SignedFile"); Assert.IsNull(a.X509Certificate, "X509Certificate"); Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId"); Assert.IsFalse(a.Unrestricted, "Unrestricted"); PublisherIdentityPermission perm = (PublisherIdentityPermission)a.CreatePermission(); Assert.IsNull(perm.Certificate, "CreatePermission.Certificate"); }
public static void PublisherIdentityPermissionCallMethods() { PublisherIdentityPermission pip = new PublisherIdentityPermission(new System.Security.Cryptography.X509Certificates.X509Certificate()); PublisherIdentityPermission pip2 = new PublisherIdentityPermission(new Permissions.PermissionState()); IPermission ip = pip.Copy(); IPermission ip2 = pip.Intersect(ip); bool testbool = pip.IsSubsetOf(ip); ip2 = pip.Union(ip); SecurityElement se = new SecurityElement(""); pip.FromXml(se); se = pip.ToXml(); }
public void Union_DifferentCertificates() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(x509); X509Certificate x2 = new X509Certificate(cert2); PublisherIdentityPermission p2 = new PublisherIdentityPermission(x2); IPermission p = p1.Union(p2); // new XML format is used to contain more than one X.509 certificate SecurityElement se = p.ToXml(); Assert.AreEqual(2, se.Children.Count, "Childs"); Assert.AreEqual((se.Children [0] as SecurityElement).Attribute("X509v3Certificate"), p1.ToXml().Attribute("X509v3Certificate"), "Cert#1"); Assert.AreEqual((se.Children [1] as SecurityElement).Attribute("X509v3Certificate"), p2.ToXml().Attribute("X509v3Certificate"), "Cert#2"); // strangely it is still versioned as 'version="1"'. Assert.AreEqual("1", se.Attribute("version"), "Version"); }
public void X509CertificateProperty() { X509Certificate x509 = new X509Certificate(cert2); PublisherIdentityPermissionAttribute attr = new PublisherIdentityPermissionAttribute(SecurityAction.Assert); attr.CertFile = null; attr.SignedFile = null; attr.X509Certificate = x509.GetRawCertDataString(); Assert.IsNull(attr.CertFile, "CertFile"); Assert.IsNull(attr.SignedFile, "SignedFile"); Assert.AreEqual(x509.GetRawCertDataString(), attr.X509Certificate, "X509Certificate"); PublisherIdentityPermission p = (PublisherIdentityPermission)attr.CreatePermission(); Assert.AreEqual(x509.GetRawCertDataString(), p.Certificate.GetRawCertDataString(), "X509CertificateProperty.Certificate"); }
public void PermissionStateUnrestricted() { // In 2.0 Unrestricted are permitted for identity permissions PublisherIdentityPermission p = new PublisherIdentityPermission(PermissionState.Unrestricted); Assert.IsNotNull(p, "PublisherIdentityPermission(PermissionState.None)"); PublisherIdentityPermission copy = (PublisherIdentityPermission)p.Copy(); SecurityElement se = p.ToXml(); Assert.IsTrue(se.Attribute("class").StartsWith(className), "ToXml-class"); Assert.AreEqual("1", se.Attribute("version"), "ToXml-version"); Assert.AreEqual("true", se.Attribute("Unrestricted"), "ToXml-Unrestricted"); Assert.IsNull(p.Certificate, "Certificate==null"); // and they aren't equals to None Assert.IsTrue(!p.Equals(new PublisherIdentityPermission(PermissionState.None))); }
//</Snippet3> // Intersect creates and returns a new permission that is the intersection of the current // permission and the permission specified. //<Snippet4> private static void IntersectDemo() { PublisherIdentityPermission publisherPerm3 = (PublisherIdentityPermission)publisherPerm1.Union(publisherPerm2); if (publisherPerm3 != null) { Console.WriteLine("The intersection of " + publisherPerm1.Certificate.Subject + " and " + publisherPerm2.Certificate.Subject + " = " + ((PublisherIdentityPermission)publisherPerm3).Certificate.Subject.ToString()); } else { Console.WriteLine("The intersection of " + publisherPerm1.Certificate.Subject + " and " + publisherPerm2.Certificate.Subject + " is null."); } }
public void IsSubsetOf() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(PermissionState.None); PublisherIdentityPermission p2 = new PublisherIdentityPermission(PermissionState.None); Assert.IsTrue(p1.IsSubsetOf(p2), "None.IsSubsetOf(None)"); PublisherIdentityPermission p3 = new PublisherIdentityPermission(x509); Assert.IsTrue(!p3.IsSubsetOf(p2), "Cert.IsSubsetOf(None)"); Assert.IsTrue(p2.IsSubsetOf(p3), "None.IsSubsetOf(Cert)"); PublisherIdentityPermission p4 = new PublisherIdentityPermission(x509); Assert.IsTrue(p3.IsSubsetOf(p4), "Cert.IsSubsetOf(Cert)"); X509Certificate x2 = new X509Certificate(cert2); PublisherIdentityPermission p5 = new PublisherIdentityPermission(x2); Assert.IsTrue(!p5.IsSubsetOf(p3), "Cert2.IsSubsetOf(Cert)"); Assert.IsTrue(!p3.IsSubsetOf(p5), "Cert.IsSubsetOf(Cert2)"); }
public void Union() { // with no certificates PublisherIdentityPermission p1 = new PublisherIdentityPermission(PermissionState.None); PublisherIdentityPermission p2 = new PublisherIdentityPermission(PermissionState.None); PublisherIdentityPermission p3 = (PublisherIdentityPermission)p1.Union(p2); Assert.IsNull(p3, "None U None == null"); // with 1 certificate p1 = new PublisherIdentityPermission(x509); p2 = new PublisherIdentityPermission(PermissionState.None); p3 = (PublisherIdentityPermission)p1.Union(p2); Assert.AreEqual(p3.ToXml().ToString(), p1.ToXml().ToString(), "cert U None == cert"); X509Certificate x2 = new X509Certificate(cert2); // 2 certificates (same) x2 = new X509Certificate(cert); p2 = new PublisherIdentityPermission(x2); p3 = (PublisherIdentityPermission)p1.Union(p2); Assert.AreEqual(p3.ToString(), p1.ToString(), "cert1 U cert1 == cert1"); }
public void Priority() { X509Certificate x509 = new X509Certificate(cert1); PublisherIdentityPermissionAttribute attr = new PublisherIdentityPermissionAttribute(SecurityAction.Assert); attr.CertFile = "cert1.cer"; attr.SignedFile = "cert2.cer"; attr.X509Certificate = x509.GetRawCertDataString(); Assert.AreEqual("cert1.cer", attr.CertFile, "CertFile"); Assert.AreEqual("cert2.cer", attr.SignedFile, "SignedFile"); Assert.AreEqual(x509.GetRawCertDataString(), attr.X509Certificate, "X509Certificate"); // from documentation X509Certificate has priority over CertFile and SignedFile PublisherIdentityPermission p = (PublisherIdentityPermission)attr.CreatePermission(); Assert.AreEqual(x509.GetRawCertDataString(), p.Certificate.GetRawCertDataString(), "p.Certificate"); // but no word about CertFile and SignedFile priority attr.CertFile = "cert1.cer"; attr.SignedFile = "cert2.cer"; attr.X509Certificate = null; p = (PublisherIdentityPermission)attr.CreatePermission(); Assert.AreEqual(x509.GetRawCertDataString(), p.Certificate.GetRawCertDataString(), "p.Certificate"); // CertFile ! }
public void UnionWithBadPermission() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(PermissionState.None); EnvironmentPermission ep2 = new EnvironmentPermission(PermissionState.None); PublisherIdentityPermission p3 = (PublisherIdentityPermission)p1.Union(ep2); }
public void PermissionStateUnrestricted() { // Unrestricted isn't permitted for identity permissions PublisherIdentityPermission p = new PublisherIdentityPermission(PermissionState.Unrestricted); }
public void ConstructorCertificateNull() { PublisherIdentityPermission p = new PublisherIdentityPermission(null); }
public void PropertyCertificateNull() { PublisherIdentityPermission p = new PublisherIdentityPermission(PermissionState.None); p.Certificate = null; }
public void IntersectWithBadPermission() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(x509); FileDialogPermission fdp2 = new FileDialogPermission(PermissionState.Unrestricted); PublisherIdentityPermission p3 = (PublisherIdentityPermission)p1.Intersect(fdp2); }
public void IsSubsetOfNull() { PublisherIdentityPermission p1 = new PublisherIdentityPermission(x509); Assert.IsTrue(!p1.IsSubsetOf(null), "IsSubsetOf(null)"); }