System.Security.Cryptography.CryptographicException: Keyset does not exist

When starting a Communications Agent, the service immediately stops and the following error is in the application event log:

SPIComService (or SPIComService451): An internal application error has occurred. Error Number: 1024 System.Security.Cryptography.CryptographicException: Keyset does not exist.

or

An internal application error has occurred. Error Number: 1024 System.ComponentModel.Win32Exception: Access is denied Error StackTrace: at SPILicenseLib4.CertificateCreator.CreateSelfSignCertificate()

Solution

There are a couple of potential causes for this issue. Please try the following:

  1. Stop any running SureSync jobs and close any open user interface elements such as the Desktop or Status panels.
  2. Launch the Services MMC and stop the Software Pursuits 8 Communications Agent and the Software Pursuits SureSync 8 Scheduler Service.
  3. Launch the Certificates MCC by going to a Run dialog and entering MMC
  4. Go to the File menu and select "Add/Remove Snap-In..."
  5. Select Certificates and click "Add>"
  6. In the "This snap-in will always manage certificates for" dialog, select "Computer Account" and click "Next>"
  7. On the next panel, accept the defaults and click "Finish"
  8. Click "OK on the "Add or Remove Snap-ins" dialog,
  9. Expand Certificates (Local Computer) | Personal and click on the Certificates folder.
  10. Delete any SureSyncSSL certificates
  11. Attempt to restart the Communications Agent service. If the service starts, you should be able to start the Scheduler service and your Jobs..

If the issue continues, check the following directories and ensure that the built-in SYSTEM account has Full Control from each directory.

  1. C:\ProgramData\Microsoft\Crypto
  2. C:\ProgramData\Microsoft\Crypto\RSA
  3. C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
  4. C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18
  5. Attempt to restart the Communications Agent service. If the service starts, you should be able to start the Scheduler service and your Jobs.

Please note if you're running an old version of SureSync on XP/2003, the folder location is C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto.