Sto cercando di capire come funziona la firma AWS 4. Ho letto i documenti e ho trovato un esempio di Python dove la firma è calcolata. Ho anche eseguito questa risposta che spiega HMAC a po.
Sono curioso di capire cosa AWS fa sul lato server a "credere" nella richiesta.
Stanno eseguendo lo stesso codice dell'esempio ma impostando la data con il parametro passato dalla richiesta e quindi facendo corrispondere i due hash (HMAC sembra funzionare in questo modo)? In tal caso, perché ci sono così tanti valori e hash in due passaggi nella richiesta (la mia ipotesi è che si tratti di un problema di hash)?.
PS: poiché l'approccio (HMAC) utilizza le chiavi ACCESS e SECRET come chiavi (è la chiave simmetrica) può essere implementato solo da un lato server. Questo non può essere fatto in modo sicuro in un'app mobile poiché le chiavi possono essere facilmente accessibili. C'è un modo per farlo in un ambiente "meno chiuso" (rispetto al server) come un'app client / mobile / ecc. app?