public string GetValue(IXmlDictionary staticDictionary, XmlBinaryReaderSession readerSession)
        {
            int id = this.DictionaryId / 2;
            XmlDictionaryString dicString = XmlDictionaryString.Empty;
            bool found;

            if (this.IsSession)
            {
                if (readerSession == null)
                {
                    return(null);
                }

                found = readerSession.TryLookup(id, out dicString);
            }
            else
            {
                if (staticDictionary == null)
                {
                    return(null);
                }

                found = staticDictionary.TryLookup(id, out dicString);
            }

            if (found)
            {
                return(dicString.Value);
            }
            else
            {
                throw new ArgumentException("Cannot find value for dictionary string with ID = " + this.DictionaryId);
            }
        }
示例#2
0
        private IntArray AddKeys(IXmlDictionary dictionary, int minCount)
        {
            IntArray keys = new IntArray(Math.Max(minCount, 16));

            _maps.Add(dictionary, keys);
            return(keys);
        }
        public SamlDelegatingWriter(XmlDictionaryWriter innerWriter, Stream canonicalStream, ICanonicalWriterEndRootElementCallback callback, IXmlDictionary dictionary)
        {
            if (innerWriter == null)
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("innerWriter");

            if (canonicalStream == null)
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("canonicalStream");

            if (callback == null)
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("callback");

            if (dictionary == null)
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("dictionary");

            this.innerWriter = innerWriter;
            this.canonicalStream = canonicalStream;
            this.callback = callback;
            this.dictionary = dictionary;
            this.elementCount = 0;

            this.startFragment = new MemoryStream();
            this.signatureFragment = new MemoryStream();
            this.endFragment = new MemoryStream();
            this.writerStream = new MemoryStream();

            this.effectiveWriter = XmlDictionaryWriter.CreateBinaryWriter(this.writerStream, this.dictionary);
            this.effectiveWriter.StartCanonicalization(this.canonicalStream, false, null);
            ((IFragmentCapableXmlDictionaryWriter)this.effectiveWriter).StartFragment(this.startFragment, false);
        }
 public ExclusiveC14NDictionary(IXmlDictionary dictionary)
 {
     this.Namespace = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/10/xml-exc-c14n#");
     this.PrefixList = this.LookupDictionaryString(dictionary, "PrefixList");
     this.InclusiveNamespaces = this.LookupDictionaryString(dictionary, "InclusiveNamespaces");
     this.Prefix = this.LookupDictionaryString(dictionary, "ec");
 }
示例#5
0
 public XmlSignatureDictionary(IXmlDictionary dictionary)
 {
     this.Algorithm              = this.LookupDictionaryString(dictionary, "Algorithm");
     this.URI                    = this.LookupDictionaryString(dictionary, "URI");
     this.Reference              = this.LookupDictionaryString(dictionary, "Reference");
     this.Transforms             = this.LookupDictionaryString(dictionary, "Transforms");
     this.Transform              = this.LookupDictionaryString(dictionary, "Transform");
     this.DigestMethod           = this.LookupDictionaryString(dictionary, "DigestMethod");
     this.DigestValue            = this.LookupDictionaryString(dictionary, "DigestValue");
     this.Namespace              = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#");
     this.EnvelopedSignature     = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#enveloped-signature");
     this.KeyInfo                = this.LookupDictionaryString(dictionary, "KeyInfo");
     this.Signature              = this.LookupDictionaryString(dictionary, "Signature");
     this.SignedInfo             = this.LookupDictionaryString(dictionary, "SignedInfo");
     this.CanonicalizationMethod = this.LookupDictionaryString(dictionary, "CanonicalizationMethod");
     this.SignatureMethod        = this.LookupDictionaryString(dictionary, "SignatureMethod");
     this.SignatureValue         = this.LookupDictionaryString(dictionary, "SignatureValue");
     this.KeyName                = this.LookupDictionaryString(dictionary, "KeyName");
     this.Type                   = this.LookupDictionaryString(dictionary, "Type");
     this.MgmtData               = this.LookupDictionaryString(dictionary, "MgmtData");
     this.Prefix                 = this.LookupDictionaryString(dictionary, "");
     this.KeyValue               = this.LookupDictionaryString(dictionary, "KeyValue");
     this.RsaKeyValue            = this.LookupDictionaryString(dictionary, "RSAKeyValue");
     this.Modulus                = this.LookupDictionaryString(dictionary, "Modulus");
     this.Exponent               = this.LookupDictionaryString(dictionary, "Exponent");
     this.X509Data               = this.LookupDictionaryString(dictionary, "X509Data");
     this.X509IssuerSerial       = this.LookupDictionaryString(dictionary, "X509IssuerSerial");
     this.X509IssuerName         = this.LookupDictionaryString(dictionary, "X509IssuerName");
     this.X509SerialNumber       = this.LookupDictionaryString(dictionary, "X509SerialNumber");
     this.X509Certificate        = this.LookupDictionaryString(dictionary, "X509Certificate");
 }
示例#6
0
        public string GetValue(IXmlDictionary staticDictionary, XmlBinaryReaderSession readerSession)
        {
            int id = this.DictionaryId / 2;
            XmlDictionaryString dicString = XmlDictionaryString.Empty;
            bool found;
            if (this.IsSession)
            {
                if (readerSession == null)
                {
                    return null;
                }

                found = readerSession.TryLookup(id, out dicString);
            }
            else
            {
                if (staticDictionary == null)
                {
                    return null;
                }

                found = staticDictionary.TryLookup(id, out dicString);
            }

            if (found)
            {
                return dicString.Value;
            }
            else
            {
                throw new ArgumentException("Cannot find value for dictionary string with ID = " + this.DictionaryId);
            }
        }
        // Interface to plug in external Dictionaries. The external
        // dictionary should already be populated with all strings 
        // required by this assembly.
        public void PopulateDictionary(IXmlDictionary dictionary)
        {
            if (dictionary == null)
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("dictionary");

            this.dictionaryManager = new DictionaryManager(dictionary);
        }
 public SecurityAlgorithmDictionary(IXmlDictionary dictionary)
 {
     this.Aes128Encryption = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#aes128-cbc");
     this.Aes128KeyWrap = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#kw-aes128");
     this.Aes192Encryption = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#aes192-cbc");
     this.Aes192KeyWrap = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#kw-aes192");
     this.Aes256Encryption = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#aes256-cbc");
     this.Aes256KeyWrap = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#kw-aes256");
     this.DesEncryption = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#des-cbc");
     this.DsaSha1Signature = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#dsa-sha1");
     this.ExclusiveC14n = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/10/xml-exc-c14n#");
     this.ExclusiveC14nWithComments = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/10/xml-exc-c14n#WithComments");
     this.HmacSha1Signature = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#hmac-sha1");
     this.HmacSha256Signature = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256");
     this.Psha1KeyDerivation = this.LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1");
     this.Ripemd160Digest = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#ripemd160");
     this.RsaOaepKeyWrap = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p");
     this.RsaSha1Signature = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#rsa-sha1");
     this.RsaSha256Signature = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
     this.RsaV15KeyWrap = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#rsa-1_5");
     this.Sha1Digest = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#sha1");
     this.Sha256Digest = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#sha256");
     this.Sha512Digest = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#sha512");
     this.TripleDesEncryption = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#tripledes-cbc");
     this.TripleDesKeyWrap = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#kw-tripledes");
     this.TlsSspiKeyWrap = this.LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/2005/02/trust/tlsnego#TLS_Wrap");
     this.WindowsSspiKeyWrap = this.LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/2005/02/trust/spnego#GSS_Wrap");
 }
