コード例 #1
0
 internal static bool IsDefined(BasicHttpMessageCredentialType value)
 {
     if (value != BasicHttpMessageCredentialType.UserName)
     {
         return(value == BasicHttpMessageCredentialType.Certificate);
     }
     return(true);
 }
 internal static bool IsDefined(BasicHttpMessageCredentialType value)
 {
     if (value != BasicHttpMessageCredentialType.UserName)
     {
         return (value == BasicHttpMessageCredentialType.Certificate);
     }
     return true;
 }
コード例 #3
0
        public void BasicHttpBinding_WithCustomSetting()
        {
            string   expectedName = "basicHttpBindingConfig";
            long     expectedMaxReceivedMessageSize = 1073741824;
            long     expectedMaxBufferSize          = 1073741824;
            int      expectedMaxDepth       = 2147483647;
            TimeSpan expectedReceiveTimeout = TimeSpan.FromMinutes(10);
            TimeSpan expectedDefaultTimeout = TimeSpan.FromMinutes(1);
            BasicHttpSecurityMode          expectedSecurityMode = BasicHttpSecurityMode.TransportWithMessageCredential;
            BasicHttpMessageCredentialType clientCredType       = BasicHttpMessageCredentialType.Certificate;

            string xml = $@"
<configuration> 
    <system.serviceModel>         
        <bindings>         
            <basicHttpBinding>
                <binding name=""{expectedName}""
                         maxReceivedMessageSize=""{expectedMaxReceivedMessageSize}""
                         maxBufferSize=""{expectedMaxBufferSize}""
                         receiveTimeout=""00:10:00"">
                    <security mode=""{expectedSecurityMode}"">
                     <message clientCredentialType=""{clientCredType}"" />
                     </security>
                    <readerQuotas maxDepth=""{expectedMaxDepth}"" />   
                </binding >
            </basicHttpBinding>                             
        </bindings>                             
    </system.serviceModel>
</configuration>";

            using (var fs = TemporaryFileStream.Create(xml))
            {
                using (ServiceProvider provider = CreateProvider(fs.Name))
                {
                    IConfigurationHolder settingHolder = GetConfigurationHolder(provider);

                    var actualBinding = settingHolder.ResolveBinding(nameof(BasicHttpBinding), expectedName) as BasicHttpBinding;
                    Assert.Equal(expectedName, actualBinding.Name);
                    Assert.Equal(expectedMaxReceivedMessageSize, actualBinding.MaxReceivedMessageSize);
                    Assert.Equal(expectedMaxBufferSize, actualBinding.MaxBufferSize);
                    Assert.Equal(expectedDefaultTimeout, actualBinding.CloseTimeout);
                    Assert.Equal(expectedDefaultTimeout, actualBinding.OpenTimeout);
                    Assert.Equal(expectedDefaultTimeout, actualBinding.SendTimeout);
                    Assert.Equal(expectedReceiveTimeout, actualBinding.ReceiveTimeout);
                    Assert.Equal(TransferMode.Buffered, actualBinding.TransferMode);
                    Assert.Equal(expectedSecurityMode, actualBinding.Security.Mode);
                    Assert.Equal(clientCredType, actualBinding.Security.Message.ClientCredentialType);
                    Assert.Equal(expectedMaxDepth, actualBinding.ReaderQuotas.MaxDepth);
                }
            }
        }
コード例 #4
0
 static CredentialTypeEx ConvertCredentials(BasicHttpMessageCredentialType credentials)
 {
    switch(credentials)
    {
       case BasicHttpMessageCredentialType.Certificate:
       {
          return CredentialTypeEx.Certificate;
       }
       case BasicHttpMessageCredentialType.UserName:
       {
          return CredentialTypeEx.Username;
       }
       default:
       {
          throw new InvalidOperationException("Unknown credentials type");
       }
    }
 }
コード例 #5
0
        static CredentialTypeEx ConvertCredentials(BasicHttpMessageCredentialType credentials)
        {
            switch (credentials)
            {
            case BasicHttpMessageCredentialType.Certificate:
            {
                return(CredentialTypeEx.Certificate);
            }

            case BasicHttpMessageCredentialType.UserName:
            {
                return(CredentialTypeEx.Username);
            }

            default:
            {
                throw new InvalidOperationException("Unknown credentials type");
            }
            }
        }
コード例 #6
0
        public static void Snippet5()
        {
            // <Snippet5>
            BasicHttpBinding binding = new BasicHttpBinding("myBinding");

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

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

            // <Snippet7>
            SecurityAlgorithmSuite         sas      = msgSecurity.AlgorithmSuite;
            BasicHttpMessageCredentialType credType = msgSecurity.ClientCredentialType;

            // </Snippet7>

            Console.WriteLine("The algorithm suite used is {0}", sas.ToString());
            Console.WriteLine("The client credential type used is {0}", credType.ToString());
            // </Snippet5>
        }
コード例 #7
0
 public BasicHttpMessageSecurity()
 {
     _clientCredentialType = DefaultClientCredentialType;
     _algorithmSuite       = SecurityAlgorithmSuite.Default;
 }
コード例 #8
0
 public BasicHttpMessageSecurity()
 {
     _clientCredentialType = DefaultClientCredentialType;
 }
コード例 #9
0
 public BasicHttpMessageSecurity()
 {
     clientCredentialType = DefaultClientCredentialType;
     algorithmSuite = SecurityAlgorithmSuite.Default;
 }
コード例 #10
0
 public StartupBasicHttpBase(CoreWCF.Channels.BasicHttpSecurityMode securityMode, BasicHttpMessageCredentialType credentialType)
 {
     _basicHttpSecurityMode = securityMode;
     _credentialType        = credentialType;
 }
コード例 #11
0
 internal BasicHttpRelayMessageSecurity()
 {
     this.clientCredentialType = BasicHttpMessageCredentialType.UserName;
     this.algorithmSuite       = SecurityAlgorithmSuite.Default;
 }
コード例 #12
0
 public BasicHttpMessageSecurity()
 {
     _clientCredentialType = DefaultClientCredentialType;
 }