[ "Facebook" qui è solo "un esempio di qualcuno che vuole un certificato". Non esiste alcuna Facebookness speciale inerente a questa situazione. ]
Who generated that public key that I can see in facebook certificate?
Is it generated by Facebook or that intermediary CA?
- Facebook genera la "coppia di chiavi" composta da una chiave pubblica e una chiave privata.
- Facebook genera quindi una richiesta di firma del certificato (CSR) che include la chiave pubblica e invia il CSR alla CA.
- La CA firma la chiave pubblica in base a tale richiesta e restituisce la chiave pubblica firmata (il "certificato") a Facebook.
- Facebook installa la chiave privata e il certificato sul proprio server web e vedi quel certificato firmato quando chiedi al tuo browser di mostrarti la sicurezza della connessione.
Does the public key change often or it gets modified only when the
certificate expires?
Idealmente cambia ogni volta che scade il certificato - un potrebbe inviare un nuovo CSR usando la vecchia coppia di chiavi e ottenere un nuovo certificato per la vecchia chiave pubblica, ma ciò vanificherebbe lo scopo di scadere dei certificati, che è quello di garantire il fatturato chiave.
Dovresti anche essere consapevole del fatto che molti codici moderni usati con TLS, come le varianti ECDHE, convalidano la connessione usando la chiave pubblica presentata (certificato) come descritto, ma poi fanno girare una nuova coppia di chiavi ("effimera") al volo e usalo per proteggere effettivamente la crittografia. Pertanto, il certificato visualizzato nel browser Web non è il certificato utilizzato per proteggere i dati e il certificato utilizzato per proteggere i dati ha una durata estremamente breve.