示例#9
0
 public SamlDelegatingWriter(XmlDictionaryWriter innerWriter, Stream canonicalStream, ICanonicalWriterEndRootElementCallback callback, IXmlDictionary dictionary)
 {
     if (innerWriter == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("innerWriter");
     }
     if (canonicalStream == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("canonicalStream");
     }
     if (callback == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("callback");
     }
     if (dictionary == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("dictionary");
     }
     this.innerWriter       = innerWriter;
     this.canonicalStream   = canonicalStream;
     this.callback          = callback;
     this.dictionary        = dictionary;
     this.elementCount      = 0;
     this.startFragment     = new MemoryStream();
     this.signatureFragment = new MemoryStream();
     this.endFragment       = new MemoryStream();
     this.writerStream      = new MemoryStream();
     this.effectiveWriter   = XmlDictionaryWriter.CreateBinaryWriter(this.writerStream, this.dictionary);
     this.effectiveWriter.StartCanonicalization(this.canonicalStream, false, null);
     ((IFragmentCapableXmlDictionaryWriter)this.effectiveWriter).StartFragment(this.startFragment, false);
 }
示例#10
0
 public ExclusiveC14NDictionary(IXmlDictionary dictionary)
 {
     this.Namespace           = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/10/xml-exc-c14n#");
     this.PrefixList          = this.LookupDictionaryString(dictionary, "PrefixList");
     this.InclusiveNamespaces = this.LookupDictionaryString(dictionary, "InclusiveNamespaces");
     this.Prefix = this.LookupDictionaryString(dictionary, "ec");
 }
示例#11
0
 public static XmlDictionaryReader CreateBinaryReader(
     Stream stream, IXmlDictionary dictionary,
     XmlDictionaryReaderQuotas quotas)
 {
     return(CreateBinaryReader(stream, dictionary, quotas,
                               new XmlBinaryReaderSession(), null));
 }
示例#12
0
        public virtual int IndexOfLocalName(
            XmlDictionaryString [] localNames,
            XmlDictionaryString namespaceUri)
        {
            if (localNames == null)
            {
                throw new ArgumentNullException("localNames");
            }
            if (namespaceUri == null)
            {
                throw new ArgumentNullException("namespaceUri");
            }
            if (NamespaceURI != namespaceUri.Value)
            {
                return(-1);
            }
            XmlDictionaryString localName;

            if (!TryGetLocalNameAsDictionaryString(out localName))
            {
                return(-1);
            }
            IXmlDictionary      dict = localName.Dictionary;
            XmlDictionaryString iter;

            for (int i = 0; i < localNames.Length; i++)
            {
                if (dict.TryLookup(localNames [i], out iter) && object.ReferenceEquals(iter, localName))
                {
                    return(i);
                }
            }
            return(-1);
        }
示例#13
0
        static public XmlDictionaryWriter CreateBinaryWriter(Stream stream, IXmlDictionary dictionary, XmlBinaryWriterSession session, bool ownsStream)
        {
            XmlBinaryWriter writer = new XmlBinaryWriter();

            writer.SetOutput(stream, dictionary, session, ownsStream);
            return(writer);
        }
示例#14
0
		public static XmlDictionaryWriter CreateBinaryWriter (
			Stream stream, IXmlDictionary dictionary,
			XmlBinaryWriterSession session, bool ownsStream)
		{
			return new XmlBinaryDictionaryWriter (stream,
				dictionary, session, ownsStream);
		}
示例#15
0
 public static XmlDictionaryWriter CreateBinaryWriter(
     Stream stream, IXmlDictionary dictionary,
     XmlBinaryWriterSession session, bool ownsStream)
 {
     return(new XmlBinaryDictionaryWriter(stream,
                                          dictionary, session, ownsStream));
 }
示例#16
0
 public SecurityAlgorithmDictionary(IXmlDictionary dictionary)
 {
     this.Aes128Encryption          = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#aes128-cbc");
     this.Aes128KeyWrap             = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#kw-aes128");
     this.Aes192Encryption          = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#aes192-cbc");
     this.Aes192KeyWrap             = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#kw-aes192");
     this.Aes256Encryption          = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#aes256-cbc");
     this.Aes256KeyWrap             = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#kw-aes256");
     this.DesEncryption             = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#des-cbc");
     this.DsaSha1Signature          = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#dsa-sha1");
     this.ExclusiveC14n             = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/10/xml-exc-c14n#");
     this.ExclusiveC14nWithComments = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/10/xml-exc-c14n#WithComments");
     this.HmacSha1Signature         = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#hmac-sha1");
     this.HmacSha256Signature       = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256");
     this.Psha1KeyDerivation        = this.LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1");
     this.Ripemd160Digest           = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#ripemd160");
     this.RsaOaepKeyWrap            = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p");
     this.RsaSha1Signature          = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#rsa-sha1");
     this.RsaSha256Signature        = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
     this.RsaV15KeyWrap             = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#rsa-1_5");
     this.Sha1Digest          = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#sha1");
     this.Sha256Digest        = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#sha256");
     this.Sha512Digest        = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#sha512");
     this.TripleDesEncryption = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#tripledes-cbc");
     this.TripleDesKeyWrap    = this.LookupDictionaryString(dictionary, "http://www.w3.org/2001/04/xmlenc#kw-tripledes");
     this.TlsSspiKeyWrap      = this.LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/2005/02/trust/tlsnego#TLS_Wrap");
     this.WindowsSspiKeyWrap  = this.LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/2005/02/trust/spnego#GSS_Wrap");
 }
 public XmlSignatureDictionary(IXmlDictionary dictionary)
 {
     this.Algorithm = this.LookupDictionaryString(dictionary, "Algorithm");
     this.URI = this.LookupDictionaryString(dictionary, "URI");
     this.Reference = this.LookupDictionaryString(dictionary, "Reference");
     this.Transforms = this.LookupDictionaryString(dictionary, "Transforms");
     this.Transform = this.LookupDictionaryString(dictionary, "Transform");
     this.DigestMethod = this.LookupDictionaryString(dictionary, "DigestMethod");
     this.DigestValue = this.LookupDictionaryString(dictionary, "DigestValue");
     this.Namespace = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#");
     this.EnvelopedSignature = this.LookupDictionaryString(dictionary, "http://www.w3.org/2000/09/xmldsig#enveloped-signature");
     this.KeyInfo = this.LookupDictionaryString(dictionary, "KeyInfo");
     this.Signature = this.LookupDictionaryString(dictionary, "Signature");
     this.SignedInfo = this.LookupDictionaryString(dictionary, "SignedInfo");
     this.CanonicalizationMethod = this.LookupDictionaryString(dictionary, "CanonicalizationMethod");
     this.SignatureMethod = this.LookupDictionaryString(dictionary, "SignatureMethod");
     this.SignatureValue = this.LookupDictionaryString(dictionary, "SignatureValue");
     this.KeyName = this.LookupDictionaryString(dictionary, "KeyName");
     this.Type = this.LookupDictionaryString(dictionary, "Type");
     this.MgmtData = this.LookupDictionaryString(dictionary, "MgmtData");
     this.Prefix = this.LookupDictionaryString(dictionary, "");
     this.KeyValue = this.LookupDictionaryString(dictionary, "KeyValue");
     this.RsaKeyValue = this.LookupDictionaryString(dictionary, "RSAKeyValue");
     this.Modulus = this.LookupDictionaryString(dictionary, "Modulus");
     this.Exponent = this.LookupDictionaryString(dictionary, "Exponent");
     this.X509Data = this.LookupDictionaryString(dictionary, "X509Data");
     this.X509IssuerSerial = this.LookupDictionaryString(dictionary, "X509IssuerSerial");
     this.X509IssuerName = this.LookupDictionaryString(dictionary, "X509IssuerName");
     this.X509SerialNumber = this.LookupDictionaryString(dictionary, "X509SerialNumber");
     this.X509Certificate = this.LookupDictionaryString(dictionary, "X509Certificate");
 }
示例#18
0
        private IntArray AddKeys(IXmlDictionary dictionary, int minCount)
        {
            IntArray array = new IntArray(Math.Max(minCount, 0x10));

            this.maps.Add(dictionary, array);
            return(array);
        }
