SSL è progettato per tenere lontani gli intercettatori e, dalla descrizione del problema, vuoi essere un intercettatore ...
Nell'handshake, il messaggio Certificate
proviene dal server, non dal client, quindi non imparerai i dettagli del client da quel messaggio. Di tutti i messaggi client, solo il ClientHello
può insegnarti alcune cose, ma questo sarà limitato. Fondamentalmente, avrai l'elenco delle suite di crittografia supportate (con ordinamento), il supporto per la compressione e la presenza o l'assenza di estensioni SSL (ad esempio Server Indicazione del nome ). Tali parametri dipendono dal browser e dal sistema operativo, ma con solo poche varianti, quindi non aspettatevi miracoli. Se il browser client è Firefox, ha una propria libreria SSL (chiamata NSS), ma non sarà possibile distinguere tra Firefox su uno smartphone Android e Firefox su una macchina Windows. Altrimenti, potresti sperare di riconoscere i sistemi Apple (iPad, iPhone, Mac OS X), Windows e Android / Linux come tre diversi gruppi, ma non otterrai maggiori dettagli. Se conosci il sistema operativo del client e i tipi di browser, potresti essere in grado di calcolare la versione approssimativa in base alla presenza o all'assenza di alcune opzioni.
Almeno alcune persone hanno giocato con l'idea di raccogliere informazioni ClientHello
SSL da molti browser per cercare di elaborare tipi e versioni di browser / SO. Per esempio. vedi queste pagine da Qualys SSL Labs. Questo sembra essere ancora allo stadio concettuale (e non sviluppato attivamente).