Módulo: Mongo::Socket::OcspCache Private
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/socket/ocsp_cache.rb
Visão geral
Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.
Este módulo armazena em cache as respostas OCSP pelo tempo de validade indicado.
A chave é o CertificateId usado para a solicitação do OCSP. O valor é a SingleResponse.
Recolhimento do Resumo do método de classe
-
.limpar ➤ Objeto
privado
Limpa o cache de resposta OCSP do driver.
- .excluir(cert_id) ➤ Objeto privado
-
.get(cert_id) ➤ OpenSSL::OCSP::SingleResponse
privado
Recupera uma SingleResponse em cache para o CertificateId especificado.
- .respostas ➤ Objeto privado
- .set(cert_id, response) ➤ Objeto privado
Detalhes do método de classe
.limpar ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Use Mongo.clear_ocsp_cache de aplicativos em vez de invocar esse método diretamente.
Limpa o cache de resposta OCSP do driver.
84 85 86 |
# File 'build/ruby-driver-v2.19/lib/mongo/socket/ocsp_cache.rb', linha 84 module_function def Limpar Respostas.replace([]) end |
.excluir(cert_id) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
74 75 76 77 78 |
# File 'build/ruby-driver-v2.19/lib/mongo/socket/ocsp_cache.rb', linha 74 module_function def excluir(cert_id) Respostas.delete_if fazer |res| res.certid.cmp(cert_id) end end |
.get(cert_id) ➤ OpenSSL::OCSP::SingleResponse
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Recupera uma SingleResponse em cache para o CertificateId especificado.
Este método pode retornar respostas expiradas se forem revogados. Essas respostas foram válidas quando foram recebidas pela primeira vez.
Esse método também pode retornar respostas que são válidas, mas que podem expirar quando o chamador as utilizar. O chamador não deve realizar verificações de tempo de atualização na resposta retornada.
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 |
# File 'build/ruby-driver-v2.19/lib/mongo/socket/ocsp_cache.rb', linha 44 module_function def obter(cert_id) res = Respostas.detectar fazer |res| res.certid.cmp(cert_id) end se res # Expira apenas respostas com status bom. # Depois de revogado, um certificado deve permanecer revogado para sempre, # portanto, devemos ser capazes de armazenar em cache respostas revogadas indefinidamente. se res.cert_status == OpenSSL::OCSP::V_CERTSTATUS_good && res.Next_update < Hora.agora então Respostas.excluir(res) res = nada end end # Se tivermos nos conectado a um servidor e armazenado em cache a resposta OCSP para ele, # e nunca mais se conecte a esse servidor, a resposta OCSP em cache # permanecerá na memória indefinidamente. Remova periodicamente todos # respostas OCSP expiradas, não apenas aquelas que correspondem ao ID do certificado # pelo qual estamos fazendo query. se random < 0.01 Respostas.delete_if fazer |res| res.Next_update < Hora.agora end end res end |
.respostas ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
92 93 94 95 96 |
# File 'build/ruby-driver-v2.19/lib/mongo/socket/ocsp_cache.rb', linha 92 module_function def Respostas Bloqueio.sincronizar fazer @respostas ||= [] end end |
.set(cert_id, response) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
28 29 30 31 |
# File 'build/ruby-driver-v2.19/lib/mongo/socket/ocsp_cache.rb', linha 28 module_function def set(cert_id, Resposta) excluir(cert_id) Respostas << Resposta end |