3

I am implementing transport level security in an intranet Silverlight 5 application.

Binding used is custom netTcpBinding and on server end I have enabled security with below settings and PrincipalPermission.

<customBinding>
    <binding closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="02:00:00" sendTimeout="00:05:00">
      <binaryMessageEncoding maxSessionSize="1000000">
        <readerQuotas maxDepth="64" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="16384" maxNameTableCharCount="16384" />
      </binaryMessageEncoding>          
      <windowsStreamSecurity protectionLevel="EncryptAndSign"/>

      <tcpTransport portSharingEnabled="false" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"   />
    </binding>
</customBinding>

When my client is a normal c# console app and proxy created using channel fatory everything works fine.

        var tcpBinding = new CustomBinding();

        tcpBinding.Elements.Add(new BinaryMessageEncodingBindingElement());

        var windowsStreamSecurityBindingElement=new WindowsStreamSecurityBindingElement();
        windowsStreamSecurityBindingElement.ProtectionLevel= System.Net.Security.ProtectionLevel.EncryptAndSign;

        tcpBinding.Elements.Add(windowsStreamSecurityBindingElement);


        tcpBinding.Elements.Add(new TcpTransportBindingElement { MaxReceivedMessageSize = int.MaxValue, MaxBufferSize = int.MaxValue });
        tcpBinding.ReceiveTimeout = new TimeSpan(6, 0, 0);
        tcpBinding.SendTimeout = new TimeSpan(0, 30, 0);

        tcpBinding.ReceiveTimeout = TimeSpan.FromDays(1);
        var proxy = new ChannelFactoryServiceWrapper<IHello>(@"net.tcp://XYZ.globaltest.ABC.com:5580/Hello/tcp", tcpBinding).Channel;

        var ping = proxy.Ping();

On client(Silverlight 5) I am using same above piece of code but it’s giving compile time error since WindowsStreamSecurityBindingElement is not available in Silverlight 5.

Please tell me any alternative for this.

Ayaz
  • 2,111
  • 4
  • 13
  • 16

0 Answers0