Startunterstützung für eine Websocket abfrage

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Luft-Post.

    Startunterstützung für eine Websocket abfrage

    Guten Morgen,
    ich brauche mal ein wenig Startunterstützung von euch, da ich noch in diesen Bereich keine Erfahrung habe.

    Mein Vorhaben:
    Eine Hardware über die beschriebene WebSocket Schnittstelle anfragen/abfragen z.B. GPS Daten, Empfangs stärke,... und die Daten in Richtung Excel schieben (vielleicht über CSV-Datei oder direkte abfrage aus Excel über VBA?).

    Die Beschriebene WebSocket Schnittstelle:
    - Aufruf über wss://ip.addr es werden nur sichere Verbindungen unterstützt
    - Der Client brauch zur Authentifizierung ein Zertifikat (*.key und *.crt Datei vorhanden)
    - Standard-http-Basis Authentifizierung
    - Inhalt ist ein Texttyp (Opcode0x01) und JSON-Codiert

    Mein Problem/Frage:
    - wonach muss ich im Netz bezüglich Authentifizierung durch ein Zertifikat für Informationen suchen? Websocket mit TLS?
    - gibt es eine fertige Libraries die ich benutzen kann? Habe z.B. zaphoyd.com/websocketpp gefunden, aber eine Ansatz für meine Authentifizierung
    - Wie würdet Ihr so eine Abfrage machen?

    Vielen Dank für eure Ideen und Unterstützung

    Gruß Matthias
    Dann würde ich sagen Spiel da mal mit rum.

    Ich gestehe, ich habe damit selbst noch nicht hantiert, doch die ClientWebSocketOptions (Und darin die Möglichkeit Zertifikate zu hinterlegen, als auch Credentials) deuten darauf hin, dasss Dinge wie TLS und Authentifizierung vielleicht sogar schon komplett abgehandelt sind. Ein Blick in die ReferenceSource zeigt auch, dass das ganze über den "HTTP-Stack" von .NET abläuft.

    Theoretisch erfüllt diese Klasse also alle deine Anforderungen.

    Ansonsten schau mal hier rein:
    github.com/sta/websocket-sharp
    mmh
    irgendwie komme ich nicht weiter

    VB.NET-Quellcode

    1. Async Sub Verbindung()
    2. Dim WebSocket As ClientWebSocket
    3. Try
    4. WebSocket = New ClientWebSocket
    5. WebSocket.Options.ClientCertificates.Add(New X509Certificate2("C:\x.crt"))
    6. Await WebSocket.ConnectAsync(New Uri("wss://172.24.5.254"), CancellationToken.None)
    7. Catch ex As Exception
    8. Console.WriteLine(ex.Message)
    9. Finally If WebSocket IsNot Nothing Then
    10. WebSocket.Dispose()
    11. End If
    12. End Try
    13. End Sub

    kommt immer die Meldung das er keine Verbindung herstellen kann
    Guter Tipp :)

    es kommt der Abbruch durch:
    System.Net.WebException: Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden
    einfach nur das Zertifikat laden scheint nicht zu funktionieren :(

    Beim Aufruf durch "ws://172.24.5.254"
    System.Net.WebSockets.WebSocketException (0x80004005): Die Verbindung mit dem Remoteserver kann nicht hergestellt werden. ---> System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden.. ---> System.Security.Authentication.AuthenticationException: Das Remotezertifikat ist laut Validierungsverfahren ungültig.

    Laut Doku soll der Aufruf aber durch wss:// erfolgen...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Luft-Post“ ()