2010-11-18 13 views
1

Ich habe eine Anwendung (C# -Programm, die SharpSSH verwendet), und wenn ich versuche, es mit den Anmeldeinformationen eines Benutzers auszuführen, der gerade nicht eingeloggt ist, bekomme ich Ein CryptographicException-Fehler, der besagt, dass "Schlüsselsatz nicht existiert"."Schlüsselsatz existiert nicht" Fehler, wenn Benutzer nicht eingeloggt ist

Wenn ich die Anwendung mit den Anmeldeinformationen eines Benutzers ausführen, der derzeit angemeldet ist, funktioniert alles einwandfrei.

Irgendeine Idee, warum das passieren könnte?

Antwort

1

Alle anderen Dinge sind gleich (wie Sie Rechte zum Zugriff auf die Anmeldeinformationen haben) Ich vermute, die Anmeldeinformationen, die Sie benötigen, sind in der Hive/Profil des Benutzers gespeichert. Ich weiß nicht, welche certificate store SharpSSH verwenden wird (oder sogar welche SharpSSH verwenden Sie [es gibt eine auf Codeplex und es gibt eine auf Sourceforge]).

Angenommen, die Anmeldeinformationen sind an HKEYUser gebunden. Um dies zu beheben, müssen Sie das Profil des Benutzers mit LoadUserProfile laden. Das bedeutet, dass Sie ein Sicherheitstoken für den Benutzer benötigen (dh Sie müssen sich anmelden, aber es muss nicht interaktiv sein). Oder Sie können zu einem Zertifikatsspeicher wechseln, der nicht an den Benutzer gebunden ist.

Verwandte Themen