Nell'handshake del server SSL, il server invia anche il certificato CA [duplicato]

11

Nell'handshake Sever SSL TCP, il server invia anche certificati CA? Il server deve inviare tutti i certificati CA intermedi nel server Hello?

    
posta Rahul_cs12 05.07.2015 - 16:35
fonte

1 risposta

26

Il server non invia alcun certificato nel messaggio ServerHello ; invia certificati nel messaggio Certificate con nome appropriato

.

Come indicato nello standard, il server dovrebbe inviare una catena completa, ordinata del certificato, a partire dal certificato del server, quindi un certificato per la CA intermedia che lo ha emesso, quindi un certificato per la CA intermedia che ha emesso il certificato CA intermedio precedente e così via. Alla fine della catena, il server ha la possibilità di includere o meno il certificato della CA radice; se la catena deve essere di qualche utilità per il client, allora il client deve già conoscere la radice e quindi non ha bisogno di una nuova copia di essa. Il testo pertinente nello standard è:

   certificate_list
      This is a sequence (chain) of certificates.  The sender's
      certificate MUST come first in the list.  Each following
      certificate MUST directly certify the one preceding it.  Because
      certificate validation requires that root keys be distributed
      independently, the self-signed certificate that specifies the root
      certificate authority MAY be omitted from the chain, under the
      assumption that the remote end must already possess it in order to
      validate it in any case.

che è abbastanza chiaro.

Si noti che, in generale, la catena di certificati non è unica. Un determinato certificato server potrebbe essere suscettibile di convalida attraverso diverse, forse molte catene di certificati. Ciò accade naturalmente al rinnovo del certificato CA intermedio (perché ci sarà un momento in cui il nuovo certificato CA è valido e il vecchio è ancora valido, quindi se usano la stessa chiave saranno intercambiabili). In caso di certificazione incrociata tra CA distinte, le diverse catene per un determinato certificato server possono persino portare a CA radice distinta. La conseguenza è che mentre il server SSL / TLS dovrebbe inviare una "catena valida", quella catena potrebbe non essere necessariamente quella che il client avrebbe preferito.

In generale, i client SSL / TLS tenteranno di convalidare la catena di certificati del server come ricevuta dal server. Se quella catena non soddisfa il cliente, allora il comportamento del cliente dipende dall'implementazione: alcuni clienti semplicemente rinunciano; altri (specialmente Windows / Internet Explorer) proveranno a costruire un'altra catena usando CA intermedia localmente nota e scaricando anche i certificati dall'URL trovati in altri certificati (l'estensione "accesso alle informazioni dell'autorità").

    
risposta data 05.07.2015 - 16:54
fonte

Leggi altre domande sui tag