SOAP Authentifizierung und Verschlüsselung

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von tScheckSn.

    SOAP Authentifizierung und Verschlüsselung

    Hallo,

    Ich suche eine art (Multi) Client Sever Verbindung mit folgenden voraussetzungen:
    1) Die Daten sollen verschlüsselt übertragen werden
    2) Es soll eine Authentifizierung passieren, allerdings keine Windows Authentifizierung sondern Username und Passwor, dass selbst definiert werden kann.
    3) Es soll der Zugriff von mehreren Clients gleichzeitig möglich sein, wobei sich alle Clients mit demselben User anmelden.
    4) Auf dem Service sollen 2 Funktionen aufgerufen werden können, die dann einen entsprechenden Rückgabewert liefern

    Ich hatte dabei an Soap über HTTPS gedacht, frage mich aber schön langsam, ob es da nicht etwas einfacheres gibt.
    Habt ihr evtl. Tipps für mich was außer SOAP noch in frage kommt? Rest sieht mir auf den ersten blick sehr umständlich aus.
    Das ganze soll ein Normaler Windwos Service werden. Also keine Web Services.

    Mein Aktueller Code, den ich seit 4 Stunden immer wieder ändere um diverse Tests zu machen:

    VB.NET-Quellcode

    1. Dim UrlToRun As String = "http://localhost:" & GlobalSettings.s.Port & ""
    2. Dim host As New ServiceHost(GetType(SignServer_SoapFunctions), New Uri(UrlToRun))
    3. host.AddServiceEndpoint(GetType(ISignServer_SoapFunctions), New BasicHttpBinding(), "Soap")
    4. Dim endpoint As ServiceEndpoint
    5. endpoint = host.AddServiceEndpoint(GetType(ISignServer_SoapFunctions), New WebHttpBinding(), "Web")
    6. endpoint.Behaviors.Add(New WebHttpBehavior())
    7. Try
    8. host.Open()
    9. log.entry("Host running at " & UrlToRun)
    10. Catch ex As Exception
    11. log.entry(ex)
    12. host.Abort()
    13. End Try



    Habt ihr tipps für mich?

    Danke
    lg
    Philipp
    Wäre ich auf Arbeit hätte ich nen Link für dich wie man ein SSL Zertifikat in WCF ohne IIS einbindet, sodass du TLS nutzen kannst. Leider wirst du selbst dich danach abmühen müssen, oder bis morgen warten. Vorteil ist halt, du nutzt TLS und musst, außer eben dem Zertifikat und dem entsprechenden Behaviour nichts ändern. Nachteil, du brauchst ein Zertifikat. Natürlich könntest du auch selbst ne Verschlüsselung zusammenfrickeln, aber das wird dauern und ist Fehleranfällig.

    Anstatt SOAP könntest du aus deinem WCF-Service eine REST Schnittstelle machen:
    de.wikipedia.org/wiki/Representational_State_Transfer
    codeproject.com/Articles/57181…reating-WCF-REST-Services

    Das läuft dann über XML oder wahlweise Json.

    Edit:
    Hier noch der Link für HTTPS/TCPS(SSL over TCP) mit WCF:
    msdn.microsoft.com/en-us/library/ms789011(v=vs.110).aspx

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „EaranMaleasi“ ()

    Ne, REST ist nur eine Definition für eine Standardisierte API auf die man per HTTP-requests zugreifen kann. WCF bietet es an, sich RESTful zu verhalten, also diese HTTP-Requests auf von dir festgelegte Funktionen umzuleiten.
    Wenn du deinen Endpunkt und die Behaviours entsprechend eingestellt hast, ist der gesamte Verkehr per TLS gesichert. Du musst dich dann nicht um irgendwelche Verschlüsselung oder sonstiges kümmern, sei es nun "standard" WCF oder RESTful WCF. Kannst ja wenn du möchtest mal mit Wireshark das ganze Überprüfen ;)