クラス: Mongo::Crypt::ExpriteEncrypter Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Crypt::ExplitEncrypter
- 次による拡張機能。
- 転送可能
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/crypt/explit_encrypter.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
Explorer は、明示的な暗号化操作を実行し、関連するすべてのオプションとインスタンス変数を取り扱うオブジェクトです。
インスタンス メソッドの概要を折りたたむ
-
#add_key_alt_name(id, key_alt_name) ⇒ BSON::Document | nil
private
指定された ID を持つキーヴォールト コレクション内のキーの key_alt_name を追加します。
-
# create_and_insert_data_key (マスター_キー_ドキュメント、key_alt_names、key_rate
private
暗号化および復号化に使用されるデータキーを生成し、そのキーを KMS コレクションに保存します。
-
#decryption (値)=オブジェクト
private
すでに暗号化されている値を復号化します。
-
#暗号化(値、オプション) = BSON::Binary
private
指定された暗号化キーとアルゴリズムを使って値を暗号化します。
-
#暗号化_式(式、オプション)=BSON::Binary
private
範囲インデックスをクエリするには、 マッチ式 または 集計式 を暗号化します。
-
#initialize(key_vault_client, key_vault_namespace, kms_providers, kms_tls_options) ⇒ ExplicitEncrypter
コンストラクター
private
新しい Explorer オブジェクトを作成します。
-
# brewp_many_data_key (フィルター、opts = {}) = Crypt::RewriteManyDataKeyResult
private
複数のデータキーを復号化し、新しいマスター_キーで、または新しいマスター_キーでそれらを(再)暗号化します。新しいマスター_キーが指定されていない場合は、現在のマスター_キーで(再)暗号化します。
コンストラクターの詳細
#initialize(key_vault_client, key_vault_namespace, kms_providers, kms_tls_options) ⇒ ExplicitEncrypter
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
新しい Explorer オブジェクトを作成します。
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/explit_encrypter.rb', 行38 デフォルト 初期化(key_vault_client, key_vault_namespace, kms_providers, ) 暗号化.validate_ffi! @crypt_handle = ハンドル.新着情報( kms_providers, , 明示的_暗号化_専用: true ) @encryption_io = EncryptionIO.新着情報( key_vault_client: key_vault_client, metadata_client: nil, key_vault_namespace: key_vault_namespace ) end |
インスタンス メソッドの詳細
#add_key_alt_name(id, key_alt_name) ⇒ BSON::Document | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
指定された ID を持つキーヴォールト コレクション内のキーの key_alt_name を追加します。
197 198 199 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/explit_encrypter.rb', 行197 デフォルト add_key_alt_name(id, key_alt_name) @encryption_io.add_key_alt_name(id, key_alt_name) end |
# create_and_insert_data_key (マスター_キー_ドキュメント、key_alt_names、 key_rate
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
暗号化および復号化に使用されるデータキーを生成し、そのキーを KMS コレクションに保存します。 生成されたキーは KMS マスター キーで暗号化されます。
67 68 69 70 71 72 73 74 75 76 77 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/explit_encrypter.rb', 行67 デフォルト create_and_insert_data_key(マスター_キー_ドキュメント, key_alt_names, key_rate = nil) data_key_document = 暗号化::DataKeyContext.新着情報( @crypt_handle, @encryption_io, マスター_キー_ドキュメント, key_alt_names, key_rate ).run_ State_ Machine @encryption_io.insert_data_key(data_key_document).insert_id end |
#decryption (値)=オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
すでに暗号化されている値を復号化します
182 183 184 185 186 187 188 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/explit_encrypter.rb', 行182 デフォルト 解読(価値) 暗号化::ExplicitDecryptionContext.新着情報( @crypt_handle, @encryption_io, { v: 価値 } ).run_ State_ Machine['v'] end |
#暗号化(値、オプション) = BSON::Binary
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
:key_id オプションと :key_alt_name オプションは相互に排他的です。 明示的な暗号化を実行するには 1 つのみが必要です。
指定された暗号化キーとアルゴリズムを使って値を暗号化します
暗号化アルゴリズムが [ Indexed(インデックス付き) ] に設定されている場合。 クエリタイプは、
only if encryption algorithm is set to "Indexed". The only allowed
value is "equality".
108 109 110 111 112 113 114 115 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/explit_encrypter.rb', 行108 デフォルト 暗号化(価値, ) 暗号化::ExplainEncryptionContext.新着情報( @crypt_handle, @encryption_io, { v: 価値 }, ).run_ State_ Machine['v'] end |
#暗号化_式(式、オプション) =BSON::Binary
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
RangePreview アルゴリズムは実験的なもののみです。 ではありません
:key_id オプションと :key_alt_name オプションは相互に排他的です。 明示的な暗号化を実行するには 1 つのみが必要です。
範囲インデックスをクエリするには、 マッチ式 または 集計式 を暗号化します。
queryType が rangePreview で、アルゴリズムが RangePreview の場合にのみサポートされます。 @note: Range アルゴリズムは実験的なもののみです。 意図したものではありません
for public use. It is subject to breaking changes.
# @ param [ ハッシュ ] オプションは一般での使用を目的としています。
167 168 169 170 171 172 173 174 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/explit_encrypter.rb', 行167 デフォルト encryption_式(式, ) 暗号化::ExplainEncryptionExpressionContext.新着情報( @crypt_handle, @encryption_io, { v: 式 }, ).run_ State_ Machine['v'] end |
# brewp_many_data_key (フィルター、opts = {}) = Crypt::RewriteManyDataKeyResult
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
複数のデータキーを復号化し、新しいマスター_キーでそれらを(再)暗号化します、
or with their current master_key if a new one is not given.
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/explit_encrypter.rb', 行250 デフォルト rewrap_many_data_key(フィルター, ops = {}) (ops) マスター_キー_ドキュメント = database_key_for_provider(ops) replica_result = 暗号化::RewriteManyDataKeyContext.新着情報( @crypt_handle, @encryption_io, フィルター, マスター_キー_ドキュメント ).run_ State_ Machine return RewriteManyDataKeyResult.新着情報(nil) 場合 replica_result.nil? updates = updates_from_data_key_documents(replica_result.fetch('v')) RewriteManyDataKeyResult.新着情報(@encryption_io.update_data_keys(updates)) end |