Sto rivedendo la documentazione API da un potenziale fornitore.
Per poter accedere alle parti utili dell'API, dobbiamo inviare una richiesta GET o POST a un particolare endpoint che passa due parametri: il nome della nostra organizzazione e l'hash della chiave pubblica. Questo endpoint restituirà quindi un token che usiamo per il resto della nostra sessione.
La descrizione dell '"hash della chiave pubblica" è che prendiamo una chiave pubblica (fornita in anticipo dal fornitore), aggiungiamo la data UTC corrente e quindi eseguiamo un hash MD5 del risultato. Il loro esempio è:
Public Key: a8db14aef3810a92e7c9af9f8782e1f0
Current UTC Date: 2013-02-28
Result string: a8db14aef3810a92e7c9af9f8782e1f02013-02-28
MD5 hash: efdb500ca0a4e107aea100554456ea85
Non ho riscontrato un meccanismo di autenticazione come questo prima. Mi sembra "fatto a mano" per me, e l'uso di MD5 mi sta anche facendo contrarre i peli del naso - voglio veramente scrivere un nuovo codice nel 2017 che usi MD5?
Ma prima ancora di approfondire le cose - questo è in realtà un meccanismo di autenticazione ben noto e utilizzato per il quale non sono riuscito a trovare alcuna documentazione? Se è così, è ancora considerato sicuro?
(La ricerca sul valore chiave dell'API nell'esempio non produce risultati, quindi almeno per un motivo è stato eseguito il rollover di un esempio. La ricerca su API authentication md5
non ha trovato risultati promettenti)