Friday, July 8, 2016

"Keyset does not exist" error message when you try to change the identity of an application pool by using Internet Information Services


When I try to change the identity of any application pool, received the following error message:

---------------------------
Application Pools
---------------------------
There was an error while performing this operation.

Details:

Keyset does not exist (Exception from HRESULT: 0x80090016)


Reason : 
         There is not enough permissions to open file

  • %ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys\ 6de9cb26d2b98c01ec4e9e8b34824aa2_*
  • %ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys\ 76944fb33636aeddb9590521c2e8815a_*


Resolution

  1.     Go to '%ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys'
  2.     Find files with name starts as 6de9cb26d2b98c01ec4e9e8b34824aa2_ and                            76944fb33636aeddb9590521c2e8815a_.
  3.    Check permission for this file. Default permissions are:
    •        System, Administrators,TrustedInstaller - Full permissions
    •       IIS_IUSR,WMSVC - Read permissions
    •       LOCAL SERVICE - Read permission

If the issue still persists:

Take backup of MachineKeys (%ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys)
Give full permissions to your account to access the MachineKeys folder.

  Please check that files have name 6de9cb26d2b98c01ec4e9e8b34824aa2_GUID and 76944fb33636aeddb9590521c2e8815a_GUID .

If not, just copy existing files started with name 6de9cb26d2b98c01ec4e9e8b34824aa2_ and 76944fb33636aeddb9590521c2e8815a_ and then set GUID part in the file name equals to GUID obtained from MachineGuid registry key from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryprography\