VB.net Remote Service mit JSON Antwort auswerten

Hallo,

ich bin recht frisch in der VB / .Net-Programmierung und stehe vor folgendem Problem:

Ich muss mit einer Desktop-App einen entfernten Server abfragen und das Ergebnis auswerten. Das Problem ist an dieser Stelle, der Server hält sich nicht an die .NET-Standartlösung mit WDSL und Co. (Oder ich sehe es einfach nicht)

Auf das WebRequest-Objekt bin ich schon gestossen, aber ich frage mich, ob ich wirklich sowohl den Request als auch die Anwtort manuell zusammenbasteln und auseinander klamüsern muss.

Die Antwort des Servers ist simples JSON über http, also was mit Php/JavaScript usw alles kein Ding ist zu dekodieren.

Der Request ist ein einfacher http-request (get), wobei die Url bereits die gewünschte Funktion benennt, die Get-Parameter für die Authentifizierung sorgen. Die Url zusammen zu stricken ist simpel und bereitet mir keine Probleme. Die Auth-Geschichte ist da kniffliger:

Ich brauche drei Variablen:

AccessID
Expires
Signature

AccessId ist mein UserAcc, Expires ist ein Unix-Zeitstempel (also die Anzahl der Sekunden seit dem 1.1.1970 in LongInt) und Signature wird aus dem String:

AccessID Expires

gebildet, der dann HMAC-SHA1 - gehast wird und das Ergebnis base64 kodiert wird, was dann noch URL-Encoded werden muss.

Ich scheitere bereits an dem Unix-Timestamp, denn das von Hand auszurechnen kann es wohl nicht sein. Da habe ich die richtige Stelle noch nicht gefunden. Die Hasfunktion, Base64 und Url-Encoder ist mir auch noch nicht begegenet - daher wäre ich auf Hinweise dankbar.

Mir ist zwar schon ein HMAC-SHA1-Hashobjekt in der .net-Lib begegnet, aber ich glaube, das ist nur für Streams, oder?

Wenn es dann noch ein Modul/eine Funktion gäbe, mit dem man JSON parsen kann, wäre ich 1000% glücklich :wink:

Wer weiss was?