SSL está diseñado para mantener a los intrusos y, a partir de la descripción de tu problema, quieres ser un intruso ...
En el protocolo de enlace, el mensaje Certificate
proviene del servidor, no del cliente, por lo que no aprenderá los detalles del cliente de ese mensaje. De todos los mensajes del cliente, solo el ClientHello
puede enseñarte algunas cosas, pero esto será limitado. Básicamente, tendrá la lista de suites de cifrado admitidas (con pedidos), compatibilidad con la compresión y la presencia o ausencia de extensiones SSL (por ejemplo, servidor Indicación del nombre ). Dichos parámetros dependen del navegador y del sistema operativo, pero con pocas variaciones, así que no espere milagros. Si el navegador del cliente es Firefox, entonces tiene su propia biblioteca SSL (llamada NSS), pero no podrá distinguir entre Firefox en un teléfono inteligente Android y Firefox en una máquina con Windows. De lo contrario, puede esperar reconocer los sistemas Apple (iPad, iPhone, Mac OS X), Windows y Android / Linux como tres grupos diferentes, pero no obtendrá más detalles. Si conoce el sistema operativo del cliente y los tipos de navegador, es posible que pueda elaborar la versión aproximada en función de la presencia o ausencia de algunas opciones.
Al menos algunas personas han jugado con la idea de recopilar información de ClientHello
de SSL de muchos navegadores para tratar de elaborar tipos y versiones de navegador / SO. P.ej. Consulte estas páginas de Qualys SSL Labs. Esto todavía parece estar en la etapa conceptual (y no está desarrollado activamente).