Hallo zusammen, mit einer WinForms-Anwendung (C#, .NET 4) greife ich auf eine MySQL-Datenbank zu. Der Connectionstring dafür steht in der "app.config". Damit wenigstens ein bisschen Aufwand betrieben werden muss, um an diese Daten zu kommen, möchte ich die Verbindungsdaten verschlüsseln. Dazu habe ich diesen Artikel bei MSDN gefunden, jedoch ist mir die Verwendung nicht ganz klar:
Muss ich die Funktion "ProtectSection" vor der Verteilung der Software einmal ausführen und mir eine verschlüsselte .config-Datei erzeugen lassen? Die Aussage "The connection string can only be decrypted on the computer on which it was encrypted." macht mich etwas stutzig: Wenn ich eine verschlüsselte .config-Datei mit der Software verteile, kann diese dann bei anderen Usern nicht mehr die eigentlichen Verbindungsdaten auslesen? Wozu dann das ganze?
Der Artikel bezieht sich auf ASP.NET. Soweit ich es verstanden habe, war ein wesentlicher Teil der Frage, wie die Aufgabe bei einer WinForms-Anwendung gelöst werden kann, die auf mehrere PCs verteilt werden soll. Wie passt das zusammen?
Dieser Artikel stellt das Verfahren für Konfigurationen dar (die bei allen .NET-Anwendungen gleicher Art sind) und ich habe es selbst bereits erfolgreich in einer Windows.Forms-Anwendung implementiert. So passt's :-)
Hi, danke für den Link. Weißt du, ob damit gewährleistet wird, dass die Anwendung, wenn sie auf einem anderen PC als meinen ausgeführt wird, den Connectionstring noch richtig auslesen und eine Verbindung zur Datenbank aufbauen kann?
Bei meinem Projekt hatte es keine Probleme gegeben. Da Du die Konfiguraiton ja mit der Anwendung zusammen auslieferst, sehe ich da auch erst mal keinen Grund, warum es nicht funktionieren sollte.