示例#19
0
        private void Initialize(IXmlDictionary dictionary,
                                XmlDictionaryReaderQuotas quotas,
                                XmlBinaryReaderSession session,
                                OnXmlDictionaryReaderClose onClose)
        {
            if (quotas == null)
            {
                throw new ArgumentNullException("quotas");
            }
            if (dictionary == null)
            {
                dictionary = new XmlDictionary();
            }
            this.dictionary = dictionary;

            this.quota = quotas;

            if (session == null)
            {
                session = new XmlBinaryReaderSession();
            }
            this.session = session;

            on_close = onClose;
            NameTable nt = new NameTable();

            this.context = new XmlParserContext(nt,
                                                new XmlNamespaceManager(nt),
                                                null, XmlSpace.None);

            current = node = new NodeInfo();
            current.Reset();
            node_stack.Add(node);
        }
示例#20
0
 public SamlDictionary(IXmlDictionary dictionary)
 {
     this.Access                          = this.LookupDictionaryString(dictionary, "Access");
     this.AccessDecision                  = this.LookupDictionaryString(dictionary, "AccessDecision");
     this.Action                          = this.LookupDictionaryString(dictionary, "Action");
     this.Advice                          = this.LookupDictionaryString(dictionary, "Advice");
     this.Assertion                       = this.LookupDictionaryString(dictionary, "Assertion");
     this.AssertionId                     = this.LookupDictionaryString(dictionary, "AssertionID");
     this.AssertionIdReference            = this.LookupDictionaryString(dictionary, "AssertionIDReference");
     this.Attribute                       = this.LookupDictionaryString(dictionary, "Attribute");
     this.AttributeName                   = this.LookupDictionaryString(dictionary, "AttributeName");
     this.AttributeNamespace              = this.LookupDictionaryString(dictionary, "AttributeNamespace");
     this.AttributeStatement              = this.LookupDictionaryString(dictionary, "AttributeStatement");
     this.AttributeValue                  = this.LookupDictionaryString(dictionary, "AttributeValue");
     this.Audience                        = this.LookupDictionaryString(dictionary, "Audience");
     this.AudienceRestrictionCondition    = this.LookupDictionaryString(dictionary, "AudienceRestrictionCondition");
     this.AuthenticationInstant           = this.LookupDictionaryString(dictionary, "AuthenticationInstant");
     this.AuthenticationMethod            = this.LookupDictionaryString(dictionary, "AuthenticationMethod");
     this.AuthenticationStatement         = this.LookupDictionaryString(dictionary, "AuthenticationStatement");
     this.AuthorityBinding                = this.LookupDictionaryString(dictionary, "AuthorityBinding");
     this.AuthorityKind                   = this.LookupDictionaryString(dictionary, "AuthorityKind");
     this.AuthorizationDecisionStatement  = this.LookupDictionaryString(dictionary, "AuthorizationDecisionStatement");
     this.Binding                         = this.LookupDictionaryString(dictionary, "Binding");
     this.Condition                       = this.LookupDictionaryString(dictionary, "Condition");
     this.Conditions                      = this.LookupDictionaryString(dictionary, "Conditions");
     this.Decision                        = this.LookupDictionaryString(dictionary, "Decision");
     this.DoNotCacheCondition             = this.LookupDictionaryString(dictionary, "DoNotCacheCondition");
     this.Evidence                        = this.LookupDictionaryString(dictionary, "Evidence");
     this.IssueInstant                    = this.LookupDictionaryString(dictionary, "IssueInstant");
     this.Issuer                          = this.LookupDictionaryString(dictionary, "Issuer");
     this.Location                        = this.LookupDictionaryString(dictionary, "Location");
     this.MajorVersion                    = this.LookupDictionaryString(dictionary, "MajorVersion");
     this.MinorVersion                    = this.LookupDictionaryString(dictionary, "MinorVersion");
     this.Namespace                       = this.LookupDictionaryString(dictionary, "urn:oasis:names:tc:SAML:1.0:assertion");
     this.NameIdentifier                  = this.LookupDictionaryString(dictionary, "NameIdentifier");
     this.NameIdentifierFormat            = this.LookupDictionaryString(dictionary, "Format");
     this.NameIdentifierNameQualifier     = this.LookupDictionaryString(dictionary, "NameQualifier");
     this.ActionNamespaceAttribute        = this.LookupDictionaryString(dictionary, "Namespace");
     this.NotBefore                       = this.LookupDictionaryString(dictionary, "NotBefore");
     this.NotOnOrAfter                    = this.LookupDictionaryString(dictionary, "NotOnOrAfter");
     this.PreferredPrefix                 = this.LookupDictionaryString(dictionary, "saml");
     this.Statement                       = this.LookupDictionaryString(dictionary, "Statement");
     this.Subject                         = this.LookupDictionaryString(dictionary, "Subject");
     this.SubjectConfirmation             = this.LookupDictionaryString(dictionary, "SubjectConfirmation");
     this.SubjectConfirmationData         = this.LookupDictionaryString(dictionary, "SubjectConfirmationData");
     this.SubjectConfirmationMethod       = this.LookupDictionaryString(dictionary, "ConfirmationMethod");
     this.HolderOfKey                     = this.LookupDictionaryString(dictionary, "urn:oasis:names:tc:SAML:1.0:cm:holder-of-key");
     this.SenderVouches                   = this.LookupDictionaryString(dictionary, "urn:oasis:names:tc:SAML:1.0:cm:sender-vouches");
     this.SubjectLocality                 = this.LookupDictionaryString(dictionary, "SubjectLocality");
     this.SubjectLocalityDNSAddress       = this.LookupDictionaryString(dictionary, "DNSAddress");
     this.SubjectLocalityIPAddress        = this.LookupDictionaryString(dictionary, "IPAddress");
     this.SubjectStatement                = this.LookupDictionaryString(dictionary, "SubjectStatement");
     this.UnspecifiedAuthenticationMethod = this.LookupDictionaryString(dictionary, "urn:oasis:names:tc:SAML:1.0:am:unspecified");
     this.NamespaceAttributePrefix        = this.LookupDictionaryString(dictionary, "xmlns");
     this.Resource                        = this.LookupDictionaryString(dictionary, "Resource");
     this.UserName                        = this.LookupDictionaryString(dictionary, "UserName");
     this.UserNameNamespace               = this.LookupDictionaryString(dictionary, "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName");
     this.EmailName                       = this.LookupDictionaryString(dictionary, "EmailName");
     this.EmailNamespace                  = this.LookupDictionaryString(dictionary, "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress");
 }
 public void PopulateDictionary(IXmlDictionary dictionary)
 {
     if (dictionary == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("dictionary");
     }
     this.dictionaryManager = new System.IdentityModel.DictionaryManager(dictionary);
 }
示例#22
0
        /// <summary>Serialize message to binary XML</summary>
        public static byte[] writeBinary(Message msg, IXmlDictionary preSharedDictionary = null)
        {
            MemoryStream ms = new MemoryStream();

            using (XmlDictionaryWriter writer = XmlDictionaryWriter.CreateBinaryWriter(ms, preSharedDictionary, null, false))
                serializer.WriteObject(writer, msg);
            return(ms.ToArray());
        }
示例#23
0
 public DictionaryManager()
 {
     this.samlDictionary              = XD.SamlDictionary;
     this.sigantureDictionary         = XD.XmlSignatureDictionary;
     this.utilityDictionary           = XD.UtilityDictionary;
     this.exclusiveC14NDictionary     = XD.ExclusiveC14NDictionary;
     this.securityAlgorithmDictionary = XD.SecurityAlgorithmDictionary;
     this.parentDictionary            = XD.Dictionary;
 }
