如果用户未登录,则“keyset不存在”错误

时间:2010-11-18 16:42:48

标签: c# .net ssh

我有一个应用程序(使用SharpSSH的C#程序),如果我尝试使用当前未登录的用户的凭据运行它,我会收到一条CryptographicException错误,说“keyset不存在”。

如果我使用当前登录用户的凭据运行应用程序,一切正常。

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

所有其他条件相同(例如您有权访问凭据)我猜您需要的凭据存储在用户的配置单元/配置文件中。我不知道SharpSSH会使用哪个certificate store(或者你使用的是哪个SharpSSH [在codeplex上有一个,在sourceforge上有一个]。)

假设凭据与HKEYUser绑定,要修复,您需要使用LoadUserProfile加载用户的个人资料。这意味着您必须为用户提供安全令牌(即,您必须将其登录,但不必以交互方式登录)。或者您可以更改为与用户无关的证书存储区。