示例#1
0
 public T GetAssertion <T>(string rootId) where T : class
 {
     if (Xassertion == null)
     {
         Xassertion = SerializerUtil.Serialize(GenerateAssertion()).Root;
     }
     return(SerializerUtil.Deserialize <T>(Xassertion, rootId));
 }
示例#2
0
 public T GetAssertion <T>() where T : class
 {
     if (Xassertion == null)
     {
         Xassertion = SerializerUtil.Serialize(GenerateAssertion()).Root;
     }
     return(SerializerUtil.Deserialize <T>(Xassertion, typeof(Assertion).Name));
 }
示例#3
0
        public static T SignAssertion <T>(T element, X509Certificate2 cert) where T : class
        {
            var sxml       = new SealSignedXml(SerializerUtil.Serialize(element));
            var xassertion = sxml.xml.GetElementsByTagName("Assertion", NameSpaces.saml)[0] as XmlElement;

            if (xassertion == null)
            {
                throw new InvalidOperationException("Assertion not found");
            }
            var keyName = xassertion.GetElementsByTagName("KeyName", NameSpaces.ds)[0].InnerText;

            var xsignature = sxml.GetDGWSSign(cert);

            xsignature.SetAttribute("id", keyName);
            xassertion.AppendChild(xsignature);

            return(SerializerUtil.Deserialize <T>(sxml.xml.DocumentElement));
        }
示例#4
0
 public T GetAssertion <T>(string rootid) where T : class
 {
     return(SerializerUtil.Deserialize <T>(Xassertion, rootid));
 }
示例#5
0
 public T GetAssertion <T>() where T : class
 {
     return(SerializerUtil.Deserialize <T>(Xassertion));
 }