クラス: Mongo::Sockate::OcspVerifier Private

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
ログ記録可能
定義:
build/ruby-Driver-v 2.19 /lib/mongo/socket/OCSP_verifier.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

OCSP エンドポイント検証子。

TLS 接続が確立されると、この検証子はサーバーによって提示された証明書を検査し、証明書に OCSP URI が含まれている場合は、指定された URI への OCSP ステータス リクエストを実行し(最大5リダイレクト)、証明書ステータスを確認します。

以下も参照してください。

以来

  • 2.0.0

定数の概要

Loggableに含まれる定数

ログ可能::PRFIX

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

Loggableに含まれるメソッド

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

コンストラクターの詳細

#初期化(host_name、cert、ca_cert、cert_store、*ops) =OcspVerifier

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

OcspVerifier の新しいインスタンスを返します。

パラメーター:

  • host_name ( string )

    診断出力用の、検証対象のホスト名。

  • cert OpenSSL::X 509 ::Certificate

    host_name でサーバーによって提示された証明書。

  • ca_cert OpenSSL::X 509 ::Certificate

    サーバーによって提示された CA 証明書、 または サーバー証明書からローカルに解決された CA 証明書。

  • cert_store OpenSSL::X 509 ::Store

    OCSP 応答を検証するために使用する証明書ストア。 これは、証明書を検証するための SSL ソケットで使用される SSLContext で使用されるのと同じストアである必要があります。 これはサーバーが提供する CA 証明書ではありません( ピア_cert から取得されたすべての CA 権限をサーバーが指定します)。

以来

  • 2.0.0



51
52
53
54
55
56
57
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行51

デフォルト 初期化(host_name, cert, ca_cert, cert_store, **ops)
  @host_name = host_name
  @cert = cert
  @ca_cert = ca_cert
  @cert_store = cert_store
  @options = ops
end

インスタンス属性の詳細

# ca_cert =オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



61
62
63
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行61

デフォルト ca_cert
  @ca_cert
end

#cert =オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



60
61
62
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行60

デフォルト cert
  @cert
end

# cert_store =オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



62
63
64
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行62

デフォルト cert_store
  @cert_store
end

# host_name =オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



59
60
61
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行59

デフォルト host_name
  @host_name
end

#オプション=オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



63
64
65
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行63

デフォルト options
  @options
end

インスタンス メソッドの詳細

# cert_id =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



91
92
93
94
95
96
97
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行91

デフォルト cert_id
  @cert_id ||= OpenSSL::OCSP::CertificateId.新着情報(
    cert,
    ca_cert,
    OpenSSL::ダイジェスト::SHA 1.新着情報,
  )
end

#ocsp_urisArray<String>

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

指定されたサーバー証明書の OCSP URI を返します。

次の値を返します。

  • <String>配列未満

    指定されたサーバー証明書内の OCSP URI 。

以来

  • 2.0.0



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行70

デフォルト ocsp_uris
  @ocsp_uris ||= begin
    # https://tools.ietf.org/html/rfc3546#section-2.3
    では、同じ id を持つ複数の拡張機能は禁止されています。
    ext = cert.拡張機能.検出 行う |ext|
      ext.oid == ' authorizedInfoAccess '
    end

    場合 ext
      # テスト証明書には複数の OCSP URI があります。
      ext.価値.分裂(" \n ").選択する 行う ||
        .start_with?('OCSP - URI:')
      end.map 行う ||
        .分裂(':', 2).last
      end
    else
      []
    end
  end
end

#タイムアウト=オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



65
66
67
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行65

デフォルト タイムアウト
  options[:timeout] || 5
end

# Verify = true | false

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

証明書が検証されたかどうかを返します。

次の値を返します。

  • true | false

    証明書が検証されたかどうか。

次の値が発生します。

以来

  • 2.0.0



122
123
124
125
126
127
128
129
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行122

デフォルト confirm
  例外処理 行う
    return false 場合 ocsp_uris.空の場合

    resp, errors = do_verify
    return_OCSP_ResponseResponse(resp, errors)
  end
end

# confirm_with_cache =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/socket/ocsp_verifier.rb', 行99

デフォルト Verify_with_cache
  例外処理 行う
    return false 場合 ocsp_uris.空の場合

    resp = OcspCache.得る(cert_id)
    場合 resp
      return return_OCSP_ResponseResponse(resp)
    end

    resp, errors = do_verify

    場合 resp
      OcspCache.セット(cert_id, resp)
    end

    return_OCSP_ResponseResponse(resp, errors)
  end
end