示例#24
0
 public DictionaryManager(IXmlDictionary parentDictionary)
 {
     this.samlDictionary              = new System.IdentityModel.SamlDictionary(parentDictionary);
     this.sigantureDictionary         = new System.IdentityModel.XmlSignatureDictionary(parentDictionary);
     this.utilityDictionary           = new System.IdentityModel.UtilityDictionary(parentDictionary);
     this.exclusiveC14NDictionary     = new System.IdentityModel.ExclusiveC14NDictionary(parentDictionary);
     this.securityAlgorithmDictionary = new System.IdentityModel.SecurityAlgorithmDictionary(parentDictionary);
     this.parentDictionary            = parentDictionary;
 }
 public UtilityDictionary(IXmlDictionary dictionary)
 {
     this.IdAttribute = this.LookupDictionaryString(dictionary, "Id");
     this.Namespace = this.LookupDictionaryString(dictionary, "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");
     this.Timestamp = this.LookupDictionaryString(dictionary, "Timestamp");
     this.CreatedElement = this.LookupDictionaryString(dictionary, "Created");
     this.ExpiresElement = this.LookupDictionaryString(dictionary, "Expires");
     this.Prefix = this.LookupDictionaryString(dictionary, "u");
 }
示例#26
0
        // Interface to plug in external Dictionaries. The external
        // dictionary should already be populated with all strings
        // required by this assembly.
        public void PopulateDictionary(IXmlDictionary dictionary)
        {
            if (dictionary == null)
            {
                throw /*System.ServiceModel.*/ DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("dictionary");
            }

            _dictionaryManager = new DictionaryManager(dictionary);
        }
 public DictionaryManager(IXmlDictionary parentDictionary)
 {
     this.samlDictionary = new System.IdentityModel.SamlDictionary(parentDictionary);
     this.sigantureDictionary = new System.IdentityModel.XmlSignatureDictionary(parentDictionary);
     this.utilityDictionary = new System.IdentityModel.UtilityDictionary(parentDictionary);
     this.exclusiveC14NDictionary = new System.IdentityModel.ExclusiveC14NDictionary(parentDictionary);
     this.securityAlgorithmDictionary = new System.IdentityModel.SecurityAlgorithmDictionary(parentDictionary);
     this.parentDictionary = parentDictionary;
 }
示例#28
0
 public XmlBinaryDictionaryReader(Stream stream,
                                  IXmlDictionary dictionary,
                                  XmlDictionaryReaderQuotas quota,
                                  XmlBinaryReaderSession session,
                                  OnXmlDictionaryReaderClose onClose)
 {
     source = new StreamSource(stream);
     Initialize(dictionary, quota, session, onClose);
 }
示例#29
0
 public static XmlDictionaryReader CreateBinaryReader(
     byte [] buffer, int offset, int count,
     IXmlDictionary dictionary,
     XmlDictionaryReaderQuotas quotas)
 {
     return(CreateBinaryReader(buffer, offset, count,
                               dictionary, quotas,
                               new XmlBinaryReaderSession(), null));
 }
示例#30
0
 public static XmlDictionaryReader CreateBinaryReader(
     Stream stream, IXmlDictionary dictionary,
     XmlDictionaryReaderQuotas quotas,
     XmlBinaryReaderSession session,
     OnXmlDictionaryReaderClose onClose)
 {
     return(new XmlBinaryDictionaryReader(stream,
                                          dictionary, quotas, session, onClose));
 }
 public DictionaryManager()
 {
     this.samlDictionary = XD.SamlDictionary;
     this.sigantureDictionary = XD.XmlSignatureDictionary;
     this.utilityDictionary = XD.UtilityDictionary;
     this.exclusiveC14NDictionary = XD.ExclusiveC14NDictionary;
     this.securityAlgorithmDictionary = XD.SecurityAlgorithmDictionary;
     this.parentDictionary = XD.Dictionary;
 }
示例#32
0
 public UtilityDictionary(IXmlDictionary dictionary)
 {
     this.IdAttribute    = this.LookupDictionaryString(dictionary, "Id");
     this.Namespace      = this.LookupDictionaryString(dictionary, "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");
     this.Timestamp      = this.LookupDictionaryString(dictionary, "Timestamp");
     this.CreatedElement = this.LookupDictionaryString(dictionary, "Created");
     this.ExpiresElement = this.LookupDictionaryString(dictionary, "Expires");
     this.Prefix         = this.LookupDictionaryString(dictionary, "u");
 }
 private XmlDictionaryString LookupDictionaryString(IXmlDictionary dictionary, string value)
 {
     XmlDictionaryString str;
     if (!dictionary.TryLookup(value, out str))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(System.IdentityModel.SR.GetString("XDCannotFindValueInDictionaryString", new object[] { value }));
     }
     return str;
 }
 public void SetOutput(Stream stream, IXmlDictionary dictionary, XmlBinaryWriterSession session, bool ownsStream)
 {
     this.dictionary  = dictionary;
     this.session     = session;
     this.inAttribute = false;
     this.inList      = false;
     this.attributeValue.Clear();
     this.textNodeOffset = -1;
     base.SetOutput(stream, ownsStream, null);
 }
示例#35
0
 public XmlBinaryDictionaryReader(byte [] buffer, int offset,
                                  int count, IXmlDictionary dictionary,
                                  XmlDictionaryReaderQuotas quota,
                                  XmlBinaryReaderSession session,
                                  OnXmlDictionaryReaderClose onClose)
 {
     source = /*new ArraySource (buffer, offset, count);*/
              new StreamSource(new MemoryStream(buffer, offset, count));
     Initialize(dictionary, quota, session, onClose);
 }
 void SetBuffer(Stream stream, byte[] buffer, int offset, int count, IXmlDictionary dictionary, XmlBinaryReaderSession session)
 {
     this.stream = stream;
     this.buffer = buffer;
     this.offsetMin = offset;
     this.offset = offset;
     this.offsetMax = offset + count;
     this.dictionary = dictionary;
     this.session = session;
 }
 public void SetBuffer(Stream stream, IXmlDictionary dictionary, XmlBinaryReaderSession session)
 {
     if (streamBuffer == null)
     {
         streamBuffer = new byte[128];
     }
     SetBuffer(stream, streamBuffer, 0, 0, dictionary, session);
     this.windowOffset = 0;
     this.windowOffsetMax = streamBuffer.Length;
 }
 public void SetBuffer(Stream stream, IXmlDictionary dictionary, XmlBinaryReaderSession session)
 {
     if (this.streamBuffer == null)
     {
         this.streamBuffer = new byte[0x80];
     }
     this.SetBuffer(stream, this.streamBuffer, 0, 0, dictionary, session);
     this.windowOffset    = 0;
     this.windowOffsetMax = this.streamBuffer.Length;
 }
 private void SetBuffer(Stream stream, byte[] buffer, int offset, int count, IXmlDictionary dictionary, XmlBinaryReaderSession session)
 {
     this.stream     = stream;
     this.buffer     = buffer;
     this.offsetMin  = offset;
     this.offset     = offset;
     this.offsetMax  = offset + count;
     this.dictionary = dictionary;
     this.session    = session;
 }
示例#40
0
        private XmlDictionaryString LookupDictionaryString(IXmlDictionary dictionary, string value)
        {
            XmlDictionaryString str;

            if (!dictionary.TryLookup(value, out str))
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(System.IdentityModel.SR.GetString("XDCannotFindValueInDictionaryString", new object[] { value }));
            }
            return(str);
        }
示例#41
0
 public void SetOutput(Stream stream, IXmlDictionary dictionary, XmlBinaryWriterSession session, bool ownsStream)
 {
     _dictionary = dictionary;
     _session = session;
     _inAttribute = false;
     _inList = false;
     _attributeValue.Clear();
     _textNodeOffset = -1;
     SetOutput(stream, ownsStream, null);
 }
