模块:Mongo::Socket::OcspCache Private
- 定义于:
- 构建/ruby-driver-v2.19/lib/ mongo /socket/ocsp_cache.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
该模块会在指定的有效时间内缓存 OCSP 响应。
密钥是用于 OCSP请求的 CertificateId。 该值为 SingleResponse。
类方法摘要折叠
-
。清除⇒ 对象
private
清除驱动程序的 OCSP 响应缓存。
- 。删除(cert_id) ⇒ 对象 private
-
。 get (cert_id) ⇒ OpenSSL::OCSP::SingleResponse
private
检索指定 CertificateId 的已缓存 SingleResponse。
- 。响应⇒ 对象 private
- 。 set (cert_id, response) ⇒ 对象 private
类方法详细信息
。清除⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
注意:
使用应用程序中的 Mongo.clear_ocsp_cache,而不是直接调用此方法。
清除驱动程序的 OCSP 响应缓存。
84 85 86 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /socket/ocsp_cache.rb', 第84行 module_function def 清除 响应.替换([]) end |
。删除(cert_id) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
74 75 76 77 78 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /socket/ocsp_cache.rb', 第74行 module_function def 删除(cert_id) 响应.delete_if do |resp| resp.certid.cmp(cert_id) end end |
。 get (cert_id) ⇒ OpenSSL::OCSP::SingleResponse
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
检索指定 CertificateId 的已缓存 SingleResponse。
如果响应被撤销,此方法可能会返回过期响应。 此类回复在首次收到时有效。
此方法还可能返回有效的响应,但这些响应可能在调用者使用它们时过期。 调用者不应对返回的响应执行更新时间检查。
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 ' 构建/ruby-driver-v2.19/lib/ mongo /socket/ocsp_cache.rb', 第44行 module_function def 获取(cert_id) resp = 响应.检测 do |resp| resp.certid.cmp(cert_id) end if resp # 仅使状态良好的响应过期。 # 证书一旦被撤销,就应永远保持撤销状态, # 因此,我们应该能够无限期缓存已撤销的响应。 if resp.cert_status == OpenSSL::OCSP::V_CERTSTATUS_GOOD && resp.next_update < 时间.now then 响应.删除(resp) resp = nil end end # 如果我们已连接到服务器并为其缓存 OCSP 响应, # 然后不再连接到该服务器,缓存的 OCSP 响应 # 将无限期地保留在内存中。 定期删除所有 # 过期的 OCSP 响应,而不仅仅是与证书 ID 匹配的响应 # 我们正在查询。 if 兰特 < 0.01 响应.delete_if do |resp| resp.next_update < 时间.now end end resp end |
。响应⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
92 93 94 95 96 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /socket/ocsp_cache.rb', 第92行 module_function def 响应 锁.同步 do @responses ||= [] end end |
。 设立 (cert_id, response) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
28 29 30 31 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /socket/ocsp_cache.rb', 第28行 module_function def 集(cert_id, 响应) 删除(cert_id) 响应 << 响应 end |