Módulo: Mongo::Socket::OcspCache Privado
- Definido en:
- lib/mongo/socket/ocsp_cache.rb
Overview
Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Este módulo almacena en caché las respuestas de OCSP durante el tiempo de validez indicado.
La clave es el CertificateId utilizado para la solicitud OCSP. El valor es la RespuestaÚnica.
Resumen del método de clase colapsar
-
.clear ⇒ Objeto
privado
Eliminar la caché de las respuestas OCSP del controlador.
- .borrar(cert_id) ⇒ Object privado
-
.obtener(cert_id) ⇒ OpenSSL::OCSP::SingleResponse
privado
Recupera una SingleResponse en caché para el ID de certificado especificado.
- .respuestas ⇒ Objeto privado
- .set(cert_id, response) ⇒ objeto privado
Detalles del método de clase
.clear ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Utilice Mongo.clear_ocsp_cache desde las aplicaciones en lugar de invocar este método directamente.
Eliminar la caché de las respuestas OCSP del controlador.
84 85 86 |
# Archivo 'lib/mongo/socket/ocsp_cache.rb', línea 84 module_function def borrar respuestas.Reemplazar([]) end |
.borrar(cert_id) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
74 75 76 77 78 |
# Archivo 'lib/mongo/socket/ocsp_cache.rb', línea 74 module_function def borrar(cert_id) respuestas.delete_if hacer |resp| resp.certid.cmp(cert_id) end end |
.get(cert_id) ⇒ OpenSSL::OCSP::SingleResponse
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Recupera una SingleResponse en caché para el ID de certificado especificado.
Este método puede devolver respuestas caducadas si se revocan. Dichas respuestas eran válidas cuando se recibieron por primera vez.
Este método también puede devolver respuestas válidas, pero que podrían caducar cuando el usuario las use. El usuario no debe realizar comprobaciones de tiempo de actualización en la respuesta devuelta.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# Archivo 'lib/mongo/socket/ocsp_cache.rb', línea 44 module_function def Obtener(cert_id) resp = respuestas.detectar hacer |resp| resp.certid.cmp(cert_id) end si resp # Solo caducar las respuestas con un buen estado. # Una vez que se revoca un certificado, este debe permanecer revocado para siempre. # por lo tanto, deberíamos poder almacenar en caché las respuestas revocadas indefinidamente. si resp.cert_status == OpenSSL::OCSP::V_CERTSTATUS_GOOD && resp.next_update < Tiempo.ahora entonces respuestas.borrar(resp) resp = nulo end end # Si nos hemos conectado a un servidor y hemos almacenado en caché la respuesta OCSP para él, # y luego nunca más se conecta a ese servidor, la respuesta OCSP almacenada en caché # va a permanecer en la memoria indefinidamente. Remover periódicamente todo # respuestas OCSP caducadas, no solo las que coinciden con el ID del certificado por lo que estamos consultando. si rand < 0.01 respuestas.delete_if hacer |resp| resp.next_update < Tiempo.ahora end end resp end |
.respuestas ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
92 93 94 95 96 |
# Archivo 'lib/mongo/socket/ocsp_cache.rb', línea 92 module_function def respuestas CERRAR.sincronizar hacer @responses ||= [] end end |
.set(cert_id, response) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
28 29 30 31 |
# Archivo 'lib/mongo/socket/ocsp_cache.rb', línea 28 module_function def conjunto(cert_id, respuesta) borrar(cert_id) respuestas << respuesta end |