示例#42
0
 private void SetBuffer(Stream stream, byte[] buffer, int offset, int count, IXmlDictionary dictionary, XmlBinaryReaderSession session)
 {
     _stream     = stream;
     _buffer     = buffer;
     _offsetMin  = offset;
     _offset     = offset;
     _offsetMax  = offset + count;
     _dictionary = dictionary;
     _session    = session;
 }
 public static XmlDictionaryReader CreateBinaryReader(byte[] buffer, int offset, int count,
                                                      IXmlDictionary dictionary,
                                                      XmlDictionaryReaderQuotas quotas,
                                                      XmlBinaryReaderSession session,
                                                      OnXmlDictionaryReaderClose onClose)
 {
     XmlBinaryReader reader = new XmlBinaryReader();
     reader.SetInput(buffer, offset, count, dictionary, quotas, session, onClose);
     return reader;
 }
 public void SetOutput(Stream stream, IXmlDictionary dictionary, XmlBinaryWriterSession session, bool ownsStream)
 {
     this.dictionary = dictionary;
     this.session = session;
     this.inAttribute = false;
     this.inList = false;
     this.attributeValue.Clear();
     this.textNodeOffset = -1;
     base.SetOutput(stream, ownsStream, null);
 }
示例#45
0
 public void SetBuffer(Stream stream, IXmlDictionary dictionary, XmlBinaryReaderSession session)
 {
     if (_streamBuffer == null)
     {
         _streamBuffer = new byte[128];
     }
     SetBuffer(stream, _streamBuffer, 0, 0, dictionary, session);
     _windowOffset    = 0;
     _windowOffsetMax = _streamBuffer.Length;
 }
示例#46
0
 public TrustFeb2005Dictionary(IXmlDictionary dictionary)
     : base(dictionary)
 {
     RequestSecurityTokenResponseCollection = LookupDictionaryString(dictionary, "RequestSecurityTokenResponseCollection");
     Namespace = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust");
     BinarySecretClauseType       = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust#BinarySecret");
     CombinedHashLabel            = LookupDictionaryString(dictionary, "AUTH-HASH");
     RequestSecurityTokenResponse = LookupDictionaryString(dictionary, "RequestSecurityTokenResponse");
     TokenType = LookupDictionaryString(dictionary, "TokenType");
     KeySize   = LookupDictionaryString(dictionary, "KeySize");
     RequestedTokenReference = LookupDictionaryString(dictionary, "RequestedTokenReference");
     AppliesTo              = LookupDictionaryString(dictionary, "AppliesTo");
     Authenticator          = LookupDictionaryString(dictionary, "Authenticator");
     CombinedHash           = LookupDictionaryString(dictionary, "CombinedHash");
     BinaryExchange         = LookupDictionaryString(dictionary, "BinaryExchange");
     Lifetime               = LookupDictionaryString(dictionary, "Lifetime");
     RequestedSecurityToken = LookupDictionaryString(dictionary, "RequestedSecurityToken");
     Entropy              = LookupDictionaryString(dictionary, "Entropy");
     RequestedProofToken  = LookupDictionaryString(dictionary, "RequestedProofToken");
     ComputedKey          = LookupDictionaryString(dictionary, "ComputedKey");
     RequestSecurityToken = LookupDictionaryString(dictionary, "RequestSecurityToken");
     RequestType          = LookupDictionaryString(dictionary, "RequestType");
     Context              = LookupDictionaryString(dictionary, "Context");
     BinarySecret         = LookupDictionaryString(dictionary, "BinarySecret");
     Type = LookupDictionaryString(dictionary, "Type");
     SpnegoValueTypeUri  = LookupDictionaryString(dictionary, "http://schemas.microsoft.com/net/2004/07/secext/WS-SPNego");
     TlsnegoValueTypeUri = LookupDictionaryString(dictionary, "http://schemas.microsoft.com/net/2004/07/secext/TLSNego");
     Prefix = LookupDictionaryString(dictionary, "t");
     RequestSecurityTokenIssuance         = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue");
     RequestSecurityTokenIssuanceResponse = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Issue");
     RequestTypeIssue         = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/Issue");
     SymmetricKeyBinarySecret = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey");
     Psha1ComputedKeyUri      = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/CK/PSHA1");
     NonceBinarySecret        = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/Nonce");
     RenewTarget                  = LookupDictionaryString(dictionary, "RenewTarget");
     CloseTarget                  = LookupDictionaryString(dictionary, "CancelTarget");
     RequestedTokenClosed         = LookupDictionaryString(dictionary, "RequestedTokenCancelled");
     RequestedAttachedReference   = LookupDictionaryString(dictionary, "RequestedAttachedReference");
     RequestedUnattachedReference = LookupDictionaryString(dictionary, "RequestedUnattachedReference");
     IssuedTokensHeader           = LookupDictionaryString(dictionary, "IssuedTokens");
     RequestTypeRenew             = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/Renew");
     RequestTypeClose             = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/Cancel");
     KeyType                       = LookupDictionaryString(dictionary, "KeyType");
     SymmetricKeyType              = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey");
     PublicKeyType                 = LookupDictionaryString(dictionary, "http://schemas.xmlsoap.org/ws/2005/02/trust/PublicKey");
     Claims                        = LookupDictionaryString(dictionary, "Claims");
     InvalidRequestFaultCode       = LookupDictionaryString(dictionary, "InvalidRequest");
     FailedAuthenticationFaultCode = LookupDictionaryString(dictionary, "FailedAuthentication");
     UseKey                        = LookupDictionaryString(dictionary, "UseKey");
     SignWith                      = LookupDictionaryString(dictionary, "SignWith");
     EncryptWith                   = LookupDictionaryString(dictionary, "EncryptWith");
     EncryptionAlgorithm           = LookupDictionaryString(dictionary, "EncryptionAlgorithm");
     CanonicalizationAlgorithm     = LookupDictionaryString(dictionary, "CanonicalizationAlgorithm");
     ComputedKeyAlgorithm          = LookupDictionaryString(dictionary, "ComputedKeyAlgorithm");
 }
示例#47
0
 public void SetInput(Stream stream,
                      IXmlDictionary dictionary,
                     XmlDictionaryReaderQuotas quotas,
                     XmlBinaryReaderSession session)
 {
     if (stream == null)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("stream");
     MoveToInitial(quotas, session, null);
     BufferReader.SetBuffer(stream, dictionary, session);
     _buffered = false;
 }
 public XmlDictionaryString(IXmlDictionary dictionary, string value, int key)
 {
     if (dictionary == null)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("dictionary"));
     if (value == null)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("value"));
     if (key < MinKey || key > MaxKey)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("key", SR.GetString(SR.ValueMustBeInRange, MinKey, MaxKey)));
     this.dictionary = dictionary;
     this.value = value;
     this.key = key;
 }
示例#49
0
 public XmlDictionaryString(IXmlDictionary dictionary, string value, int key)
 {
     if (dictionary == null)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException(nameof(dictionary)));
     if (value == null)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException(nameof(value)));
     if (key < MinKey || key > MaxKey)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException(nameof(key), SR.Format(SR.ValueMustBeInRange, MinKey, MaxKey)));
     _dictionary = dictionary;
     _value = value;
     _key = key;
 }
示例#50
0
		public XmlDictionaryString (IXmlDictionary dictionary,
			string value, int key)
		{
			if (dictionary == null)
				throw new ArgumentNullException ("dictionary");
			if (value == null)
				throw new ArgumentNullException ("value");
			if (key < 0 || key > (int.MaxValue/4))
				throw new ArgumentOutOfRangeException ("key");
			this.dict = dictionary;
			this.value = value;
			this.key = key;
		}
