i tried to put a certificate based encryption on the data source
the program hanged for a while and eventually crashed
now it's starting up with :
CryptographicException - Keyset does not exist
at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
at System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle)
at System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair()
at System.Security.Cryptography.RSACryptoServiceProvider..ctor(Int32 dwKeySize, CspParameters parameters, Boolean useDefaultKeySize)
at System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey()
at Devolutions.RemoteDesktopManager.Business.CertificateSecurityProvider.c2dab749017b269afda1c52e7deeb65bd(String cdbcc17aa9f8bf273407c569d137f3e9b, X509Certificate2 c720e1db3c7c3bfe82e2d23bc6beb8400)
at Devolutions.RemoteDesktopManager.Business.CertificateSecurityProvider.Initialize(IConnectionDataSource dataSource, String configuration)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.ca4799bebd8b706f34eea94a778843b55(BaseConnectionDataSource c7f28727fc7a5daa94ba08f688b2a5781, Boolean cfe205b02d73750f8fd14d199343fe545)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource dataSource)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.RefreshConnections()
at Devolutions.RemoteDesktopManager.Forms.FrmMainRibbonBase.RefreshAllConnectionView(Boolean saveState, Boolean checkOnline)
at Devolutions.RemoteDesktopManager.Forms.FrmMainRibbonBase.RefreshView(Boolean checkOnline)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.PerformClick()
at Devolutions.RemoteDesktopManager.Managers.ThreadManager.caa310ce107ed0c993f3d034df6d00336(Object c19f185fd70cefc696ba148af1c4faf54, EventArgs cf1018bb83ec7debd818319fd3cb4844e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Hello,
This issue looks like RDM is looking for a Private key in the certificat that doesn't exist.
Base on this, the database is still encrypted with the issue certificate.
At the moment you couldn't connect to the database with RDM. Please perform a restore of your latest SQL Backup.
I will try to reproduce the issue on my side and I will let you know what could cause the issue.
Best regards,
David Grandolfo
Hi Lior,
After few research I found that if your Windows account doesn't have access to the Private Key in the certificate manager this could cause the exact issue when trying to implement the Certificat Provider.
Please let us know if the issue is still there.
Best regards,
David Grandolfo
it appears that it's only happening in one specific user
thank you
i'll solve it somehow
Hello Lior,
Good to know if the issue is back please feel free to inform us.
Best regards,
David Grandolfo
now it seems to be happening in 1 more user
any ideas how to solve?
Hi,
Base on the last information gave, probably the user doesn't have access to private key. Could you confirm if the user is able to access the private key link to the Certificate used.
Best regards,
David Grandolfo
where does the private key reside?
Hi,
I found the details base on this web page , you could probably find more information about the private key directly on this forum.
Otherwise, you could ask your administrator how he deploy the certificate and where does the deployment has been perform. You will find more information about the private key base on this.
Best regards,
David Grandolfo
sure
i'll check it out, thank you