Script für SSHA Verify

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
hoeschler
Beiträge: 93
Registriert: 05.07.2007 11:28:23
Lizenz eigener Beiträge: MIT Lizenz

Script für SSHA Verify

Beitrag von hoeschler » 23.09.2011 14:53:54

Hoi,

Ich hab das Problem, dass ich einen ejabberd mit einem LDAP backend zum Laufen bekommen will. Ejabberd kann das ja prinzipiell schon, nur verwende ich weitgehend den SASL Mech EXTERNAL.
Da die Software das einbinden externer Auth Skripte zulässt habe ich mir halt aus verschiedensten Ecken was zusammengeklaut und in ein perl Skript gepflanzt.

Lange Rede, kurzer Sinn, der Bind funktioniert, ich bekomme über

$res = $ldap->search (
base => "$ldapBase",
filter => "(&($fieldUser=$user))"
auch was zurückgeliefert.

Jetzt die große Frage, die ja eher theoretischer Natur ist:

Aus dem ejabberd Stream erhalte ich einen Usernamen, eine Domäne und ein Passwort. Die Sachen werden über TLS plain übertragen.
Jetzt müsste ich ja eigentlich das erhaltene Passwort irgendwie hashen und salzen, dann mit dem Hash, den der Search Query ausgibt vergleichen und eine Return Value setzen.
Im LDAP sind die Passwörter als SSHA gespeichert, und bei einem ldapsearch werden sie, wie mir scheint, nochmal base64 codiert.

Das Problem: Soweit ich gesehen habe, ermittelt slappasswd einen völlig zufälligen salt, den Ich nicht kenne.

Oder doch?

Hat schon jemand Erfahrung damit gesammelt? Gibt es vielleicht einen völlig sinnlos einfachen Weg, den ich einschlagen sollte, um die Userauth hinzubekommen?

Antworten