クラス: Mongo::Crypt::Handle Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Crypt::handle
- 定義:
- lib/mongo/crypt/handle.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
mongocrypt_t オブジェクトをラップする libmongocrypt ライブラリへのハンドル。クライアントはそのオブジェクトにオプションを設定したり、暗号化と復号化などの操作を実行したりできます。
インスタンス属性の概要を折りたたむ
-
#kms_providers → Crypt::KMS::認証情報
readOnly
private
KMS プロバイダーの認証情報。
インスタンス メソッドの概要を折りたたむ
- #crypt_shared_lib_available? = ブール値 private
- #crypt_shared_lib_version =オブジェクト private
-
#initialize(kms_providers, kms_tls_options, options = {}) ⇒ Handle
コンストラクター
private
新しい ハンドル オブジェクトを作成し、オプションで初期化します。
-
# kms_tls_options (プロバイダー) = ハッシュ
private
KMS プロバイダーの TLS オプションを返します。
-
参照: FFI::Pointer
private
基礎となる @mongocrypt オブジェクトへの参照を返します。
コンストラクターの詳細
#initialize(kms_providers, kms_tls_options, options = {}) ⇒ Handle
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
新しいハンドル オブジェクトを作成し、オプションで初期化します
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# ファイル 'lib/mongo/crypt/handle.rb', 行 69 デフォルト 初期化(kms_providers, , = {}) #FFI::AutoPointer はカスタム リリース戦略を使用して自動的に解放 このオブジェクトがスコープを超えるとポインターは 表示されます @mongocrypt = FFI::AutoPointer.新着情報( バインディング.mongocrypt_new, バインディング.メソッド(:mongocrypt_detry) ) バインディング.kms_ctx_setopt_retry_kms(自己, true) @ kms_providers = kms_providers @ kms_tls_options = Max_set_schema_map() @encrypted_fields_map = [:encrypted_fields_map] set_encrypted_fields_map 場合 @encrypted_fields_map @bypass_query_analysis = [:bypass_query_analysis] set_bypass_query_analysis 場合 @bypass_query_analysis @crypt_shared_lib_path = [:crypt_shared_lib_path] @explit_encryption_only = [:explit_encryption_only] @disable_crypt_shared_lib_search = [:disable_crypt_shared_lib_search] 場合 @crypt_shared_lib_path バインディング.setopt_set_crypt_shared_lib_path_override(自己, @crypt_shared_lib_path) elsif !@bypass_query_analysis & & !@explit_encryption_only & & !@disable_crypt_shared_lib_search バインディング.setopt_append_crypt_shared_lib_search_path(自己, '$SYSTEM') end @logger = [:logger] set_logger_callback 場合 @logger set_crypto_hooks バインディング.setopt_ kms_providers(自己, @ kms_providers.to_document) 場合 @ kms_providers.Amazon Web Services&.空の場合 || @ kms_providers.gcp&.空の場合 || @ kms_providers.Azure&.空の場合 バインディング.setopt_use_need_ kms_credentials_rate(自己) end initialize_mongocrypt @crypt_shared_lib_required = !![:crypt_shared_lib_required] return ただし、 @crypt_shared_lib_required & & crypt_shared_lib_version == 0 発生 mongo::エラー::CryptError.新着情報( ' 暗号化共有ライブラリは必要ですが、 libmongocrypt に従ってロードできません ' ) end |
インスタンス属性の詳細
# kms_providers = Ccrypt::KMS::認証情報 (読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
KMS プロバイダーの認証情報を返します。
29 30 31 |
# ファイル 'lib/mongo/crypt/handle.rb', 行 29 デフォルト kms_providers @ kms_providers end |
インスタンス メソッドの詳細
#crypt_shared_lib_available? =ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
139 140 141 |
# ファイル 'lib/mongo/crypt/handle.rb', 行 139 デフォルト crypt_shared_lib_available? crypt_shared_lib_version != 0 end |
#crypt_shared_lib_version =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
135 136 137 |
# ファイル 'lib/mongo/crypt/handle.rb', 行 135 デフォルト crypt_shared_lib_version バインディング.crypt_shared_lib_version(自己) end |
# kms_tls_options (プロバイダー) =ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
KMS プロバイダーの TLS オプションを返します。 TLS オプションが設定されていない場合は、空のハッシュが返されます。
131 132 133 |
# ファイル 'lib/mongo/crypt/handle.rb', 行 131 デフォルト (プロバイダー) @ kms_tls_options.fetch(プロバイダー, {}) end |
参照: FFI::Pointer
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
基礎となる @mongocrypt オブジェクトへの参照を返します
121 122 123 |
# ファイル 'lib/mongo/crypt/handle.rb', 行 121 デフォルト 参照 @mongocrypt end |