클래스: Mongo::Socket::ocspVerifier Private
- 상속:
-
객체
- 객체
- Mongo::Socket::ocspVerifier
- 다음을 포함합니다.
- 로깅 가능
- 다음에 정의됨:
- lib/ Mongo/socket/ocsp_verifier.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
OCSP 엔드포인트 검증자.
TLS 연결이 설정된 후 이 검증기는 서버에서 제공한 인증서를 검사하고, 인증서에 OCSP URI가 포함되어 있는 경우 지정된 URI에 대해 OCSP 상태 요청을 수행(최대 5 회 리디렉션)하여 인증서 상태를 확인합니다.
상수 요약
Loggable에서 포함된 상수
인스턴스 속성 요약 접기
- #ca_cert ⇒ 객체 읽기 전용 비공개
- #cert ⇒ 객체 읽기 전용 비공개
- #cert_store ⇒ 객체 읽기 전용 비공개
- #host_name ⇒ 객체 읽기 전용 비공개
- #options ⇒ 객체 읽기 전용 비공개
인스턴스 메서드 요약 접기
- #cert_id ⇒ 객체 비공개
-
#initialize(host_name, cert, ca_cert, cert_store, **opts) ⇒ ocspVerifier
생성자
비공개
ocspVerifier의 새 인스턴스입니다.
-
#ocsp_uris ⇒ Array<String>
비공개
지정된 서버 인증서의 OCSP URI입니다.
- #timeout ⇒ 객체 비공개
-
#verify ⇒ true | false
비공개
인증서의 확인 여부입니다.
- #verify_with_cache ⇒ 객체 비공개
Loggable에 포함된 메서드
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
생성자 세부 정보
#initialize(host_name, cert, ca_cert, cert_store, **opts) ⇒ ocspVerifier
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
ocspVerifier의 새 인스턴스를 반환합니다.
51 52 53 54 55 56 57 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 51 def 초기화(host_name, cert, ca_cert, cert_store, **opts) @host_name = host_name @cert = cert @ca_cert = ca_cert @cert_store = cert_store @options = opts end |
인스턴스 속성 세부 정보
#ca_cert ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
61 62 63 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 61 def ca_cert @ca_cert end |
#cert ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
60 61 62 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 60 def cert @cert end |
#cert_store ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
62 63 64 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 62 def cert_store @cert_store end |
#host_name ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
59 60 61 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 59 def host_name @host_name end |
#options ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
63 64 65 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 63 def @options end |
인스턴스 메서드 세부 정보
#cert_id ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
91 92 93 94 95 96 97 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 91 def cert_id @cert_id ||= OpenSSL::OCSP::CertificateId.신규( cert, ca_cert, OpenSSL::다이제스트::SHA1.신규, ) end |
#ocsp_uris ⇒ Array<String>
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
지정된 서버 인증서의 OCSP URI를 반환합니다.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 70 def ocsp_uris @ocsp_uris ||= 시작 # https://tools.ietf.org/html/rfc3546#section-2.3 # 동일한 oid를 가진 여러 확장을 금지합니다. ext = cert.확장 프로그램.감지 do |ext| ext.oid == 'AuthorityInfoAccess' end 만약 ext # 테스트 인증서에는 여러 개의 OCSP URI가 있습니다. ext.value.split("\n").SELECT do |라인| 라인.start_with?('OCSP - URI:') end.map do |라인| 라인.split(':', 2).last end other [] end end end |
#timeout ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
65 66 67 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 65 def 타임아웃 [:timeout] || 5 end |
#verify ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
인증서가 확인되었는지 여부를 반환합니다.
122 123 124 125 126 127 128 129 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 122 def 확인 handle_Exceptions do 반환 거짓 만약 ocsp_uris.비어 있나요? resp, errors = do_verify return_ocsp_response(resp, errors) end end |
#verify_with_cache ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# 파일 'lib/ Mongo/socket/ocsp_verifier.rb', 줄 99 def verify_with_cache handle_Exceptions do 반환 거짓 만약 ocsp_uris.비어 있나요? resp = ocspCache.get(cert_id) 만약 resp 반환 return_ocsp_response(resp) end resp, errors = do_verify 만약 resp ocspCache.세트(cert_id, resp) end return_ocsp_response(resp, errors) end end |