Ahí va una para los criptógrafos.
Estoy intentando montar un sistema con una API REST y pretendo usar HMAC para firmar las peticiones. Prometo que he buscado y rebuscado, pero no encuentro una implementación completa, empezando por el registro del usuario hasta una petición final, pasando por el logueo. Así que estoy seguro de que no acabo de entenderlo.
Hasta donde he conseguido trastear, podría crear una comunicación con SSL al servidor para registrar al usuario y guardar su nombre de usuario, email y un hash de la contraseña (con su salt).
- Supongo que debería generar en el momento de registro un private key completamente aleatorio.
- ¿Sería seguro comprobar el usuario/contraseña y devolver este private key si la comunicación va sobre SSL?
Una vez que el cliente y el servidor tienen la private key, ya podría seguir trasteando con el resto de cosas que he leído, pero lo que no me queda 100% claro es si el intercambio de esta clave privada es seguro simplemente por SSL o debería hacer más cosas.
En resumen, ¿en qué momento y de qué manera se intercambian las claves privadas?.
Saludos, ¡gracias!