示例#51
0
 private void useCustomStaticDictionaryToolStripMenuItem_Click(object sender, EventArgs e)
 {
     string[] allLines = this.ReadAllLinesFromDialog();
     if (allLines != null)
     {
         XmlDictionary temp = new XmlDictionary();
         this.staticDictionary = temp;
         foreach (string line in allLines)
         {
             temp.Add(line);
         }
     }
 }
 public void SetOutput(Stream stream, IXmlDictionary dictionary, XmlBinaryWriterSession session, bool ownsStream)
 {
     if (stream == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("stream"));
     }
     if (this.writer == null)
     {
         this.writer = new XmlBinaryNodeWriter();
     }
     this.writer.SetOutput(stream, dictionary, session, ownsStream);
     base.SetOutput(this.writer);
 }
 public XmlDictionaryString(IXmlDictionary dictionary, string value, int key)
 {
     if (dictionary == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("dictionary"));
     }
     if (value == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("value"));
     }
     if ((key < 0) || (key > 0x1fffffff))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("key", System.Runtime.Serialization.SR.GetString("ValueMustBeInRange", new object[] { 0, 0x1fffffff })));
     }
     this.dictionary = dictionary;
     this.value = value;
     this.key = key;
 }
 public void Close()
 {
     if ((this.streamBuffer != null) && (this.streamBuffer.Length > 0x1000))
     {
         this.streamBuffer = null;
     }
     if (this.stream != null)
     {
         this.stream.Close();
         this.stream = null;
     }
     this.buffer = emptyByteArray;
     this.offset = 0;
     this.offsetMax = 0;
     this.windowOffset = 0;
     this.windowOffsetMax = 0;
     this.dictionary = null;
     this.session = null;
 }
示例#55
0
 public void SetInput(byte[] buffer, int offset, int count,
                     IXmlDictionary dictionary,
                     XmlDictionaryReaderQuotas quotas,
                     XmlBinaryReaderSession session)
 {
     if (buffer == null)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("buffer");
     if (offset < 0)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException(nameof(offset), SR.Format(SR.ValueMustBeNonNegative)));
     if (offset > buffer.Length)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException(nameof(offset), SR.Format(SR.OffsetExceedsBufferSize, buffer.Length)));
     if (count < 0)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException(nameof(count), SR.Format(SR.ValueMustBeNonNegative)));
     if (count > buffer.Length - offset)
         throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException(nameof(count), SR.Format(SR.SizeExceedsRemainingBufferSpace, buffer.Length - offset)));
     MoveToInitial(quotas, session, null);
     BufferReader.SetBuffer(buffer, offset, count, dictionary, session);
     _buffered = true;
 }
示例#56
0
        public DictionaryManager()
        {
            _samlDictionary = XD.SamlDictionary;
            _sigantureDictionary = XD.XmlSignatureDictionary;
            _utilityDictionary = XD.UtilityDictionary;
            _exclusiveC14NDictionary = XD.ExclusiveC14NDictionary;
            _securityAlgorithmDictionary = XD.SecurityAlgorithmDictionary;
            _parentDictionary = XD.Dictionary;
            _securityJan2004Dictionary = XD.SecurityJan2004Dictionary;
            _securityJanXXX2005Dictionary = XD.SecurityXXX2005Dictionary;
            _secureConversationFeb2005Dictionary = XD.SecureConversationFeb2005Dictionary;
            _trustFeb2005Dictionary = XD.TrustFeb2005Dictionary;
            _xmlEncryptionDictionary = XD.XmlEncryptionDictionary;

            // These 3 are factored into a seperate dictionary in ServiceModel under DXD. 
            _secureConversationDec2005Dictionary = XD.SecureConversationDec2005Dictionary;
            _securityAlgorithmDec2005Dictionary = XD.SecurityAlgorithmDec2005Dictionary;
            _trustDec2005Dictionary = XD.TrustDec2005Dictionary;
        }
示例#57
0
        public DictionaryManager(IXmlDictionary parentDictionary)
        {
            _samlDictionary = new SamlDictionary(parentDictionary);
            _sigantureDictionary = new XmlSignatureDictionary(parentDictionary);
            _utilityDictionary = new UtilityDictionary(parentDictionary);
            _exclusiveC14NDictionary = new ExclusiveC14NDictionary(parentDictionary);
            _securityAlgorithmDictionary = new SecurityAlgorithmDictionary(parentDictionary);
            _securityJan2004Dictionary = new SecurityJan2004Dictionary(parentDictionary);
            _securityJanXXX2005Dictionary = new SecurityXXX2005Dictionary(parentDictionary);
            _secureConversationFeb2005Dictionary = new SecureConversationFeb2005Dictionary(parentDictionary);
            _trustFeb2005Dictionary = new TrustFeb2005Dictionary(parentDictionary);
            _xmlEncryptionDictionary = new XmlEncryptionDictionary(parentDictionary);
            _parentDictionary = parentDictionary;

            // These 3 are factored into a seperate dictionary in ServiceModel under DXD. 
            // ServiceModel should set these seperately using the property setters.
            _secureConversationDec2005Dictionary = XD.SecureConversationDec2005Dictionary;
            _securityAlgorithmDec2005Dictionary = XD.SecurityAlgorithmDec2005Dictionary;
            _trustDec2005Dictionary = XD.TrustDec2005Dictionary;
        }
