Estoy tratando de averiguar los detalles del grapado OCSP y cómo funciona. Como a menudo la mejor manera es, inicié Wireshark e hice una solicitud simple a un servidor que tiene habilitado el grapado OCSP.
¿Puede alguien aclarar las dudas que tengo a continuación?
-
Solicitud
Datos de la extensión de saludo del cliente:En Wireshark veo la extensión de saludo del cliente como se muestra a continuación
Extension: status_request Type: status_request (0x0005) Length: 5 Certificate Status Type: OCSP (1) Responder ID list Length: 0 Request Extensions Length: 0
Entiendo la presencia de los dos primeros campos. Pero, ¿por qué necesitamos los siguientes 3 (
Certificate Status Type
,Responder ID list Length
,Request Extensions Length
), ya que son0
de todos modos. ¿Qué tipo de datos pueden contener y cómo se supone que el servidor procesa los datos en estos campos? -
Respuesta
Parte de la respuesta es:Certificate Status Type: OCSP (1) ResponseType Id: 1.3.6.1.5.5.7.48.1.1 (id-pkix-ocsp-basic) BasicOCSPResponse tbsResponseData responderID: byKey (2) byKey: f2026c2ad426a4a59cb2505b3962446034151e5b
¿Qué son los campos
byKey
yResponseType ID
? ¿Y cómo se supone que el cliente procese lo mismo? ¿El cliente necesita hacer coincidir elCertificate status type
con lo que se envió en el cliente hola? ¿Cadena?
Entiendo que se deben realizar comprobaciones de revocación para todos los certificados de la cadena. ¿Cómo encaja esto con el grapado? Estamos haciendo un apretón de manos sólo una vez. ¿Es el servidor responsable de mantener el estado de revocación de todos los certificados de la cadena?