Note For more information about the issue that this update resolves, see the "More information" section.
- You have two Windows Communication Foundation (WCF) services that use transport security over HTTPS. Each WCF service is configured to listen to a different port and is secured with a different certificate.
- You use a WCF client to connect to one WCF service through a proxy server.
- You use the same WCF client to connect to the other WCF service though the same proxy server.
After a secured connection is established between a WCF service and a WCF client, a service endpoint for the proxy server is created on the client side. This service endpoint handles future requests from the same client for the lifetime of the connection. Additionally, this service endpoint caches the service certificate for future validation. When the client sends a request to the second WCF service, this connection is reused. Therefore, client certificate validation fails because the service certificate that is presented by the proxy endpoint is incorrect.
Update informationThe following files are available for download from the Microsoft Download Center:
For x86 version of the .NET Framework 4Download the package now.
For x64 version of the .NET Framework 4Download the package now.
For IA-64 version of the .NET Framework 4Download the package now.
For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
PrerequisitesTo apply this hotfix, you must have the .NET Framework 4 installed.
Restart requirementYou have to restart the computer after you apply this update if the affected files are being used during installation.
File informationThe global version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
at System.ServiceModel.Channels.HttpTransportSecurityHelpers.ValidateServerCertificate(X509Certificate certificate, String thumbprint)
at System.ServiceModel.Channels.HttpTransportSecurityHelpers.AddServerCertMapping(HttpWebRequest request, String thumbprint)
at System.ServiceModel.Channels.HttpTransportSecurityHelpers.AddServerCertMapping(HttpWebRequest request, EndpointAddress to)
at System.ServiceModel.Channels.HttpsChannelFactory.HttpsRequestChannel.GetWebRequest(EndpointAddress to, Uri via, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object ins, Object outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at :
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
Article ID: 2732797 - Last Review: 28 Dec 2012 - Revision: 1