Need to use digital certificates for signing soap documents. The X509 certificates exist in the certificate store and when we use a windows VB.Net application we can retrieve the private key and sign the soap document. Once we ported the application to an ASP.Net application we ran into a "Keyset does not exist" error. If we can get the private key in windows and can't get it in an ASP.Net application running in IIS then that means we have permissions that need to be set as to make the private key available to the ASP.Net application. I set the C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA folder properties so as to give ASPNET full control but that did no good.
The application is ASP.Net (2.0) running on a Windows 2003 web server.
This is a rather small project but we do need a "go-to-guy" who can help us with these rather arcane issues.
I have a test application that I can give you. It iterates through the certificate store and displays certificate info such as serial number and whether there is a private key applicable to the certificate. There is a checkbox that allows you to get the private key and when this is checked you get the Keyset does not exist error (lack of permissions).
When you run this program in windows you get the private key (i.e. it works).
When you run this program in Visual Studio development environment(ASP.Net via Cassini) it works.
When you run this program under IIS it fails.
Thats about it!