.NET Remoting Libraries and TLS 1.2 RRS feed

  • Question

  • Because of PCI requirements, we are required to use TLS 1.2 (disabling 1.0 and 1.1 in the process). Most of the changes to our applications and websites was fairly straightforward with one exception.

    We have a legacy application that uses a very old version of the CSLA Framework, and that technology uses the .NET Remoting framework. The application worked until TLS 1.0 and 1.1 were disabled. I have updated all of the projects in the application from .NET 2.0 to .NET 4.6.2. The references to the System.Runtime.Remoting library are now v4.0.0.0.

    However the application fails when the first remoting call is made with the following error:

    Exception Type: System.Runtime.Serialization.SerializationException
    Message: End of Stream encountered before parsing was completed.
    Data: System.Collections.ListDictionaryInternal
    TargetSite: Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)

    Additionally, the stack trace has the following information:

       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at CSLA.Server.DataPortal.Fetch(Object Criteria, Object Principal)

       at CSLA.DataPortal.Fetch(Object Criteria)

    What I'm wondering at this point is whether or not the .NET Remoting library supports TLS 1.2 by default, and if not, is there something that I can do to get it to recognize TLS 1.2. I've tried placing the SecurityProtocol TLS 1.2 settings before making any remote calls, but that didn't have any effect.

    Thanks in advance!


    Wednesday, January 31, 2018 9:43 PM


All replies