Hallo, ich habe eine WinForms Anwendung mit DataGridViews (die per Designer konfiguriert wurden). Der ConnectionString ist in der app.config abgelegt. Der ConnectionString muss nun auch noch die UserID und das Passwort enthalten. Wie kann ich diese Information verschlüsselt ablegen, so dass sie nicht für jedermann einsehbar ist?
Hallo CodeSniffer, vielen Dank für den Hinweis! Leider gibt es im Framework 4.0 die entsprechenden Klassen nicht mehr. Hast du auch noch eine Idee für Framework 4.0?
Sorry, hab noch eine Frage dazu: Mit dieser Lösung ist es möglich, dass Anwendung A die Konfiguration von Anwendung B entschlüsselt. Gibt es nicht noch eine einfache Lösung, um eine Art eigenen Key mitzugeben? Oder müsste ich dann einen eigenen ProtectedConfigurationProvider schreiben?
Da hast Du schon Recht. Leider bin ich kein Security-Experte. Laut MSDN [url=http://msdn.microsoft.com/en-us/library/89211k9b(v=vs.80).aspx)]Securing Connection Strings[/url] wird das nur computerspezifisch verschlüsselt. Es gibt auch noch den RsaProtectedConfigurationProvider. Wenn man so ein bischen im Internet stöbert ist auch das Deployment betroffen. Viele verschlüsseln bei der Installation. Das hier ist auch noch ein interessanter Link: [url=http://www.codeproject.com/KB/security/ProtectedConfigWinApps.aspx?display=Print]ConfigWinApps[/url]
Ohhhhh Nooo. Hier kommt für mich der Killersatz: "The connection string can only be decrypted on the computer on which it was encrypted". Ich brauch's natürlich so, dass die Anwendung auf verschiedenen Rechnern laufen kann.
Deswegen müsste man den ConnectionString auch zum Deployment-Zeitpunkt verschlüsseln. Hier wird soetwas gemacht: http://www.codeproject.com/KB/security/ProtectedConfigWinApps.aspx?display=Print
vielen Dank für den Hinweis! Leider gibt es im Framework 4.0 die entsprechenden Klassen nicht mehr. Hast du auch noch eine Idee für Framework 4.0?