모듈: Mongo::Socket::ocspCache 비공개

다음에 정의됨:
lib/ Mongo/socket/ocsp_cache.rb

개요

이 모듈은 비공개 API의 일부입니다. 이 모듈은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이 모듈은 표시된 유효 시간 동안 OCSP 응답을 캐시합니다.

키는 OCSP 요청 에 사용되는 CertificateId입니다. 값은 SingleResponse입니다.

이후:

  • 2.0.0

클래스 메서드 요약 접기

클래스 메서드 세부 정보

.지우기객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이 메서드를 직접 호출하는 대신 애플리케이션에서 Mongo.clear_ocsp_cache를 사용합니다.

드라이버의 OCSP 응답 캐시 를 지웁니다.

이후:

  • 2.0.0



84
85
86
# 파일 'lib/ Mongo/socket/ocsp_cache.rb', 줄 84

module_function def 지우기
  응답.갈다([])
end

.삭제(cert_id) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이후:

  • 2.0.0



74
75
76
77
78
# 파일 '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를 검색합니다.

이 메서드는 만료된 응답이 취소된 경우 만료된 응답을 반환할 수 있습니다. 이러한 응답은 처음 수신되었을 때 유효했습니다.

이 메서드는 유효하지만 호출자가 사용하는 시점에 만료될 수 있는 응답을 반환할 수도 있습니다. 호출자는 반환된 응답에 대해 업데이트 시간 확인을 수행해서는 안 됩니다.

반환합니다:

  • (OpenSSL::OCSP::SingleResponse)

    이전에 검색된 응답입니다.

이후:

  • 2.0.0



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
# 파일 'lib/ Mongo/socket/ocsp_cache.rb', 줄 44

module_function def get(cert_id)
  resp = 응답.감지 do |resp|
    resp.certid.cmp(cert_id)
  end
  만약 resp
    # 상태가 좋은 응답만 만료합니다.
    # 인증서는 한 번 해지되면 영구적으로 해지된 상태로 유지되며,
    # 따라서 해지된 응답을 무기한 캐시할 수 있어야 합니다.
    만약 resp.cert_status == OpenSSL::OCSP::V_CERTSTATUS_GOOD &&
      resp.Next_update < 시간.지금
    then
      응답.삭제(resp)
      resp = nil
    end
  end

  # 서버에 연결하고 이에 대한 OCSP 응답을 캐시한 경우
  # 그런 다음 해당 서버에 다시 연결하지 않습니다(캐시된 OCSP 응답).
  # 메모리에 무기한으로 남아 있습니다. 주기적으로 모두 제거
  # 인증서 ID와 일치하는 응답뿐만 아니라 만료된 OCSP 응답
  # 쿼리를 실행합니다.
  만약 랜드 < 0.01
    응답.delete_if do |resp|
      resp.Next_update < 시간.지금
    end
  end

  resp
end

.응답객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이후:

  • 2.0.0



92
93
94
95
96
# 파일 'lib/ Mongo/socket/ocsp_cache.rb', 줄 92

module_function def 응답
  잠금.동기화 do
    @responses ||= []
  end
end

.설정하다(cert_id, response) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이후:

  • 2.0.0



28
29
30
31
# 파일 'lib/ Mongo/socket/ocsp_cache.rb', 줄 28

module_function def 세트(cert_id, 응답)
  삭제(cert_id)
  응답 << 응답
end