Frage

Ich bin auf der Suche nach einem einfachen Weg zum verschlüsseln von meinem soap-Kommunikation in meinem C# - Web-Service.

Ich war auf der Suche in WSE 3.0 aber es scheint, Microsoft dropped support für es, und deshalb ist es nicht einfach zu verwenden.
Es scheint, WCF haben könnte eine Möglichkeit gewesen, aber ich bevorzuge nicht, um ein upgrade aus .NET 2.0 .

Alle einfache, unkomplizierte Verschlüsselung Methode?

War es hilfreich?

Lösung

Ich denke, das kann helfen;letztes Jahr haben wir diese verwendet zum komprimieren der webservices und es entwickelte sich sehr gut, ich glaube, es könnte verbessert werden, mit Verschlüsselung Klassen;

Erstellen von Benutzerdefinierten SOAP-Erweiterungen - Compression Extension

Andere Tipps

Alles, was Sie tun, um eine "Verschlüsselung", die nicht mit SSL/TLS ist anfällig sein.Jetzt müssen Sie sich Fragen, lohnt es sich, das brennen dev Stunden verbringen könnte auf Funktionen, die auf einer Gummi-Huhn-Sicherheit Messen?Vielleicht ist es.

.NET-APIs wie DPAPI und der Win32-crypt32 API machen es einfach zu verschlüsseln von Daten-blobs mit statischem Schlüssel.Aber wie werden Ihre Kunden erhalten die Schlüssel?Jede SOAP-client installiert wird, müssen Sie entweder den Schlüssel haben, der verbrannt in seiner Konfiguration, oder erhalten es über das unsichere Internet.

Dies ist das problem, SSL/TLS löst für Sie;der Tanz Sie mit TLS-Zertifikaten ist, was löst das problem der Kommunikation, die öffentlichen Schlüssel über nicht Vertrauenswürdige Kanäle.

Vielleicht bin ich naiv, aber würde zwingen, die Kommunikation über https akzeptabel sein?Ich entwickle web Dienste auf 2.0 und habe Erfolg mit gerade IIS erzwingen von https auf dem virtuellen Verzeichnis.

Das wäre der einfachste Weg zu gehen wahrscheinlich, aber leider weiß ich nicht Sie haben Kontrolle über den IIS die Konfiguration und können nicht garantieren kann https.

In diesem Fall, vielleicht die beste Wette ist, entweder von Fall zu Fall verschlüsseln Teile der SOAP-Nachrichten (nach alle, Sie können nicht die gesamte Nachricht verschlüsselt werden - nur bestimmte sensible Felder?), oder Sie könnten entscheiden, verwenden Sie ein HttpModule zu fangen alle die Nachrichten und den Betrieb auf den Inhalt.In jedem Fall sind Sie wahrscheinlich gehen zu müssen, bieten individuelle proxies.

Vielleicht bin ich naiv, aber würde das erzwingen der Kommunikation über https akzeptabel sein?Ich entwickle web-Dienste, die laufen auf 2.0 und mit Erfolg hatten gerade erst IIS zum erzwingen von https auf das virtuelle Verzeichnis.

Alternativ, oder zusätzlich, können Sie überprüfen Sie die HttpRequest.IsSecureConnection Eigenschaft.

Wir verwenden eigentlich WSE 3.0 in unsere web-services, die ursprünglich entwickelt wurden pre-WCF.Für Sicherheit, wir verwenden ein SAML-token basierende system baute auf der Cryptography-Klassen im System.Sicherheit.

Es funktioniert sehr gut.Diese Methode ist jedoch keineswegs "einfach".

Sie können Parameter verwenden, die Verschlüsselung in C# mithilfe der System.Sicherheit.Cryptography extension.

Verschlüsseln Sie Ihre Parameter und entschlüsseln Sie wäre schwieriger, aber viel sicherer.

Vorgehensweise:Verschlüsseln und Entschlüsseln von Daten Mit einen Symmetrischen (Rijndael) - Taste (C#/VB.NET)

Ich bin mit dieser Vorgehensweise für eine OTP (one time password) web-service, und es funktioniert gut für mich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top