Problems accessing the certificate store with .NET Remoting, Web services, or System.Net.HttpWebRequest
We've had a number of questions come up around issues that arise when building .NET client or middle-tier applications that use client certificates. Most of them stem from the fact that in version 1.0 of the .NET Framework System.Net (and by extension .NET Remoting and XML Web services) were only able to access the current user's certificate store.
This approach generally works fine for client applications, however, Windows services or code calling a back-end machine from within ASP.NET generally doesn't have a user profile so the current user's certificate store ends up being empty. There is a workaround for this issue described on MSDN however using a serviced component is not always an option. Because of this, we've issued an update that will be included in v1.0 SP3 and v1.1 SP1 which checks the user store and the machine store for a given certificate. This update is described in the following KB article on ms.com.
In Whidbey, there are managed API's for accessing the store directly which makes dealing with certificates in general much easier.