Willkommen bei Entwickler-Forum.
Ergebnis 1 bis 3 von 3
  1. #1
    Stammgast
    Registriert seit
    20.05.2010
    Beiträge
    109

    Standard RSA-Verschlüsselung der Konfiguration

    Hallo alle zusammen,

    Umgebung: .Net 3.5 - VB-Projekt

    Ich habe Konfigurationseinstellungen in meiner Applikation verschlüsselt. Nach Installation auf den Anwendungsclients habe ich die Schlüsseldatei importiert und Ausführungsrechte erteilt. Das läuft auch prima, wenn der User unter dem ich die Schlüssel importiert habe die Anwendung ausführt.
    Mit folgenden Anweisungen habe ich die Verschlüsselung auf den Anwendungs-Client übernommen

    Erstellen eines RSA-Schlüsselcontainers auf meinem Rechner
    aspnet_regiis –pc "TestKeys" -exp

    Exportieren des Schlüsselcontainers
    aspnet_regiis –px "TestKeys" "C:\test-keys.xml" -pri

    Auf Client importiert, wo Anwendung ausgeführt werden soll:
    aspnet_regiis –pi "TestKeys" "C:\test-keys.xml"
    aspnet_regiis -pa "TestKeys" "NT Authority\NetworkService"

    Fall 2: Anmeldung als Administrator. Die Anwendung wurde mit der Option "für alle Benutzer" installiert.Der Schlüsselcontainer wie oben importiert.

    Nach Anmeldung eines anderen Users an diesem Client und Start der Anwendung kommt dann der Fehler:

    Kritischer Fehler: Exception Fehler bei der Entschlüsselung mithilfe des Anbieters "RsaMeinProvider". Fehlermeldung des Anbieters: Der RSA-Schlüsselcontainer konnte nicht geöffnet werden.. (D:\Programme\MeinVerzeichnis\MeineAnwendung.exe.c onfig line 12)System.Configuration.ConfigurationErrorsExcepti on: Der RSA-Schlüsselcontainer konnte nicht geöffnet werden.
    bei System.Configuration.RsaProtectedConfigurationProv ider.ThrowBetterException(Boolean keyMustExist)
    bei System.Configuration.RsaProtectedConfigurationProv ider.GetCryptoServiceProvider(Boolean exportable, Boolean keyMustExist)
    bei System.Configuration.RsaProtectedConfigurationProv ider.Decrypt(XmlNode encryptedNode)
    bei System.Configuration.ProtectedConfigurationSection .DecryptSection(String encryptedXml, ProtectedConfigurationProvider provider)
    bei System.Configuration.Internal.InternalConfigHost.S ystem.Configuration.Internal.IInternalConfigHost.D ecryptSection(String encryptedXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedConfigSection)
    bei System.Configuration.Internal.DelegatingConfigHost .DecryptSection(String encryptedXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedConfigSection)
    bei System.Configuration.Internal.DelegatingConfigHost .DecryptSection(String encryptedXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedConfigSection)
    bei System.Configuration.BaseConfigurationRecord.CallH ostDecryptSection(String encryptedXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedConfig)
    bei System.Configuration.BaseConfigurationRecord.Decry ptConfigSection(ConfigXmlReader reader, ProtectedConfigurationProvider protectionProvider)

    Sieht so aus, als kennt die Anwendung unter dem "Normalen Useraccount" nun den Schlüsselcontainer nicht.

    Wie kann ich, wenn ich als Admin die Anwendung für alle User des Clients installieren möchte, den Schlüsselcontainer für alle bekannt machen? Die Frage stellt sich auch für eine Terminalserverinstallation.

    Vielen Dank für Hinweise vorab

  2. #2
    Stammgast
    Registriert seit
    20.05.2010
    Beiträge
    109

    Standard

    Hallo alle zusammen,

    ich hoffe, dass durch die Umstellung der Forenstruktur mein Beitrag nicht untergegangen ist. Leider bin ich noch nicht weiter. Ich möchte den Schlüsselcontainer für alle Benutzer, welche sich am Rechner anmelden, bekannt machen.
    Die Installation derApplikation erfolgt mit der Option alle Benutzer durch den Administrator. Dieser spielt dann auch den Schlüsselcontainer ein, welcher auf Computerbene wirken soll.

    mit der Bitte um Unterstützung..

  3. #3
    Stammgast
    Registriert seit
    20.05.2010
    Beiträge
    109

    Standard

    Also ich habe eine Zwischenlösung gefunden, bin aber nicht glücklich.
    Code:
    aspnet_regiis -pa "TestKeys" "Domain\Username"
    als Admin ausgeführt. Dann als der User angemeldet und alles ist gut. Da ich kein Netzi bin - kann man so einen Befehl nicht so absetzen, dass er für alle User in der Domaine wirkt? Die typischen Joker (*;%) habe ich schon probiert.

    Bitte, helft mir doch..

 

 

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •