# [OT] opensips autentificacion contra openldap.

## opotonil

Creo que no me queda otra que modificar el método de codificación de los password en openldap. Pero antes prefiero comentarlo por aquí a ver si a alguien se le ocurre algo.

La cuestión es que estoy intentando hacer que opensips, que por lo que estoy viendo solo admite password en texto plano o HA1, me autentifique a los usuarios contra openldap donde los password de estos están codificados mediante SSHA pero no hay manera:

 *Quote:*   

> 
> 
> May  7 17:50:59 link /usr/sbin/opensips[7055]: DBG:ldap:ldap_params_search: [base]: [1] LDAP entries found                                                   
> 
> May  7 17:50:59 link /usr/sbin/opensips[7055]: DBG:auth:check_nonce: comparing [4be1111100000000d6f1339ea091d8c72e6d5744adfc5a26] and [4be1111100000000d6f1339ea091d8c72e6d5744adfc5a26]                                                                                                                                  
> ...

 

La consulta del password contra openldap me devuelve algo como "{SSHA}twmolvRuvt11fr4GVJOxIasfcGi6yci9LIEfaUQ==" que opensips transforma en "acb111193c3e80f689569a14bf37c1e1" al calcular el HA1, si le dijera que no realice el HA1 entiendo que obtendria el password original de openldap "{SSHA}twmolvRuvt11fr4GVJOxIasfcGi6yci9LIEfaUQ==" (si no se le indica que realice el HA1 no muestra el password en el log, logico).

Por otro lado a opensips le llega el password que envio desde el telefono IP (un softphone) y parece que si o si le calcula el HA1 con lo que obtiene "d5f1111b72b04a6368c0fd17d91d2d3a" que por supuesto no coincide con el calculado anteriormente.

No tengo mucha idea sobre sistemas de hash asi que a ver si alguien me puede confirmar si:

¿HA1 es igual a MD5?

¿HA1 es distinto de SHA1?

Por otro lado en la configuracion de opensips veo:

```

# Program to calculate a message-digest fingerprint 

# MD5="md5sum"

```

No estoy seguro de si esto le indica el programa para calcular el HA1 ni si al indicar uno que realice el SSHA en vez del MD5 colaria (al parecer segun el protocolo SIP el unico valido es HA1) ¿que programas me pueden calcular el SSHA (opensips esta en distinta maquina que openldap)?

No se si a alguien se le ocurre alguna forma de hacer que esto tire sin tener que modificar todos los passwords almacenados en openldap y modificar la configuracion de slapd.conf.

Muchas gracias y salu2.

PD: Creo que lo expuesto anteriormente es el problema, porque cada vez entiendo menos.

--- EDITADO ---

Vale, parece que es algo mas complicado:

http://tools.ietf.org/html/draft-veltri-sip-alt-auth-00

Creo que la mejor opción que tengo es meter un servidor radius, que el opensips autentifique contra el y este utilice los datos del ldap, esto creo que si es posible... a mirar radius que no tengo ni idea.

----------

