I have a program written in .NET 4.5.1 that uses RSACryptoServiceProviderto sign content using a smart card. It all works great on Windows 8.1 64-bit, Server 2012 64-bit and Windows 7 32-bit. However, on Windows 7 64-bit, it throws "The requested key container does not exist on the smart card" exception
when initializing RSACryptoServiceProvider. I tried that on two Win7-64 computers running .NET 4.5.2 with same results (I've tested .NET 4.5.2 on Win8-64 and Win7-32, and they still work, so it's not a .NET version issue).
The thing is, there is an other program that uses some other way to communicate with the same CSP (I assume it uses an older Windows API library, could be CAPICOM or CryptoAPI), and it works fine on Win7-64 and Win8-64. So the CSP drivers are fine on these Win7-64 computers because other methods can access and use them. That means that there is something inherently wrong in the combination of Windows 7 64-bit andRSACryptoServiceProvider. Does anyone have an idea about how to fix this issue?
The thing is, there is an other program that uses some other way to communicate with the same CSP (I assume it uses an older Windows API library, could be CAPICOM or CryptoAPI), and it works fine on Win7-64 and Win8-64. So the CSP drivers are fine on these Win7-64 computers because other methods can access and use them. That means that there is something inherently wrong in the combination of Windows 7 64-bit andRSACryptoServiceProvider. Does anyone have an idea about how to fix this issue?