示例#58
0
 public static IXmlDictionary GetStaticDictionary()
 {
     if (staticDictionary == null)
     {
         XmlDictionary temp = new XmlDictionary();
         staticDictionary = temp;
         temp.Add("mustUnderstand");
         temp.Add("Envelope");
         temp.Add("http://www.w3.org/2003/05/soap-envelope");
         temp.Add("http://www.w3.org/2005/08/addressing");
         temp.Add("Header");
         temp.Add("Action");
         temp.Add("To");
         temp.Add("Body");
         temp.Add("Algorithm");
         temp.Add("RelatesTo");
         temp.Add("http://www.w3.org/2005/08/addressing/anonymous");
         temp.Add("URI");
         temp.Add("Reference");
         temp.Add("MessageID");
         temp.Add("Id");
         temp.Add("Identifier");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/rm");
         temp.Add("Transforms");
         temp.Add("Transform");
         temp.Add("DigestMethod");
         temp.Add("DigestValue");
         temp.Add("Address");
         temp.Add("ReplyTo");
         temp.Add("SequenceAcknowledgement");
         temp.Add("AcknowledgementRange");
         temp.Add("Upper");
         temp.Add("Lower");
         temp.Add("BufferRemaining");
         temp.Add("http://schemas.microsoft.com/ws/2006/05/rm");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement");
         temp.Add("SecurityTokenReference");
         temp.Add("Sequence");
         temp.Add("MessageNumber");
         temp.Add("http://www.w3.org/2000/09/xmldsig#");
         temp.Add("http://www.w3.org/2000/09/xmldsig#enveloped-signature");
         temp.Add("KeyInfo");
         temp.Add("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
         temp.Add("http://www.w3.org/2001/04/xmlenc#");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/sc");
         temp.Add("DerivedKeyToken");
         temp.Add("Nonce");
         temp.Add("Signature");
         temp.Add("SignedInfo");
         temp.Add("CanonicalizationMethod");
         temp.Add("SignatureMethod");
         temp.Add("SignatureValue");
         temp.Add("DataReference");
         temp.Add("EncryptedData");
         temp.Add("EncryptionMethod");
         temp.Add("CipherData");
         temp.Add("CipherValue");
         temp.Add("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");
         temp.Add("Security");
         temp.Add("Timestamp");
         temp.Add("Created");
         temp.Add("Expires");
         temp.Add("Length");
         temp.Add("ReferenceList");
         temp.Add("ValueType");
         temp.Add("Type");
         temp.Add("EncryptedHeader");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd");
         temp.Add("RequestSecurityTokenResponseCollection");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust#BinarySecret");
         temp.Add("http://schemas.microsoft.com/ws/2006/02/transactions");
         temp.Add("s");
         temp.Add("Fault");
         temp.Add("MustUnderstand");
         temp.Add("role");
         temp.Add("relay");
         temp.Add("Code");
         temp.Add("Reason");
         temp.Add("Text");
         temp.Add("Node");
         temp.Add("Role");
         temp.Add("Detail");
         temp.Add("Value");
         temp.Add("Subcode");
         temp.Add("NotUnderstood");
         temp.Add("qname");
         temp.Add("");
         temp.Add("From");
         temp.Add("FaultTo");
         temp.Add("EndpointReference");
         temp.Add("PortType");
         temp.Add("ServiceName");
         temp.Add("PortName");
         temp.Add("ReferenceProperties");
         temp.Add("RelationshipType");
         temp.Add("Reply");
         temp.Add("a");
         temp.Add("http://schemas.xmlsoap.org/ws/2006/02/addressingidentity");
         temp.Add("Identity");
         temp.Add("Spn");
         temp.Add("Upn");
         temp.Add("Rsa");
         temp.Add("Dns");
         temp.Add("X509v3Certificate");
         temp.Add("http://www.w3.org/2005/08/addressing/fault");
         temp.Add("ReferenceParameters");
         temp.Add("IsReferenceParameter");
         temp.Add("http://www.w3.org/2005/08/addressing/reply");
         temp.Add("http://www.w3.org/2005/08/addressing/none");
         temp.Add("Metadata");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/08/addressing");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/08/addressing/fault");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/06/addressingex");
         temp.Add("RedirectTo");
         temp.Add("Via");
         temp.Add("http://www.w3.org/2001/10/xml-exc-c14n#");
         temp.Add("PrefixList");
         temp.Add("InclusiveNamespaces");
         temp.Add("ec");
         temp.Add("SecurityContextToken");
         temp.Add("Generation");
         temp.Add("Label");
         temp.Add("Offset");
         temp.Add("Properties");
         temp.Add("Cookie");
         temp.Add("wsc");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/sc");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/sc/dk");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/sc/sct");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/trust/RST/SCT");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/trust/RSTR/SCT");
         temp.Add("RenewNeeded");
         temp.Add("BadContextToken");
         temp.Add("c");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/sc/dk");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/sc/sct");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT/Renew");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT/Renew");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT/Cancel");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT/Cancel");
         temp.Add("http://www.w3.org/2001/04/xmlenc#aes128-cbc");
         temp.Add("http://www.w3.org/2001/04/xmlenc#kw-aes128");
         temp.Add("http://www.w3.org/2001/04/xmlenc#aes192-cbc");
         temp.Add("http://www.w3.org/2001/04/xmlenc#kw-aes192");
         temp.Add("http://www.w3.org/2001/04/xmlenc#aes256-cbc");
         temp.Add("http://www.w3.org/2001/04/xmlenc#kw-aes256");
         temp.Add("http://www.w3.org/2001/04/xmlenc#des-cbc");
         temp.Add("http://www.w3.org/2000/09/xmldsig#dsa-sha1");
         temp.Add("http://www.w3.org/2001/10/xml-exc-c14n#WithComments");
         temp.Add("http://www.w3.org/2000/09/xmldsig#hmac-sha1");
         temp.Add("http://www.w3.org/2001/04/xmldsig-more#hmac-sha256");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1");
         temp.Add("http://www.w3.org/2001/04/xmlenc#ripemd160");
         temp.Add("http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p");
         temp.Add("http://www.w3.org/2000/09/xmldsig#rsa-sha1");
         temp.Add("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
         temp.Add("http://www.w3.org/2001/04/xmlenc#rsa-1_5");
         temp.Add("http://www.w3.org/2000/09/xmldsig#sha1");
         temp.Add("http://www.w3.org/2001/04/xmlenc#sha256");
         temp.Add("http://www.w3.org/2001/04/xmlenc#sha512");
         temp.Add("http://www.w3.org/2001/04/xmlenc#tripledes-cbc");
         temp.Add("http://www.w3.org/2001/04/xmlenc#kw-tripledes");
         temp.Add("http://schemas.xmlsoap.org/2005/02/trust/tlsnego#TLS_Wrap");
         temp.Add("http://schemas.xmlsoap.org/2005/02/trust/spnego#GSS_Wrap");
         temp.Add("http://schemas.microsoft.com/ws/2006/05/security");
         temp.Add("dnse");
         temp.Add("o");
         temp.Add("Password");
         temp.Add("PasswordText");
         temp.Add("Username");
         temp.Add("UsernameToken");
         temp.Add("BinarySecurityToken");
         temp.Add("EncodingType");
         temp.Add("KeyIdentifier");
         temp.Add("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary");
         temp.Add("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#HexBinary");
         temp.Add("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Text");
         temp.Add("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ1510");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID");
         temp.Add("Assertion");
         temp.Add("urn:oasis:names:tc:SAML:1.0:assertion");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-rel-token-profile-1.0.pdf#license");
         temp.Add("FailedAuthentication");
         temp.Add("InvalidSecurityToken");
         temp.Add("InvalidSecurity");
         temp.Add("k");
         temp.Add("SignatureConfirmation");
         temp.Add("TokenType");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID");
         temp.Add("AUTH-HASH");
         temp.Add("RequestSecurityTokenResponse");
         temp.Add("KeySize");
         temp.Add("RequestedTokenReference");
         temp.Add("AppliesTo");
         temp.Add("Authenticator");
         temp.Add("CombinedHash");
         temp.Add("BinaryExchange");
         temp.Add("Lifetime");
         temp.Add("RequestedSecurityToken");
         temp.Add("Entropy");
         temp.Add("RequestedProofToken");
         temp.Add("ComputedKey");
         temp.Add("RequestSecurityToken");
         temp.Add("RequestType");
         temp.Add("Context");
         temp.Add("BinarySecret");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/spnego");
         temp.Add(" http://schemas.xmlsoap.org/ws/2005/02/trust/tlsnego");
         temp.Add("wst");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/trust");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/trust/RST/Issue");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/trust/RSTR/Issue");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/trust/CK/PSHA1");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/trust/SymmetricKey");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/security/trust/Nonce");
         temp.Add("KeyType");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/trust/SymmetricKey");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/04/trust/PublicKey");
         temp.Add("Claims");
         temp.Add("InvalidRequest");
         temp.Add("RequestFailed");
         temp.Add("SignWith");
         temp.Add("EncryptWith");
         temp.Add("EncryptionAlgorithm");
         temp.Add("CanonicalizationAlgorithm");
         temp.Add("ComputedKeyAlgorithm");
         temp.Add("UseKey");
         temp.Add("http://schemas.microsoft.com/net/2004/07/secext/WS-SPNego");
         temp.Add("http://schemas.microsoft.com/net/2004/07/secext/TLSNego");
         temp.Add("t");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Issue");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/Issue");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/CK/PSHA1");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/Nonce");
         temp.Add("RenewTarget");
         temp.Add("CancelTarget");
         temp.Add("RequestedTokenCancelled");
         temp.Add("RequestedAttachedReference");
         temp.Add("RequestedUnattachedReference");
         temp.Add("IssuedTokens");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/Renew");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/Cancel");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/trust/PublicKey");
         temp.Add("Access");
         temp.Add("AccessDecision");
         temp.Add("Advice");
         temp.Add("AssertionID");
         temp.Add("AssertionIDReference");
         temp.Add("Attribute");
         temp.Add("AttributeName");
         temp.Add("AttributeNamespace");
         temp.Add("AttributeStatement");
         temp.Add("AttributeValue");
         temp.Add("Audience");
         temp.Add("AudienceRestrictionCondition");
         temp.Add("AuthenticationInstant");
         temp.Add("AuthenticationMethod");
         temp.Add("AuthenticationStatement");
         temp.Add("AuthorityBinding");
         temp.Add("AuthorityKind");
         temp.Add("AuthorizationDecisionStatement");
         temp.Add("Binding");
         temp.Add("Condition");
         temp.Add("Conditions");
         temp.Add("Decision");
         temp.Add("DoNotCacheCondition");
         temp.Add("Evidence");
         temp.Add("IssueInstant");
         temp.Add("Issuer");
         temp.Add("Location");
         temp.Add("MajorVersion");
         temp.Add("MinorVersion");
         temp.Add("NameIdentifier");
         temp.Add("Format");
         temp.Add("NameQualifier");
         temp.Add("Namespace");
         temp.Add("NotBefore");
         temp.Add("NotOnOrAfter");
         temp.Add("saml");
         temp.Add("Statement");
         temp.Add("Subject");
         temp.Add("SubjectConfirmation");
         temp.Add("SubjectConfirmationData");
         temp.Add("ConfirmationMethod");
         temp.Add("urn:oasis:names:tc:SAML:1.0:cm:holder-of-key");
         temp.Add("urn:oasis:names:tc:SAML:1.0:cm:sender-vouches");
         temp.Add("SubjectLocality");
         temp.Add("DNSAddress");
         temp.Add("IPAddress");
         temp.Add("SubjectStatement");
         temp.Add("urn:oasis:names:tc:SAML:1.0:am:unspecified");
         temp.Add("xmlns");
         temp.Add("Resource");
         temp.Add("UserName");
         temp.Add("urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName");
         temp.Add("EmailName");
         temp.Add("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress");
         temp.Add("u");
         temp.Add("ChannelInstance");
         temp.Add("http://schemas.microsoft.com/ws/2005/02/duplex");
         temp.Add("Encoding");
         temp.Add("MimeType");
         temp.Add("CarriedKeyName");
         temp.Add("Recipient");
         temp.Add("EncryptedKey");
         temp.Add("KeyReference");
         temp.Add("e");
         temp.Add("http://www.w3.org/2001/04/xmlenc#Element");
         temp.Add("http://www.w3.org/2001/04/xmlenc#Content");
         temp.Add("KeyName");
         temp.Add("MgmtData");
         temp.Add("KeyValue");
         temp.Add("RSAKeyValue");
         temp.Add("Modulus");
         temp.Add("Exponent");
         temp.Add("X509Data");
         temp.Add("X509IssuerSerial");
         temp.Add("X509IssuerName");
         temp.Add("X509SerialNumber");
         temp.Add("X509Certificate");
         temp.Add("AckRequested");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/rm/AckRequested");
         temp.Add("AcksTo");
         temp.Add("Accept");
         temp.Add("CreateSequence");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence");
         temp.Add("CreateSequenceRefused");
         temp.Add("CreateSequenceResponse");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse");
         temp.Add("FaultCode");
         temp.Add("InvalidAcknowledgement");
         temp.Add("LastMessage");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage");
         temp.Add("LastMessageNumberExceeded");
         temp.Add("MessageNumberRollover");
         temp.Add("Nack");
         temp.Add("netrm");
         temp.Add("Offer");
         temp.Add("r");
         temp.Add("SequenceFault");
         temp.Add("SequenceTerminated");
         temp.Add("TerminateSequence");
         temp.Add("http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence");
         temp.Add("UnknownSequence");
         temp.Add("http://schemas.microsoft.com/ws/2006/02/tx/oletx");
         temp.Add("oletx");
         temp.Add("OleTxTransaction");
         temp.Add("PropagationToken");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wscoor");
         temp.Add("wscoor");
         temp.Add("CreateCoordinationContext");
         temp.Add("CreateCoordinationContextResponse");
         temp.Add("CoordinationContext");
         temp.Add("CurrentContext");
         temp.Add("CoordinationType");
         temp.Add("RegistrationService");
         temp.Add("Register");
         temp.Add("RegisterResponse");
         temp.Add("ProtocolIdentifier");
         temp.Add("CoordinatorProtocolService");
         temp.Add("ParticipantProtocolService");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wscoor/CreateCoordinationContext");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wscoor/CreateCoordinationContextResponse");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wscoor/Register");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wscoor/RegisterResponse");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wscoor/fault");
         temp.Add("ActivationCoordinatorPortType");
         temp.Add("RegistrationCoordinatorPortType");
         temp.Add("InvalidState");
         temp.Add("InvalidProtocol");
         temp.Add("InvalidParameters");
         temp.Add("NoActivity");
         temp.Add("ContextRefused");
         temp.Add("AlreadyRegistered");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat");
         temp.Add("wsat");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Completion");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Durable2PC");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Volatile2PC");
         temp.Add("Prepare");
         temp.Add("Prepared");
         temp.Add("ReadOnly");
         temp.Add("Commit");
         temp.Add("Rollback");
         temp.Add("Committed");
         temp.Add("Aborted");
         temp.Add("Replay");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Commit");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Rollback");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Committed");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Aborted");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Prepare");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Prepared");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/ReadOnly");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/Replay");
         temp.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat/fault");
         temp.Add("CompletionCoordinatorPortType");
         temp.Add("CompletionParticipantPortType");
         temp.Add("CoordinatorPortType");
         temp.Add("ParticipantPortType");
         temp.Add("InconsistentInternalState");
         temp.Add("mstx");
         temp.Add("Enlistment");
         temp.Add("protocol");
         temp.Add("LocalTransactionId");
         temp.Add("IsolationLevel");
         temp.Add("IsolationFlags");
         temp.Add("Description");
         temp.Add("Loopback");
         temp.Add("RegisterInfo");
         temp.Add("ContextId");
         temp.Add("TokenId");
         temp.Add("AccessDenied");
         temp.Add("InvalidPolicy");
         temp.Add("CoordinatorRegistrationFailed");
         temp.Add("TooManyEnlistments");
         temp.Add("Disabled");
         temp.Add("ActivityId");
         temp.Add("http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics");
         temp.Add("http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#Kerberosv5APREQSHA1");
         temp.Add("http://schemas.xmlsoap.org/ws/2002/12/policy");
         temp.Add("FloodMessage");
         temp.Add("LinkUtility");
         temp.Add("Hops");
         temp.Add("http://schemas.microsoft.com/net/2006/05/peer/HopCount");
         temp.Add("PeerVia");
         temp.Add("http://schemas.microsoft.com/net/2006/05/peer");
         temp.Add("PeerFlooder");
         temp.Add("PeerTo");
         temp.Add("http://schemas.microsoft.com/ws/2005/05/routing");
         temp.Add("PacketRoutable");
         temp.Add("http://schemas.microsoft.com/ws/2005/05/addressing/none");
         temp.Add("http://schemas.microsoft.com/ws/2005/05/envelope/none");
         temp.Add("http://www.w3.org/2001/XMLSchema-instance");
         temp.Add("http://www.w3.org/2001/XMLSchema");
         temp.Add("nil");
         temp.Add("type");
         temp.Add("char");
         temp.Add("boolean");
         temp.Add("byte");
         temp.Add("unsignedByte");
         temp.Add("short");
         temp.Add("unsignedShort");
         temp.Add("int");
         temp.Add("unsignedInt");
         temp.Add("long");
         temp.Add("unsignedLong");
         temp.Add("float");
         temp.Add("double");
         temp.Add("decimal");
         temp.Add("dateTime");
         temp.Add("string");
         temp.Add("base64Binary");
         temp.Add("anyType");
         temp.Add("duration");
         temp.Add("guid");
         temp.Add("anyURI");
         temp.Add("QName");
         temp.Add("time");
         temp.Add("date");
         temp.Add("hexBinary");
         temp.Add("gYearMonth");
         temp.Add("gYear");
         temp.Add("gMonthDay");
         temp.Add("gDay");
         temp.Add("gMonth");
         temp.Add("integer");
         temp.Add("positiveInteger");
         temp.Add("negativeInteger");
         temp.Add("nonPositiveInteger");
         temp.Add("nonNegativeInteger");
         temp.Add("normalizedString");
         temp.Add("ConnectionLimitReached");
         temp.Add("http://schemas.xmlsoap.org/soap/envelope/");
         temp.Add("actor");
         temp.Add("faultcode");
         temp.Add("faultstring");
         temp.Add("faultactor");
         temp.Add("detail");
     }
     return staticDictionary;
 }
 BinaryVersion(string contentType, string sessionContentType, IXmlDictionary dictionary)
 {
     this.contentType = contentType;
     this.sessionContentType = sessionContentType;
     this.dictionary = dictionary;
 }
 public static XmlDictionaryWriter CreateBinaryWriter(Stream stream, IXmlDictionary dictionary, XmlBinaryWriterSession session, bool ownsStream)
 {
     XmlBinaryWriter writer = new XmlBinaryWriter();
     writer.SetOutput(stream, dictionary, session, ownsStream);
     return writer;
 }