protected override void WriteTokenCore(XmlWriter writer, SecurityToken token)
        {
            string str;

            byte[] numArray;
            if (!(token is SimpleWebSecurityToken))
            {
                this.innerSerializer.WriteToken(writer, token);
                return;
            }
            SimpleWebSecurityTokenSerializer.WriteBinaryCore(token, out str, out numArray);
            if (numArray == null)
            {
                throw new ArgumentNullException(SRClient.NullRawDataInToken);
            }
            writer.WriteStartElement("wsse", "BinarySecurityToken", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
            if (str != null)
            {
                writer.WriteAttributeString("wsu", "Id", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", str);
            }
            writer.WriteAttributeString("ValueType", null, "http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0");
            writer.WriteAttributeString("EncodingType", null, "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary");
            writer.WriteBase64(numArray, 0, (int)numArray.Length);
            writer.WriteEndElement();
        }
 protected override bool CanReadTokenCore(XmlReader reader)
 {
     if (SimpleWebSecurityTokenSerializer.IsSimpleWebSecurityToken(reader))
     {
         return(true);
     }
     return(this.innerSerializer.CanReadToken(reader));
 }
        protected override SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver)
        {
            if (!SimpleWebSecurityTokenSerializer.IsSimpleWebSecurityToken(reader))
            {
                return(this.innerSerializer.ReadToken(reader, tokenResolver));
            }
            XmlDictionaryReader xmlDictionaryReader = XmlDictionaryReader.CreateDictionaryReader(reader);
            string attribute = xmlDictionaryReader.GetAttribute("Id", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");
            string str       = xmlDictionaryReader.GetAttribute("EncodingType", null);

            if (str != null && !(str == "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"))
            {
                throw new NotSupportedException(SRClient.UnsupportedEncodingType);
            }
            return(SimpleWebSecurityTokenSerializer.ReadBinaryCore(attribute, xmlDictionaryReader.ReadElementContentAsBase64()));
        }
 static SimpleWebSecurityTokenSerializer()
 {
     SimpleWebSecurityTokenSerializer.DefaultInstance = new SimpleWebSecurityTokenSerializer();
 }