Hallo, kann mir jemand den Aufruf der XML-RPC verraten? Der Beitrag aus dem Wiki mit MD5 scheint veraltet zu sein. Kann man das ganze auch mit einem SHA512 machen?
Wenn ja, wie setzt sich die URL dann zusammen?
Aufruf XML-RPC / sha512
-
-
-
Können Sie bitte mal Ihr Ergebins des SHA Werts posten?
-
-
Mit dem Leerzeichen in dem String?
-
Mit dem Leerzeichen in dem String?
Aktualisier bitte nochmal, ich habs in code-tags gesetzt. Das Forum bricht lange Strings nach 30 Zeichen mit einem Leerzeichen
-
Ok, dennoch....
Es ist mir nämlich ein Rätsel wie man das per PHP generieren kann?Wenn Du das noch preisgeben kannst wie der Part für diesen Teil im PHP ausschauen soll, wäre es Weltklasse.
Denn einen SHA Wert davon zu bilden scheint nicht easy zu sein.
im Bezug auf das "*" .... -
Der * soll nicht als Multiplikator genommen werden sondern muss als Zeichen verwendet werden.
Ansonsten bekommst du dann einen Fehler weil du Strings Multiplizieren willst.
Hier etwa wie der PHP Code aussehen soll (Code getestet, von Google zusammengesetzt)
//edit:
Code$Login="1234"; $Passwort="Test1234"; $PW512=hash('sha512', $Passwort); $Output512=hash('sha512', $Login."*".$PW512); $Token=$Login.":".$Output512; echo $Token;
Das Liefert:
1234:52fad96f9d2cc64bdab90a6aed5257adc39391dfd704d9016673e29d06ef02dd64518f11ecbf17b996121925b53f256cf014b6a91bca4029b7a6410976dacb70MfG
Fabian
-
Ok und das Zeichen soll auch ein Zeichen des SHA512 werden. Richtig?
-
Ok und das Zeichen soll auch ein Zeichen des SHA512 werden. Richtig?
Ja, es ist Teil des Authentifizierungsstrings.
-
Hi,
hier unser Code, im prinzip sehe ich, dass diesen Fabian ähnlich gepostet hatte:
PHP
Alles anzeigen<?php $pw = "starface"; $un = "0001"; $tmp1 = hash("sha512", $pw); $tmp2 = $un."*".$tmp1; $result = hash("sha512", $tmp2); echo $result;
Result:
Code5273503e607e5b24eeb48a3f71c53eb50df6b6622839ecd7149e248893f627d05d8d4af88cf36b3d7d5cd5d1d559dfa1c10404067d8c0f37a138c6546dad7ef7
Jeoch mit Benutzer "123" und Passwort "Test123" erhalten wir auch dieses Result:
Code04f82bb7937793f29bda761f3daeb36c98ad67d74a694cb7b1244815f5aee49e0117dae3e0da203e7ad53a743664b4704460aff4f265e9b9ff6e50a933de5c94
Edit:
@ Fabian : Wie prüfst du das? Prüfst du das auf der Comand Line auf der Starface oder wo? -
Hallo Sebastian
Ich habe eine fertige kleine XML-RPC Applikation auf Java Basis mit der ich mich auf der STARFACE einloggen kann. Ich hole damit eine Modulversion ab.
MfG
Fabian
-
Kannst du mir die mal bereitstellen? Das hilft zum schauen ...
Wäre cool.Edit 1: Es wundert mich aber, denn dann würde die Zeichenanzahl abweichen, wenn wir die 0 loswerden wollen...
Edit 2: Davon mal abgesehen das, dass Passwort nicht "Test123" sein kann, weil es zu kurz ist.Was hast du bei Benutzer: 1234 und Passwort: Test1234 ?
Ich habe das raus: -
Ich kann natürlich beim Benutzer und Passwort etwas eingeben, dass nicht effektiv mit der STARFACE geht.
Das war nur ein Beispiel.
Wenn ich Benutzer 1234 mit dem Passwort Test1234 nehme erhalte ich:
1234:52fad96f9d2cc64bdab90a6aed5257adc39391dfd704d9016673e29d06ef02dd64518f11ecbf17b996121925b53f256cf014b6a91bca4029b7a6410976dacb70
Den PHP Code, welchen ich oben geschrieben habe liefert ebenfalls das genau gleiche Ergebnis. Frage mich nur wie sich die 0 vorher eingeschlichen hat...
Müsste aber auch heissen mein Code oben ist korrekt.//edit: Dein Code liefert auch das Korrekte Ergebnis zurück.
Mein Tool kann ich nicht bereitstellen, da es ein Serverseitiges Modul benötigt, welches ich nicht rausgeben darf.
MfG
Fabian
-
Hi,
die "0" kommt bei mir auch.
Die muss auch dastehen, da ansonsten die Zeichenlänge nicht stimmt.
Ich meinte es nur mit dem reicht nicht, dass man nicht prüfen kann ob die Starface die 0 am Anfang akzeptiert oder nicht. -
Es gibt ein Programm, das heisst Postman (https://www.getpostman.com/). Damit kannst du das Testen
Dort kannst du eine Fertige anfrage schicken.
Einfach New => Request
Typ des Requests von GET auf POST ändern
Daneben den URL zum XML-RPC eingeben, In meinem fall z.b. http://testface.nucom.ch/xml-rpc
Unten bei "Params" einen neuen Key "de.vertico.starface.auth" mit deinem Token als Value erfassen.Denn im Tab "Body" deinen XML-RPC Body platzieren, voila!
Wenn du das Zurückbekommst:
XML
Alles anzeigen<?xml version="1.0"?> <methodResponse> <fault> <value> <struct> <member> <name>faultCode</name> <value> <int>5</int> </value> </member> <member> <name>faultString</name> <value> <string>de.vertico.com.xmlrpc.XmlRpcException : The registered auth token converter did not convert the client transport token http://192.168.250.225:80/?de.vertico.starface.auth=1234:52fad96f9d2cc64bdab90a6aed5257adc39391dfd704d 9016673e29d06ef02dd64518f11ecbf17b996121925b53f256 cf014b6a91bca4029b7a6410976dacb70</string> </value> </member> </struct> </value> </fault> </methodResponse>
Heisst dass, das dein Token nicht gültig war.
Wenn es gültig ist, sollte ein leeres XML-Construct zurückkommen, da das Modul nichts meldet:
-
-
Vergess nicht die Hash-Ergebnisse explizit auf lowercase zu setzen (Großbuchstaben ergeben einen anderen Wert):
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!