Per la nostra attuale implementazione utilizziamo un certificato di root autofirmato, che viene quindi utilizzato per firmare i certificati SSL per la nostra connessione sicura http.
La mia domanda riguarda la logica di verifica sul client, che sfortunatamente non avrà accesso al certificato di root dell'autorità di certificazione radice attendibile.
È sufficiente memorizzare l'identificazione personale del certificato SSL sul client in un deposito segreto e quindi verificare la conformità nella funzione di callback durante l'handshake https? Considerando che potrebbe essere possibile che qualcuno crei il proprio certificato SSL e utilizzi solo questo valore di identificazione digitale (che ovviamente è disponibile pubblicamente)? Ho sbagliato o è che un certificato x.509 standard non può garantire che i dati non siano stati manomessi?
Non sarebbe più sicuro memorizzare la chiave pubblica del certificato di root e usarlo per controllare l'identificazione personale?
Questo giustifica il sovraccarico aggiuntivo per ogni richiesta iniziale?