When a certificate is first installed, it is installed for the current user. The web page that needs access to the certificate is running either under NETWORK_SERVICE (if you're using the VS dev server) or ASPNET (if you're using IIS).
You need to grant access to the appropriate process so it can get to the certificate.
WinHttpCertCfg -g –a NetworkService –c Local_machine\my –s[YourAppId]
WinHttpCertCfg -g –a ASPNET –c Local_machine\my –s[YourAppId]