I got bit my this again today, so thought I’d re-post:
I was trying to create a strong name for an assembly in Visual Studio from the project properties using the dialog:
After clicking OK I received the following error message: The operation could not be completed. Access is denied.
I then tried from the command prompt using sn.exe and received the same type of message: Failed to generate a strong name key pair -- Access is denied.
I found the following blog post Create Strong Name Key - Access Denied Error, but it applies to Windows XP. I searched around for a RSA\MachineKeys folder and found three different locations but it seems the folder C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys is the magic place.
I gave my user the following permissions on the MachineKeys folder and then I was able to sign my assembly