SSL_get_verify_result()
no hace ninguna verificación; devuelve (parte de) el resultado de la verificación del certificado (si corresponde) realizada durante el protocolo de enlace completo más reciente (si corresponde) en el objeto SSL
dado. Suponiendo que realmente quiere saber qué hizo la verificación que , depende en gran medida del código de la aplicación.
Si el código establece una devolución de llamada con SSL_CTX_set_cert_verify_callback
antes de crear el objeto SSL
, la verificación durante el protocolo de intercambio consiste completamente en llamar a esa devolución de llamada, lo que haga la devolución de llamada es lo que hace. Si no se establece esta devolución de llamada, como dice la página de manual, se usa una 'función de verificación incorporada', que en realidad es X509_verify_cert()
(que tiene su propia página de manual no muy útil) y qué dice does es roughly lo que se describe en la página de comando del verificador (1) como hace referencia a John, además de algunas cosas que se han agregado a lo largo del tiempo pero que no siempre aparecieron en el documento (por ejemplo, NameConstraints y DANE, por no mencionar algunas comprobación de revocación), pero esta comprobación puede ser modificada y "ajustada" por numerosas opciones y parámetros, no todos los cuales se pueden usar para verificar (1), y se pueden configurar en cualquiera el nivel SSL_CTX
o SSL
, que incluye un 'Verify_callback' opcional que es independiente y bastante diferente del 'cert_verify_callback' mencionado anteriormente. Consulte las páginas del manual para SSL_[CTX_]set_verify[_depth]
, SSL_[CTX_]load_verify_locations
et rel,
Las funciones X509_STORE_*
y X509_STORE_CTX_*
, incluyendo X509_STORE_CTX_set0_param
y las funciones relacionadas relacionadas con X509_VERIFY_PARAM*
, especialmente X509_VERIFY_PARAM_set_flags
.
Y si eso no es lo suficientemente exacto, y puede que no lo sea, verifique la fuente - para la versión que está ejecutando (o que estará ejecutando), ya que ha habido algunos cambios en esta área (bastante compleja) con el tiempo. Explicar exactamente todo lo que hace, incluso en una versión en particular, superaría (casi con certeza) el límite de respuesta de la Pila y me tomaría aproximadamente una semana, y probablemente se volvería obsoleto pronto, así que no lo haré. Si tiene uno o muy pocos problemas específicos, eso podría responderse en un tiempo práctico.