[Modularit-users] Problemilla con el Samba de ModularIT

Enrique Zanardi ezanardi at atlantux.com
Sat Dec 19 10:50:58 WET 2009


On Fri, Dec 18, 2009 at 12:29:52PM +0000, Ancor Gonzalez Sosa wrote:
> El Friday 18 December 2009 12:01:40 Miguel Armas escribió:
> > El día 18 de diciembre de 2009 11:49, Ancor Gonzalez Sosa
> >
> > <ancorgs at banot.net> escribió:
> > > Pues eso es lo que queríamos conseguir nosotros, pero sin éxito. ¿Pudiste
> > > hacerlo usando el campo userPassword con el formato normal de Unix?
> > > Nosotros no lo conseguimos. La única opción que vemos es usar otro
> > > atributo del LDAP (o cambiar ambas contraseñas en el momento que se
> > > cambie en el windows), porque no sabemos como pasar de algo al estilo
> > > "{SHA}blabla=" (que es la pinta que tiene el atributo userPassword en el
> > > LDAP)  al tipo de SHA o MD5 que entiende Google.
> >
> > No estoy muy seguro, pero creo recordar que el atributo userPassword
> > de OpenLDAP estaba en base64. Es decir, hacen el hash y luego lo pasan
> > a base64. Esto lo mire hace tiempo con knut cuando Foton estaba
> > haciendo una migracion. Igual el se acuerda mejor que yo...
> 
> Sí, el atributo está en base64 y el de Google lo requiere en base16. Pero me 
> temo que ese no es nuestro problema. Si yo paso el userpassword de base64 a 
> base16 (pasando o no por ascii, que es lo mismo), el resultado es una ristra 
> hexadecimal larguísima, mientras que Google Apps espera otra cosa.
> 
> Si yo pongo la clave:
>   "hola"     (1)
> desde smbldap-tools eso se traduce (encriptado en MD5) a algo así como:
>    {MD5}RgPToAwCd2ov86MLJywMYg==     (2)
> que, en codificado base64, es:
> e01ENX1SZ1BUb0F3Q2Qyb3Y4Nk1MSnl3TVlnPT0=    (3)
> que es, ni más ni menos, el atributo userPassword de mi LDAP
> Si paso eso a hexadecimal (base16) obtengo un chorizo larguíiisimo.
> 
> Sin embargo, Google, para la clave "hola" espera:
>   916f4c31aaa35d6b867dae9a7f54270d     (4)
> que es el MD5 de la clave "hola" pasado a hexadecimal (base16), es decir, es 
> el resultado de la ejecución de la orden md5sum sobre la ristra "hola"

No sé si es relevante, o sólo un ejemplo rápido, pero el MD5 de la
clave "hola" pasado a hexadecimal es:

4d186321c1a7f0f354b297e8914ab240

El que tú has puesto sería para "hola"+<LF>.

Si lo queremos obtener a mano:

~$ echo -n hola |md5sum
4d186321c1a7f0f354b297e8914ab240  -
~$ echo hola |md5sum
916f4c31aaa35d6b867dae9a7f54270d  -

O en python:

import md5
print md5.new("hola").hexdigest()
# devuelve '4d186321c1a7f0f354b297e8914ab240'
print md5.new("hola\n").hexdigest()
# devuelve '916f4c31aaa35d6b867dae9a7f54270d'
 
Tampoco consigo reproducir la clave (2). Para "hola" a mi me sale:

TRhjIcGn8PNUspfokUqyQA==

y para "hola\n":

kW9MMaqjXWuGfa6af1QnDQ==

que es el mismo MD5-digest pero en Base64. Con estos valores, pasar de
(2) a (4) consiste en base64-descodificar (2) (quitándole el prefijo {MD5})
para obtener el digest en binario, y codificarlo en base16 (hexa) para
obtener la cadena que quiere Google.

> Pasar de (2) a (3) y viceversa es trivial (un simple cambio de base), pero no 
> sé si es posible pasar de (2) -ó (3)- a (4). Eso es lo que necesito hacer, 
> pero no lo he conseguido. Tal vez sean aplicaciones distintas del algoritmo 
> MD5, no sé....  Tampoco sé si ha quedado claro el problema, pero al que me lo 
> resuelva le regalo una cesta de navidad.

Si te ha servido avisa, y te mando mi dirección o paso a buscarla por GC. ;-)
 
> Las soluciones alternativas incluyen, como mencionaba en el otro correo, usar 
> otro atributo del LDAP para guardar la contraseña en "formato MD5 de google" 
> (MD5sum) o bien cambiar la contraseña de google en el momento que se cambie 
> en el windows/unix. Pero nos podría muy cachondos poder usar el atributo 
> userPassword tal cuál.
> 
> > Salu2!
> 
> Saludos
> _______________________________________________
> Modularit-users mailing list
> Modularit-users at lists.modularit.org
> http://lists.modularit.org/mailman/listinfo/modularit-users
> 
--
Enrique Zanardi
Atlantux Consultores S.L. - Grupo CPD

Le informamos que los datos personales que puedan figurar en esta
comunicación están incorporados a un fichero creado por Atlantux
Consultores, S.L., con la finalidad de poder gestionar la relación
comercial que nos vincula e informarle de nuestros servicios.
En cualquier momento usted podrá ejercer sus derechos de acceso,
rectificación, cancelación y oposición, dirigiéndose por escrito a:
Atlantux Consultores, S.L., C/ Siempreviva, 41, 38320, La Laguna, Tenerife
Si usted no desea recibir más información sobre nuestros servicios, puede
darse de baja en la siguiente dirección de correo electrónico:
consultores at atlantux.com o enviando un fax al número: 922670994



More information about the Modularit-users mailing list