BasicHttpSecurity(BasicHttpSecurityMode mode, HttpTransportSecurity transportSecurity, BasicHttpMessageSecurity messageSecurity)
 {
     Fx.Assert(BasicHttpSecurityModeHelper.IsDefined(mode), string.Format("Invalid BasicHttpSecurityMode value: {0}.", mode.ToString()));
     this.Mode = mode;
     this.transportSecurity = transportSecurity == null ? new HttpTransportSecurity() : transportSecurity;
     this.messageSecurity = messageSecurity == null ? new BasicHttpMessageSecurity() : messageSecurity;
 }
Exemplo n.º 2
0
        public static void Snippet8()
        {
            // <Snippet8>
            BasicHttpBinding binding = new BasicHttpBinding();

            binding.Name = "binding1";
            binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
            binding.Security.Mode          = BasicHttpSecurityMode.Message;

            // <Snippet9>
            BasicHttpSecurity        security    = binding.Security;
            BasicHttpMessageSecurity msgSecurity = security.Message;
            // </Snippet9>

            // <Snippet10>
            BasicHttpSecurityMode secMode = security.Mode;
            // </Snippet10>

            // <Snippet11>
            HttpTransportSecurity transSec = security.Transport;

            // </Snippet11>

            Console.WriteLine("The message-level security setting is {0}", secMode.ToString());
            Console.WriteLine("The transport-level security setting is {0}", transSec.ToString());
            // </Snippet8>
        }
Exemplo n.º 3
0
        internal static BasicHttpsSecurityMode ToBasicHttpsSecurityMode(BasicHttpSecurityMode mode)
        {
            Fx.Assert(mode == BasicHttpSecurityMode.Transport || mode == BasicHttpSecurityMode.TransportWithMessageCredential, string.Format(CultureInfo.InvariantCulture, "Invalid BasicHttpSecurityMode value: {0}.", mode.ToString()));
            BasicHttpsSecurityMode basicHttpsSecurityMode = (mode == BasicHttpSecurityMode.Transport) ? BasicHttpsSecurityMode.Transport : BasicHttpsSecurityMode.TransportWithMessageCredential;

            return basicHttpsSecurityMode;
        }
        internal static BasicHttpsSecurityMode ToBasicHttpsSecurityMode(BasicHttpSecurityMode mode)
        {
            Debug.Assert(mode == BasicHttpSecurityMode.Transport || mode == BasicHttpSecurityMode.TransportWithMessageCredential, string.Format(CultureInfo.InvariantCulture, "Invalid BasicHttpSecurityMode value: {0}.", mode.ToString()));
            BasicHttpsSecurityMode basicHttpsSecurityMode = (mode == BasicHttpSecurityMode.Transport) ? BasicHttpsSecurityMode.Transport : BasicHttpsSecurityMode.TransportWithMessageCredential;

            return(basicHttpsSecurityMode);
        }
Exemplo n.º 5
0
 private BasicHttpSecurity(BasicHttpSecurityMode mode, HttpTransportSecurity transportSecurity, BasicHttpMessageSecurity messageSecurity)
 {
     Fx.Assert(BasicHttpSecurityModeHelper.IsDefined(mode), string.Format("Invalid BasicHttpSecurityMode value: {0}.", mode.ToString()));
     Mode = mode;
     _transportSecurity = transportSecurity == null ? new HttpTransportSecurity() : transportSecurity;
     _messageSecurity   = messageSecurity == null ? new BasicHttpMessageSecurity() : messageSecurity;
 }
Exemplo n.º 6
0
        internal static bool TryCreate(SecurityBindingElement sbe, UnifiedSecurityMode mode, HttpTransportSecurity transportSecurity, out BasicHttpSecurity security)
        {
            security = null;
            BasicHttpMessageSecurity messageSecurity = null;

            if (sbe != null)
            {
                mode &= UnifiedSecurityMode.Message | UnifiedSecurityMode.TransportWithMessageCredential;
                bool isSecureTransportMode;
                if (!BasicHttpMessageSecurity.TryCreate(sbe, out messageSecurity, out isSecureTransportMode))
                {
                    return(false);
                }
            }
            else
            {
                mode &= ~(UnifiedSecurityMode.Message | UnifiedSecurityMode.TransportWithMessageCredential);
            }
            BasicHttpSecurityMode basicHttpSecurityMode = BasicHttpSecurityModeHelper.ToSecurityMode(mode);

            Fx.Assert(BasicHttpSecurityModeHelper.IsDefined(basicHttpSecurityMode), string.Format("Invalid BasicHttpSecurityMode value: {0}.", basicHttpSecurityMode.ToString()));
            security = new BasicHttpSecurity(basicHttpSecurityMode, transportSecurity, messageSecurity);

            return(System.ServiceModel.Configuration.SecurityElement.AreBindingsMatching(security.CreateMessageSecurity(), sbe));
        }
Exemplo n.º 7
0
        internal static bool TryCreate(SecurityBindingElement sbe, UnifiedSecurityMode mode, HttpTransportSecurity transportSecurity, out BasicHttpSecurity security)
        {
            security = null;
            BasicHttpMessageSecurity messageSecurity = null;

            if (sbe != null)
            {
                mode &= UnifiedSecurityMode.Message | UnifiedSecurityMode.TransportWithMessageCredential;
                bool isSecureTransportMode;
                if (!BasicHttpMessageSecurity.TryCreate(sbe, out messageSecurity, out isSecureTransportMode))
                {
                    return(false);
                }
            }
            else
            {
                mode &= ~(UnifiedSecurityMode.Message | UnifiedSecurityMode.TransportWithMessageCredential);
            }
            BasicHttpSecurityMode basicHttpSecurityMode = BasicHttpSecurityModeHelper.ToSecurityMode(mode);

            Fx.Assert(BasicHttpSecurityModeHelper.IsDefined(basicHttpSecurityMode), string.Format("Invalid BasicHttpSecurityMode value: {0}.", basicHttpSecurityMode.ToString()));
            security = new BasicHttpSecurity(basicHttpSecurityMode, transportSecurity, messageSecurity);

            throw ExceptionHelper.PlatformNotSupported("BasicHttpSecurity MessageSecurity is not supported");
        }
Exemplo n.º 8
0
        private BasicHttpSecurity(BasicHttpSecurityMode mode, HttpTransportSecurity transportSecurity, BasicHttpMessageSecurity messageSecurity)
        {
            Fx.Assert(BasicHttpSecurityModeHelper.IsDefined(mode), string.Format("Invalid BasicHttpSecurityMode value: {0}.", mode.ToString()));
            if (mode == BasicHttpSecurityMode.Message)  // || mode == BasicHttpSecurityMode.TransportWithMessageCredential)
            {
                throw new PlatformNotSupportedException($"{nameof(BasicHttpSecurityMode.Message)}");
            }

            Mode = mode;
            _transportSecurity = transportSecurity ?? new HttpTransportSecurity();
            _messageSecurity   = messageSecurity == null ? new BasicHttpMessageSecurity() : messageSecurity;
        }