CngKey.Import() throws an exception saying “An internal error occurred” when importing a key-blob under a non-admin user from a WCF web service

This was a typical error reported by a customer on Windows Server 2008 R2 with IIS 7.5. I created a user named TestCngKey which is a non-admin user as shown in the screen shot below. I tested twice. The first time I logged onto the machine as a domain user. I was not able to…