LDAP password crypté

patouvick Messages postés 11 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 28 juillet 2008 - 3 juil. 2008 à 09:35
patouvick Messages postés 11 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 28 juillet 2008 - 3 juil. 2008 à 11:10
Bonjour à tous,

J'ai un problème lier à ActiveDirectory, en
effet, dans le cadre d'une authentification, je me connecte sur
l'annuaire du domaine et je vérifie si le mot de passe est bon, mais il
y a un problème, ce password de la base est crypté, je ne peux donc
pas le comparer avec celui qu'a taper l'utilisateur.

Voici le code :

Public Function ConnDomaine(ByVal Login As String, ByVal mdp As String) As Boolean
        Dim auth As Boolean
        Try
            Dim LoginAD As String = "login admin"
            Dim PasswordAD As String = "pwd admin"
            Dim ChaineConn As String = "LDAP://nomdudomaine:389/DC=xxx,DC=xxx,DC=xxx"
            Dim rootEntry As New DirectoryEntry(ChaineConn, LoginAD, PasswordAD)
            Dim searcher As New DirectorySearcher(rootEntry)
            Dim results As SearchResultCollection
            Dim res As SearchResult

            auth = False

            searcher.PropertiesToLoad.Add("pwdLastSet")
            searcher.Filter = "(sAMAccountName=" & Login & ")"
            results = searcher.FindAll()

            If Not (results Is Nothing) Then
                For Each res In results
                    If Not (res.Properties("pwdLastSet") Is Nothing) Then
                        If mdp = CStr(res.Properties("pwdLastSet")(0)) Then
                            auth = True
                        End If
                    End If
                Next
            End If

        Catch Ex As Exception
            MsgBox(Ex.Message)
        End Try

        Return auth
    End Function

Le débogage se déroule sans incident, mais la fonction renvoie toujours "False" vu qu'un pass est crypter et l'autre non.
J'ai testé avec "secret" en mot de passe, il le crypte en "128558456764349808"

Donc ma question est:
Il
y a t'il un moyen de décrypter ce pass, ou de le crypter de la même
façon enfin de pouvoir comparer ? Ou sinon existe t'il une autre façon
d'arriver à faire ceci ?

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
3 juil. 2008 à 10:34
un peu de lecture va t'eclaircir un peu...

http://msdn.microsoft.com/en-us/library/ms679430(VS.85).aspx

en gros, tu compares ton mot de passe a la date de dernier changement de celui-ci... (21/05/2008 12:14:00 )
0
patouvick Messages postés 11 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 28 juillet 2008
3 juil. 2008 à 10:57
Merci de ta réponse, effectivement c'est plutôt embêtant !

Mais alors, quel est le champs correspondant au mot de passe? parce que mon problème reste entier ^^
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
3 juil. 2008 à 11:04
je ne pense pas qu'un tel champs soit divulgué aussi facilement...

je pense que ça n'est pas a toi de vérifier si le mot de passe est bon, mais au service LDAP... tu tentes une authentification en somme.

je n'ai pas plus d'info que ça la dessus.
0
patouvick Messages postés 11 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 28 juillet 2008
3 juil. 2008 à 11:10
Ok merci, ça m'a quand même permis d'avancer un peu :)

je vais essayer de trouver des pistes, mais si quelqu'un peut m'aiguiller, je suis tout ouïe.
0
Rejoignez-nous