Estoy tratando de entender cómo funciona la firma 4 de AWS. Leí los documentos y encontré un ejemplo de Python donde Se calcula la firma. También me topé con esta respuesta que explica HMAC a poco.
Tengo curiosidad por entender qué hace AWS en el lado del servidor para "creer" en la solicitud.
¿Están ejecutando el mismo código que el ejemplo pero estableciendo la fecha con el parámetro pasado por la solicitud y luego haciendo coincidir los dos hashes (HMAC parece funcionar de esa manera)? Si es así, ¿por qué hay tantos valores y hash de dos pasos en la solicitud (supongo que es algo relacionado con el choque de hash)?
PS: dado que el enfoque (HMAC) utiliza las teclas ACCESO y SECRETO como claves (es clave simétrica) solo se puede implementar en el lado del servidor. Esto no se puede hacer de forma segura en una aplicación móvil, ya que se puede acceder fácilmente a las teclas. ¿Hay alguna manera de hacerlo en un entorno "menos cerrado" (en comparación con el servidor), como una aplicación cliente / móvil / etc. aplicación?