Article ID: 970549 - View products that this article applies to.
An embedded device is using the Microsoft .NET Compact Framework 2.0 or the .NET Compact Framework 3.5. When you run an application to send HTTPS Web requests to a server in the device, a System.Net.WebException occurs. Additionally, you receive an error message that resembles the following:
Unable to read data from the transport connection. System.Net.Sockets.SocketException: Unknown error (0x0).
This problem occurs because the server sends an empty encryption packet to the device during the secure communication. The .NET Compact Framework runtime treats such empty packets as a signal to end the connection.
A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that this article describes. Apply it only to systems that are experiencing this specific problem.
To resolve this problem, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:
PrerequisitesThere are no prerequisites to install this hotfix.
Restart requirementYou do not have to restart the computer after you apply this hotfix.
Hotfix replacement informationThis hotfix does not replace any other hotfixes.
File informationThe English 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.
Collapse this tableExpand this table
To work around this problem, use one of the following methods:
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
The System.Net.WebException occurs for many reasons. The hotfix that this article describes only resolves the situation that is caused by the empty encryption packets. Empty encryption packets may be generated depending on the configuration on the server. To determine whether the server generates empty encryption packets, you can run the empty SSL packet detector against the Web server.
For more information about the empty SSL packet detector, visit the following Microsoft Developer Network (MSDN) Web site: