Esaminando come eseguire l'autenticazione del client cert dal client Go HTTP, ho scoperto che avevo bisogno di rinegoziazione dal lato client e ho trovato il problema 5742 per Go su GitHub, che è il problema che porta al supporto della rinegoziazione che viene aggiunto a Il pacchetto crypto / tls di Go e la discussione sulla vulnerabilità della tripla stretta di mano è stata discussa.
Ho letto link e suona come il terza stretta di mano è l'handshake della sessione di resupmtion, ma non sono sicuro quando succederà quella stretta di mano, ma guardando il codice sorgente di Go sembra che la ripresa durante la rinegoziazione non sia consentita su Go TLS link . Non ho afferrato completamente il lasso di tempo in cui avrebbe avuto luogo la tripla stretta di mano, ma questo avrebbe impedito 3shake? Inoltre, RenegotiateOnceAsClient in Go (che ha il client Go HTTP che esegue TLS esegue solo una rinegoziazione per connessione) fa qualcosa per impedirlo?