MessageSecurityTokenVersion.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / MessageSecurityTokenVersion.cs / 1 / MessageSecurityTokenVersion.cs

                            //------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------

namespace System.ServiceModel.Security 
{
    using System.Collections.ObjectModel; 
    using System.ServiceModel.Channels; 
    using System.ServiceModel;
    using System.Runtime.Serialization; 
    using System.IdentityModel.Tokens;
    using System.IdentityModel.Selectors;

 
    sealed class MessageSecurityTokenVersion : SecurityTokenVersion
    { 
        SecurityVersion securityVersion; 
        TrustVersion trustVersion;
        SecureConversationVersion secureConversationVersion; 
        bool emitBspRequiredAttributes;
        string toString;
        ReadOnlyCollection supportedSpecs;
 
        const string bsp10ns = @"http://ws-i.org/profiles/basic-security/core/1.0";
        static MessageSecurityTokenVersion wss11 = new MessageSecurityTokenVersion( 
            SecurityVersion.WSSecurity11, 
            TrustVersion.WSTrustFeb2005,
            SecureConversationVersion.WSSecureConversationFeb2005, 
            "WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005",
            false,
            XD.SecurityXXX2005Dictionary.Namespace.Value,
            XD.TrustFeb2005Dictionary.Namespace.Value, 
            XD.SecureConversationFeb2005Dictionary.Namespace.Value);
        static MessageSecurityTokenVersion wss10bsp10 = new MessageSecurityTokenVersion( 
            SecurityVersion.WSSecurity10, 
            TrustVersion.WSTrustFeb2005,
            SecureConversationVersion.WSSecureConversationFeb2005, 
            "WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10",
            true,
            XD.SecurityJan2004Dictionary.Namespace.Value,
            XD.TrustFeb2005Dictionary.Namespace.Value, 
            XD.SecureConversationFeb2005Dictionary.Namespace.Value,
            bsp10ns); 
        static MessageSecurityTokenVersion wss11bsp10 = new MessageSecurityTokenVersion( 
            SecurityVersion.WSSecurity11,
            TrustVersion.WSTrustFeb2005, 
            SecureConversationVersion.WSSecureConversationFeb2005,
            "WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10",
            true,
            XD.SecurityXXX2005Dictionary.Namespace.Value, 
            XD.TrustFeb2005Dictionary.Namespace.Value,
            XD.SecureConversationFeb2005Dictionary.Namespace.Value, 
            bsp10ns); 
        static MessageSecurityTokenVersion wss10oasisdec2005bsp10 = new MessageSecurityTokenVersion(
            SecurityVersion.WSSecurity10, 
            TrustVersion.WSTrust13,
            SecureConversationVersion.WSSecureConversation13,
            "WSSecurity11WSTrust13WSSecureConversation13BasicSecurityProfile10",
            true, 
            XD.SecurityXXX2005Dictionary.Namespace.Value,
            DXD.TrustDec2005Dictionary.Namespace.Value, 
            DXD.SecureConversationDec2005Dictionary.Namespace.Value 
            );
        static MessageSecurityTokenVersion wss11oasisdec2005 = new MessageSecurityTokenVersion( 
            SecurityVersion.WSSecurity11,
            TrustVersion.WSTrust13,
            SecureConversationVersion.WSSecureConversation13,
            "WSSecurity11WSTrust13WSSecureConversation13", 
            false,
            XD.SecurityJan2004Dictionary.Namespace.Value, 
            DXD.TrustDec2005Dictionary.Namespace.Value, 
            DXD.SecureConversationDec2005Dictionary.Namespace.Value
            ); 
        static MessageSecurityTokenVersion wss11oasisdec2005bsp10 = new MessageSecurityTokenVersion(
            SecurityVersion.WSSecurity11,
            TrustVersion.WSTrust13,
            SecureConversationVersion.WSSecureConversation13, 
            "WSSecurity11WSTrust13WSSecureConversation13BasicSecurityProfile10",
            true, 
            XD.SecurityXXX2005Dictionary.Namespace.Value, 
            DXD.TrustDec2005Dictionary.Namespace.Value,
            DXD.SecureConversationDec2005Dictionary.Namespace.Value 
            );

        public static MessageSecurityTokenVersion WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005
        { 
            get
            { 
                return wss11; 
            }
        } 

        public static MessageSecurityTokenVersion WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10
        {
            get 
            {
                return wss11bsp10; 
            } 
        }
 
        public static MessageSecurityTokenVersion WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10
        {
            get
            { 
                return wss10bsp10;
            } 
        } 

        public static MessageSecurityTokenVersion WSSecurity10WSTrust13WSSecureConversation13BasicSecurityProfile10 
        {
            get
            {
                return wss10oasisdec2005bsp10; 
            }
        } 
 
        public static MessageSecurityTokenVersion WSSecurity11WSTrust13WSSecureConversation13
        { 
            get
            {
                return wss11oasisdec2005;
            } 
        }
 
        public static MessageSecurityTokenVersion WSSecurity11WSTrust13WSSecureConversation13BasicSecurityProfile10 
        {
            get 
            {
                return wss11oasisdec2005bsp10;
            }
        } 

        public static MessageSecurityTokenVersion GetSecurityTokenVersion(SecurityVersion version, bool emitBspAttributes) 
        { 
            if (version == SecurityVersion.WSSecurity10)
            { 
                if (emitBspAttributes)
                    return MessageSecurityTokenVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10;
                else
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); 
            }
            else if (version == SecurityVersion.WSSecurity11) 
            { 
                if (emitBspAttributes)
                    return MessageSecurityTokenVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10; 
                else
                    return MessageSecurityTokenVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005;
            }
            else 
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); 
            } 
        }
 
        MessageSecurityTokenVersion(SecurityVersion securityVersion, TrustVersion trustVersion, SecureConversationVersion secureConversationVersion, string toString, bool emitBspRequiredAttributes, params string[] supportedSpecs)
            : base()
        {
            this.emitBspRequiredAttributes = emitBspRequiredAttributes; 
            this.supportedSpecs = new ReadOnlyCollection(supportedSpecs);
            this.toString = toString; 
            this.securityVersion = securityVersion; 
            this.trustVersion = trustVersion;
            this.secureConversationVersion = secureConversationVersion; 
        }

        public bool EmitBspRequiredAttributes
        { 
            get
            { 
                return this.emitBspRequiredAttributes; 
            }
        } 

        public SecurityVersion SecurityVersion
        {
            get 
            {
                return this.securityVersion; 
            } 
        }
 
        public TrustVersion TrustVersion
        {
            get
            { 
                return this.trustVersion;
            } 
        } 

        public SecureConversationVersion SecureConversationVersion 
        {
            get
            {
                return this.secureConversationVersion; 
            }
        } 
 
        public override ReadOnlyCollection GetSecuritySpecifications()
        { 
            return supportedSpecs;
        }

        public override string ToString() 
        {
            return this.toString; 
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK