Announcement

Collapse
No announcement yet.

RSA-Verschlüsselung der Konfiguration

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    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..

    Comment


    • #3
      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..

      Comment

      Working...
      X