クラス: Mongo::Crypt::Binding Private

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
FFI:: ライブラリ
定義:
lib/mongo/crypt/bining.rb

Overview

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

libmongocrypt C ライブラリの Ruby バインディング

定数の概要の削減

MIN_LIBMONGOCRYPT_VERSION =

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

このバージョンのドライバーに必要な libmongocrypt の最小バージョン。libmongocrypt の以前のバージョンでドライバーを使用しようとすると、LoadError が発生します。

Gem::バージョン.新着情報('1.12.0')

クラスメソッドの概要を折りたたむ

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

クラスメソッドの詳細

.check_ctx_status(context) ⇒ nil

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

基礎となる mongocrypt_ctx_t オブジェクトのステータスに基づいて、 Mongo::Error::CryptError を発生させます。

次の値を返します。

  • (nil)

    常に nil です。



1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
# ファイル 'lib/mongo/crypt/bining.rb' 行 1815

デフォルト 自己.checkpoint_ctx_status(context)
  do_ Ops Manager = 場合 ブロック_指定
               !ノードの数
             else
               true
             end

  return ただし、 do_ Ops Manager

  状態 = ステータス.新着情報

  mongocrypt_ctx_status(context.ctx_p, 状態.参照)
  状態.resume_crypt_error
end

checkpoint_ kms_ctx_status ( kms_context) =オブジェクト

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

提供されたブロックが false を返す場合は、提供された KmsContext オブジェクトからのステータス情報を使用して CritError を発生させます。

パラメーター:

次の値が発生します。



1105
1106
1107
1108
1109
1110
1111
1112
# ファイル 'lib/mongo/crypt/bining.rb' 行 1105

デフォルト 自己.check_kms_ctx_status(kms_context)
  return 場合 ノードの数

  状態 = ステータス.新着情報

  mongocrypt_ kms_ctx_status(kms_context.kms_ctx_p, 状態.参照)
  状態.resume_crypt_error(KMS : true)
end

checkpoint_status (handle) = nil

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

基礎となる mongocrypt_t オブジェクトのステータスに基づいて、 Mongo::Error::CryptError を発生させます。

次の値を返します。

  • (nil)

    常に nil です。



1802
1803
1804
1805
1806
1807
1808
1809
# ファイル 'lib/mongo/crypt/bining.rb' 行 1802

デフォルト 自己.check_status(ハンドル)
  return 場合 ノードの数

  状態 = ステータス.新着情報

  mongocrypt_status(ハンドル.参照, 状態.参照)
  状態.resume_crypt_error
end

crypt_shared_lib_version (handle) =整数

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

ロードされた crypt_shared ライブラリのバージョンをエンコードする64ビットの定数を取得します(使用可能な場合)。

バージョンは、高いものから低いものの順に、4つの16ビットの数値としてエンコードされます。

  • メジャー バージョン
  • マイナー バージョン
  • 改訂
  • reserved

例、バージョン 6.2.1 は次のようにエンコードされます: 0x0006'0002'0001'0000

パラメーター:

次の値を返します。

  • (整数)

    バージョンは 46 ビット整数としてエンコードされる64ビットのエンコードバージョン番号。crypt_shared ライブラリがロードされていない場合は 0 になります。



1608
1609
1610
# ファイル 'lib/mongo/crypt/bining.rb' 行 1608

デフォルト 自己.crypt_shared_lib_version(ハンドル)
  mongocrypt_crypt_shared_lib_version(ハンドル.参照)
end

cx_datakey_init (コンテキスト)=オブジェクト

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

Context を初期化してデータキーを作成する

パラメーター:

次の値が発生します。



623
624
625
626
627
# ファイル 'lib/mongo/crypt/bining.rb' 行 623

デフォルト 自己.ctx_datakey_init(context)
  checkpoint_ctx_status(context) 行う
    mongocrypt_ctx_datakey_init(context.ctx_p)
  end
end

cx_decrypt_init (コンテキスト、コマンド)=オブジェクト

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

自動復号化のためのコンテキストを初期化する

パラメーター:

  • context Mongo::Crypt::Context
  • コマンド BSON::Document

    解読する BSON ドキュメント

次の値が発生します。



784
785
786
787
788
789
790
791
792
# ファイル 'lib/mongo/crypt/bining.rb' 行 784

デフォルト 自己.cx_decrypt_init(context, コマンド)
  validate_document(コマンド)
  データ = コマンド.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_decrypt_init(context.ctx_p, data_p)
    end
  end
end

cx_encrypt_init (context、db_name、コマンド)=オブジェクト

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

自動暗号化のコンテキストを初期化する

パラメーター:

  • context Mongo::Crypt::Context
  • db_name ( string )

    暗号化されたコマンドが実行されるデータベースの名前

  • コマンド ハッシュ

    暗号化するコマンド

次の値が発生します。



690
691
692
693
694
695
696
697
698
# ファイル 'lib/mongo/crypt/bining.rb' 行 690

デフォルト 自己.cx_encrypt_init(context, db_name, コマンド)
  validate_document(コマンド)
  データ = コマンド.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_encrypt_init(context.ctx_p, db_name, -1, data_p)
    end
  end
end

.ctx_explicit_decrypt_init(context, doc) ⇒ Object

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

明示的な復号化のためにコンテキストを初期化する

パラメーター:

次の値が発生します。



814
815
816
817
818
819
820
821
822
# ファイル 'lib/mongo/crypt/bining.rb' 行 814

デフォルト 自己.ctx_explicit_decrypt_init(context, doc)
  validate_document(doc)
  データ = doc.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_explit_decrypt_init(context.ctx_p, data_p)
    end
  end
end

.ctx_explicit_encrypt_expression_init(context, doc) ⇒ Object

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

明示的な式の暗号化のためにコンテキストを初期化します。

パラメーター:

  • context Mongo::Crypt::Context
  • doc ハッシュ

    暗号化する BSON ドキュメント

次の値が発生します。



758
759
760
761
762
763
764
765
766
# ファイル 'lib/mongo/crypt/bining.rb' 行 758

デフォルト 自己.ctx_explicit_encrypt_expression_init(context, doc)
  validate_document(doc)
  データ = doc.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_explit_encrypt_ Expression_init(context.ctx_p, data_p)
    end
  end
end

.ctx_explicit_encrypt_init(context, doc) ⇒ Object

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

明示的な暗号化のコンテキストを初期化する

パラメーター:

  • context Mongo::Crypt::Context
  • doc ハッシュ

    暗号化する BSON ドキュメント

次の値が発生します。



724
725
726
727
728
729
730
731
732
# ファイル 'lib/mongo/crypt/bining.rb' 行 724

デフォルト 自己.ctx_explicit_encrypt_init(context, doc)
  validate_document(doc)
  データ = doc.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_explit_encrypt_init(context.ctx_p, data_p)
    end
  end
end

cx_ finalize (コンテキスト)=オブジェクト

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

コンテキストが表すステートマシンを終了する

パラメーター:

次の値が発生します。



1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
# ファイル 'lib/mongo/crypt/bining.rb' 行 1206

デフォルト 自己.cx_ finalize(context)
  バイナリ = バイナリ.新着情報

  checkpoint_ctx_status(context) 行う
    mongocrypt_ctx_ finalize(context.ctx_p, バイナリ.参照)
  end

  TODO: バイナリがCポインターを参照し、バイトバッファが
  MRI の C に書き込まれた#は、次のようにすることでデータのコピーを省略できます:
  バイトバッファは libmongocrypt が所有する string を参照します。
  BSON::ドキュメント.from_bson(BSON::Byteバッファ.新着情報(バイナリ.to_s), モード: context.bson_mode)
end

.ctx_kms_done(context) ⇒ Object

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

libmongocrypt がこれ以上の KMS 応答を受信しないことを示します。

パラメーター:

次の値が発生します。



1183
1184
1185
1186
1187
# ファイル 'lib/mongo/crypt/bining.rb' 行 1183

デフォルト 自己.ctx_kms_done(context)
  checkpoint_ctx_status(context) 行う
    mongocrypt_ctx_ kms_done(context.ctx_p)
  end
end

cx_mongo_feed (context、doc)=オブジェクト

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

ドライバーからの応答をlibmongocryptに渡す

パラメーター:

次の値が発生します。



895
896
897
898
899
900
901
902
903
# ファイル 'lib/mongo/crypt/bining.rb' 行 895

デフォルト 自己.cx_mongo_feed(context, doc)
  validate_document(doc)
  データ = doc.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_mongo_feed(context.ctx_p, data_p)
    end
  end
end

.ctx_mongo_op(context) ⇒ BSON::Document

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

暗号化/復号化を続行するために必要な情報を取得するためにドライバーが libmongocrypt に代わって実行する必要がある操作を表す BSON::Document を返します(たとえば、キーヴォールトクエリのフィルター)。

パラメーター:

次の値を返します。

  • BSON::Document

    ドライバーが実行する必要がある操作

次の値が発生します。

  • Mongo::Crypt

    操作の取得エラーが発生した場合



866
867
868
869
870
871
872
873
874
875
876
877
# ファイル 'lib/mongo/crypt/bining.rb' 行 866

デフォルト 自己.cx_mongo_op(context)
  バイナリ = バイナリ.新着情報

  checkpoint_ctx_status(context) 行う
    mongocrypt_ctx_mongo_op(context.ctx_p, バイナリ.参照)
  end

  TODO: バイナリがCポインターを参照し、バイトバッファが
  MRI の C に書き込まれた#は、次のようにすることでデータのコピーを省略できます:
  バイトバッファは libmongocrypt が所有する string を参照します。
  BSON::ドキュメント.from_bson(BSON::Byteバッファ.新着情報(バイナリ.to_s), モード: :bson)
end

.ctx_next_kms_ctx(context) ⇒ Mongo::Crypt::KmsContext | nil

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

Context オブジェクトに必要な新しい KmsContext オブジェクトを返します。

パラメーター:

次の値を返します。

  • (Mongo::Crypt::KmsContext | nil)

    KmsContext が必要ない場合は、 Amazon Web Servicesのマスターキーまたは nil を取得するために必要な KmsContext



927
928
929
930
931
932
933
934
935
# ファイル 'lib/mongo/crypt/bining.rb' 行 927

デフォルト 自己.ctx_next_kms_ctx(context)
  kms_ctx_p = mongocrypt_ctx_next_kms_ctx(context.ctx_p)

  場合 kms_ctx_p.null?
    nil
  else
    KmsContext.新着情報(kms_ctx_p)
  end
end

cx_provide_ kms_providers (コンテキスト、 kms_providers) =オブジェクト

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

MONGOCRYPT_CTX_Atlas 状態に応答して を呼び出し、コンテキストごとの KMS プロバイダー設定を設定します。これらは `mongocrypt_setup_ kms_providers`` と同じ形式に従います。BSON入力にキーが存在しない場合は、初期化時に mongocrypt_t に対して構成された KMS プロバイダー設定が使用されます。

パラメーター:

  • context Mongo::Crypt::Context

    暗号化コンテキスト。

  • kms_providers BSON::Document

    KMS プロバイダー名を認証情報にマッピングする BSON ドキュメント。

次の値が発生します。



1681
1682
1683
1684
1685
1686
1687
1688
1689
# ファイル 'lib/mongo/crypt/bining.rb' 行 1681

デフォルト 自己.cx_provide_ kms_providers(context, kms_providers)
  validate_document(kms_providers)
  データ = kms_providers.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_provide_ kms_providers(context.ctx_p, data_p)
    end
  end
end

cx_rawap_many_datakey_init (コンテキスト、フィルター)=ブール値

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

データキーをリラップするには、コンテキストを初期化します。

パラメーター:

  • context Mongo::Crypt::Context
  • フィルター BSON::Document

    リラップするデータキーを検索するためにキーヴォールト コレクションの find コマンドに使用するフィルターを表す BSON ドキュメント 。

次の値を返します。

  • ブール値

    初期化が成功したかどうか。



654
655
656
657
658
659
660
661
# ファイル 'lib/mongo/crypt/bining.rb' 行 654

デフォルト 自己.ctx_rewrap_many_datakey_init(context, フィルター)
  [filter_data] = フィルター.to_bson.to_s
  バイナリ.wrap_string([filter_data]) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_rewrap_many_datakey_init(context.ctx_p, data_p)
    end
  end
end

cx_set_algorithm (コンテキスト、名前)=オブジェクト

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

コンテキストにアルゴリズムを設定する

パラメーター:

  • context Mongo::Crypt::Context
  • name ( string )

    The algorithm name. 有効な値は以下のとおりです。

    • "AEAD_AES_256_CBC_HMAC_SHA_512-Demitter"
    • "AEAD_AES_256_CBC_HMAC_SHA_512-ランダム"

次の値が発生します。



567
568
569
570
571
# ファイル 'lib/mongo/crypt/bining.rb' 行 567

デフォルト 自己.cx_set_algorithm(context, name)
  checkpoint_ctx_status(context) 行う
    mongocrypt_ctx_set_algorithm(context.ctx_p, name, -1)
  end
end

cx_setup_algorithm_range (コンテキスト、opts) =オブジェクト

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

注:

Rangeアルゴリズムは実験的なもののみです。 対象ではありません

「範囲」アルゴリズムを使用して明示的な暗号化のオプションを設定します。

パブリックで使用します。

パラメーター:

次の値が発生します。



1788
1789
1790
1791
1792
1793
1794
1795
1796
# ファイル 'lib/mongo/crypt/bining.rb' 行 1788

デフォルト 自己.ctx_setopt_algorithm_range(context, ops)
  validate_document(ops)
  データ = ops.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_set_algorithm_range(context.ctx_p, data_p)
    end
  end
end

cx_set_contention_factor (コンテキスト、係数)=オブジェクト

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

明示的な暗号化に使用される競合係数を設定します。 競合係数は、インデックス付きの FLE 2暗号化にのみ使用されます。

パラメーター:

  • context Mongo::Crypt::Context

    明示的な暗号化コンテキスト。

  • 係数 (整数)

    明示的な暗号化に使用されるコンテンツ係数。

次の値が発生します。



1751
1752
1753
1754
1755
# ファイル 'lib/mongo/crypt/bining.rb' 行 1751

デフォルト 自己.cx_set_contention_factor(context, 係数)
  checkpoint_ctx_status(context) 行う
    mongocrypt_ctx_set_contention_factor(context.ctx_p, 係数)
  end
end

cx_set_key_alt_names (コンテキスト、key_alt_names)=オブジェクト

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

データキーの作成時に複数の代替キー名を設定する

パラメーター:

  • context Mongo::Crypt::Context

    DataKeyContext

  • key_alt_names 配列

    文字列としての代替キー名の配列

次の値が発生します。



498
499
500
501
502
503
504
505
506
507
508
# ファイル 'lib/mongo/crypt/bining.rb' 行 498

デフォルト 自己.cx_set_key_alt_names(context, key_alt_names)
  key_alt_names. 行う |key_alt_name|
    key_alt_name_bson = { keyAltName: key_alt_name }.to_bson.to_s

    バイナリ.wrap_string(key_alt_name_bson) 行う |key_alt_name_p|
      checkpoint_ctx_status(context) 行う
        mongocrypt_ctx_set_key_alt_name(context.ctx_p, key_alt_name_p)
      end
    end
  end
end

cx_set_key_encryption_key (コンテキスト、キー_ドキュメント)=オブジェクト

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

データキーを作成するためのキー暗号化キー ドキュメントを設定します。

パラメーター:

  • context Mongo::Crypt::Context
  • key_document BSON::Document

    追加の「プロバイダー」フィールドを持つキー暗号化のキードキュメントを表すBSONドキュメント。

次の値が発生します。



596
597
598
599
600
601
602
603
604
# ファイル 'lib/mongo/crypt/bining.rb' 行 596

デフォルト 自己.cx_set_key_encryption_key(context, key_document)
  validate_document(key_document)
  データ = key_document.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_set_key_encryption_key(context.ctx_p, data_p)
    end
  end
end

.ctx_setopt_key_id(context, key_id) ⇒ Object

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

明示的な暗号化コンテキストにキー ID オプションを設定します。

パラメーター:

  • context Mongo::Crypt::Context

    明示的な暗号化コンテキスト

  • key_id ( string )

    キー ID

次の値が発生します。



465
466
467
468
469
470
471
# ファイル 'lib/mongo/crypt/bining.rb' 行 465

デフォルト 自己.ctx_setopt_key_id(context, key_id)
  バイナリ.wrap_string(key_id) 行う |key_id_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_set_key_id(context.ctx_p, key_id_p)
    end
  end
end

cx_set_key_rate (コンテキスト、key_rate)=オブジェクト

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

データの暗号化に使用するカスタム キーマテリアルを設定します。

パラメーター:

  • context Mongo::Crypt::Context

    DataKeyContext

  • key_rate BSON ::Binary

    カスタムキーマテリアルの96バイト

次の値が発生します。



533
534
535
536
537
538
539
540
# ファイル 'lib/mongo/crypt/bining.rb' 行 533

デフォルト 自己.cx_set_key_rate(context, key_rate)
  データ = { ' keytext ' => key_rate }.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    checkpoint_ctx_status(context) 行う
      mongocrypt_ctx_set_key_rate(context.ctx_p, data_p)
    end
  end
end

cx_set_query_type (context, query_type) =オブジェクト

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

FLE 2明示的暗号化に使用するクエリタイプを設定します。 クエリタイプは、インデックス付きFLE 2暗号化にのみ使用されます。

パラメーター:

  • context Mongo::Crypt::Context

    明示的な暗号化コンテキスト。

  • :mongocrypt_query_type ( string )

    query_type クエリのタイプ。

次の値が発生します。



1719
1720
1721
1722
1723
# ファイル 'lib/mongo/crypt/bining.rb' 行 1719

デフォルト 自己.cx_set_query_type(context, query_type)
  checkpoint_ctx_status(context) 行う
    mongocrypt_ctx_set_query_type(context.ctx_p, query_type, -1)
  end
end

get_binary_data_direct (mongocrypt_binary_t) = オブジェクト

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



179
180
181
# ファイル 'lib/mongo/crypt/bining.rb' 行 179

デフォルト 自己.get_binary_data_direct(mongocrypt_binary_t)
  mongocrypt_binary_t.get_pointer(0)
end

get_binary_en_direct (mongocrypt_binary_t) = オブジェクト

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



183
184
185
# ファイル 'lib/mongo/crypt/bining.rb' 行 183

デフォルト 自己.get_binary_en_direct(mongocrypt_binary_t)
  mongocrypt_binary_t.get_uint32(FFI::NativeType::POINTER.サイズ)
end

初期化(handle)=オブジェクト

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

Mongo::Crypt::Handle オブジェクトを初期化

パラメーター:

次の値が発生します。



405
406
407
408
409
# ファイル 'lib/mongo/crypt/bining.rb' 行 405

デフォルト 自己.init(ハンドル)
  check_status(ハンドル) 行う
    mongocrypt_init(ハンドル.参照)
  end
end

kms_ctx_bytes_needed ( kms_context) =整数

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

KmsContext に必要なバイト数を取得します。

パラメーター:

次の値を返します。

  • (整数)

    必要なバイト数



1061
1062
1063
# ファイル 'lib/mongo/crypt/bining.rb' 行 1061

デフォルト 自己.kms_ctx_bytes_needed(kms_context)
  mongocrypt_ kms_ctx_bytes_needed(kms_context.kms_ctx_p)
end

.kms_ctx_endpoint(kms_context) ⇒ String | nil

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

TLS 経由で接続し、 Amazon Web Servicesのマスターキーに関する情報を取得するホスト名を取得します。

パラメーター:

次の値を返します。

  • ( string | nil )

    ホスト名、または存在しない場合は nil

次の値が発生します。



1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
# ファイル 'lib/mongo/crypt/bining.rb' 行 1037

デフォルト 自己.kms_ctx_endpoint(kms_context)
  ptr = FFI::MemoryPointer.新着情報(:pointer, 1)

  check_kms_ctx_status(kms_context) 行う
    mongocrypt_ kms_ctx_endpoint(kms_context.kms_ctx_p, ptr)
  end

  str_ptr = ptr.read_pointer
  str_ptr.null? ? nil : str_ptr.read_string.force_encoding('UTF-8')
end

kms_ctx_fail ( kms_context) = true 、false

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

KMS コンテキストの最後に失敗したリクエストを再試行できるかどうかを確認します。

パラメーター:

次の値を返します。

  • truefalse

    失敗したリクエストを再試行できるかどうか。



1146
1147
1148
# ファイル 'lib/mongo/crypt/bining.rb' 行 1146

デフォルト 自己.kms_ctx_fail(kms_context)
  mongocrypt_ kms_ctx_fail(kms_context.kms_ctx_p)
end

kms_ctx_feedkms_context , バイト)==============================

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

フィードは KMS から libmongocrypt に戻ります。

パラメーター:

次の値が発生します。



1081
1082
1083
1084
1085
1086
1087
# ファイル 'lib/mongo/crypt/bining.rb' 行 1081

デフォルト 自己.kms_ctx_feed(kms_context, バイト)
  check_kms_ctx_status(kms_context) 行う
    バイナリ.wrap_string(バイト) 行う |bytes_p|
      mongocrypt_ kms_ctx_feed(kms_context.kms_ctx_p, bytes_p)
    end
  end
end

kms_ctx_get_ kms_provider ( kms_context) =オブジェクト

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

この KMS リクエストに関連付けられている KMS プロバイダー識別子を取得します。

これは、KMS リクエストに基づいて TLS 接続を条件付きで構成するために使用されます。 これは、クライアント証明書を使用して認証する KMIP に役立ちます。

パラメーター:

  • KMS FFI ::Pointer

    ポインター mongocrypt_ kms_ctx_t オブジェクト。



968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
# ファイル 'lib/mongo/crypt/bining.rb' 行 968

デフォルト 自己.kms_ctx_get_ kms_provider(kms_context)
  len_ptr = FFI::MemoryPointer.新着情報(:uint32, 1)
  プロバイダー = mongocrypt_ kms_ctx_get_ kms_provider(
    kms_context.kms_ctx_p,
    len_ptr
  )
  場合 len_ptr.nil?
    nil
  else
    len = 場合 BSON::environment.jruby?
            #JRuby FFI の実装には `read(type)` メソッドはありませんが、
            この `get_uint 32 ` が含まれています。
            len_ptr.get_uint32
          else
            #MRI には、文書化された `read` メソッドを使用します - https://www.rubydoc.info/github/ffi/ffi/FFI% 2 FPointer:read
            len_ptr.読み取り(:uint32)
          end
    プロバイダー.read_string(len).to_sym
  end
end

.kms_ctx_message(kms_context) ⇒ String

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

KmsContext オブジェクトから マスター HTTPキーを取得するために必要な メッセージを取得します。Amazon Web ServicesKMS

パラメーター:

次の値を返します。

  • ( string )

    The HTTP message

次の値が発生します。



1008
1009
1010
1011
1012
1013
1014
1015
1016
# ファイル 'lib/mongo/crypt/bining.rb' 行 1008

デフォルト 自己.kms_ctx_message(kms_context)
  バイナリ = バイナリ.新着情報

  check_kms_ctx_status(kms_context) 行う
    mongocrypt_ kms_ctx_message(kms_context.kms_ctx_p, バイナリ.参照)
  end

  バイナリ.to_s
end

.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale

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

KMS 再試行動作を有効または無効にします。

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • 価値 truefalse

    操作を再試行するかどうか。

次の値を返します。

  • (true, fale)

    オプションが設定された場合は true 、それ以外の場合は false です。



1165
1166
1167
# ファイル 'lib/mongo/crypt/bining.rb' 行 1165

デフォルト 自己.kms_ctx_setopt_retry_kms(ハンドル, 価値)
  mongocrypt_set_retry_ kms(ハンドル.参照, 価値)
end

.kms_ctx_usleep(kms_context) ⇒ Integer

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

指定された KMS コンテキストの KMSリクエストを送信する前に休止するミリ秒数を返します。

パラメーター:

次の値を返します。

  • (整数)

    休止するための 64 ビットのエンコードされたマイクロ秒数。



1129
1130
1131
# ファイル 'lib/mongo/crypt/bining.rb' 行 1129

デフォルト 自己.kms_ctx_usleep(kms_context)
  mongocrypt_kms_ctx_usleep(kms_context.kms_ctx_p)
end

mongocrypt_binary_data (バイナリ) → FFI::Pointer

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

mongocrypt_binary_t の基礎となるデータへのポインターを取得します。

パラメーター:

  • バイナリ FFI ::Pointer

    mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • FFI ::Pointer

    データ配列へのポインター。



169
# ファイル 'lib/mongo/crypt/bining.rb' 行 169

accumulate_function :mongocrypt_binary_data, [ :pointer ], :pointer

mongocrypt_binary_detry (バイナリ)= nil

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

mongocrypt_binary_t オブジェクトを破棄します。

パラメーター:

  • バイナリ FFI ::Pointer

    mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • (nil)

    常に nil です。



193
# ファイル 'lib/mongo/crypt/bining.rb' 行 193

accumulate_function :mongocrypt_binary_detry, [ :pointer ], :void

mongocrypt_binary_en (バイナリ) =整数

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

基礎となるデータ配列の長さを取得します。

パラメーター:

  • バイナリ FFI ::Pointer

    mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • (整数)

    データ配列の長さ。



177
# ファイル 'lib/mongo/crypt/bining.rb' 行 177

accumulate_function :mongocrypt_binary_en, [ :pointer ], :int

mongocrypt_binary_newFFI::Pointer

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

新しい mongocrypt_binary_t オブジェクト(バイト配列の非所有のビュー)を作成します。

次の値を返します。

  • FFI ::Pointer

    新しく作成された mongocrypt_binary_t オブジェクトへのポインター。



145
# ファイル 'lib/mongo/crypt/bining.rb' 行 145

accumulate_function :mongocrypt_binary_new, [], :pointer

mongocrypt_binary_new_from_data (data, lan) = FFI::Pointer

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

指定されたバイト配列へのポインターを保持する新しい mongocrypt_binary_t オブジェクトを作成します。

パラメーター:

  • データ FFI ::Pointer

    バイトの配列へのポインター。データはコピーされず、 mongocrypt_binary_t オブジェクトよりも優先されます。

  • len (整数)

    配列引数の長さ。

次の値を返します。

  • FFI ::Pointer

    新しく作成された mongocrypt_binary_t オブジェクトへのポインター。



157
158
159
160
161
# ファイル 'lib/mongo/crypt/bining.rb' 行 157

accumulate_function(
  :mongocrypt_binary_new_from_data,
  %i[ポインター 整数],
  :pointer
)

mongocrypt_crypt_shared_lib_version (crypt) =オブジェクト

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



1586
1587
1588
1589
1590
# ファイル 'lib/mongo/crypt/bining.rb' 行 1586

accumulate_function(
  :mongocrypt_crypt_shared_lib_version,
  [ :pointer ],
  :uint64
)

mongocrypt_ctx_datakey_init (ctx、フィルター)=オブジェクト

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



616
# ファイル 'lib/mongo/crypt/bining.rb' 行 616

accumulate_function :mongocrypt_ctx_datakey_init, [ :pointer ], :bool

.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean

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

自動復号化用にctxを初期化します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • doc FFI ::Pointer

    BSON バイナリ string として復号化するドキュメントを参照する mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    初期化が成功したかどうか。



776
# ファイル 'lib/mongo/crypt/bining.rb' 行 776

accumulate_function :mongocrypt_ctx_decrypt_init, %i[ポインター ポインター], :bool

mongocrypt_ctx_detry (ctx) = nil

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

mongocrypt_ctx_t オブジェクトへの参照を破棄します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

次の値を返します。

  • (nil)

    常に nil です。



1225
# ファイル 'lib/mongo/crypt/bining.rb' 行 1225

accumulate_function :mongocrypt_ctx_detry, [ :pointer ], :void

.mongocrypt_ctx_encrypt_init(ctx, db, db_len, cmd) ⇒ Boolean

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

注:

このメソッドでは、渡されるBSONが : { "v": BSON値を復号化するための BSON 値 }であることが想定されています。

自動暗号化の ctx を初期化します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • db ( string )

    データベース名。

  • db_len (整数)

    データベース名引数の長さ(または null で終了する string の場合は - 1 )。

  • cmd FFI ::Pointer

    データベースコマンド を バイナリstringとして参照する mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    初期化が成功したかどうか。



676
677
678
679
680
# ファイル 'lib/mongo/crypt/bining.rb' 行 676

accumulate_function(
  :mongocrypt_ctx_encrypt_init,
  %i[ポインター string 整数 ポインター],
  :bool
)

.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean

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

明示的な復号化のためにctx を初期化します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • msg FFI ::Pointer

    BSON バイナリ string として復号化するメッセージを参照する mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    初期化が成功したかどうか。



802
803
804
805
806
# ファイル 'lib/mongo/crypt/bining.rb' 行 802

accumulate_function(
  :mongocrypt_ctx_explit_decrypt_init,
  %i[ポインター ポインター],
  :bool
)

.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean

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

注:

このメソッドを呼び出す前に、次のメソッドを使用して、key_id、key_alt_name(任意)、および暗号化アルゴリズムを設定します。mongocrypt_ctx_setopt_key_id、mongocrypt_ctx_setkey_alt_name、mongocrypt_ctx_set_algorithm 。

明示的な式の暗号化のために ctx を初期化します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • msg FFI ::Pointer

    暗号化するメッセージをバイナリ string として参照する mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    初期化が成功したかどうか。



712
713
714
715
716
# ファイル 'lib/mongo/crypt/bining.rb' 行 712

accumulate_function(
  :mongocrypt_ctx_explit_encrypt_init,
  %i[ポインター ポインター],
  :bool
)

mongocrypt_ctx_ finalize (ctx, op_bson) =ブール値

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

最後の暗号化または復号化を実行し、BSON ドキュメントを返します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • op_bson FFI ::Pointer

    (アウト パラメーター)最終的に暗号化された BSON ドキュメントへの参照を持つ mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    操作の成功を示すブール値。



1198
# ファイル 'lib/mongo/crypt/bining.rb' 行 1198

accumulate_function :mongocrypt_ctx_ finalize, %i[ポインター ポインター], :void

.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean

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

libmongocrypt に、ドライバーが応答を送信したことを示します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    操作の成功を示すブール値。



911
# ファイル 'lib/mongo/crypt/bining.rb' 行 911

accumulate_function :mongocrypt_ctx_mongo_done, [ :pointer ], :bool

mongocrypt_ctx_mongo_feed (ctx, 応答)=ブール値

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

libmongocrypt に BSON 応答を入力します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • 応答 FFI ::Pointer

    libmongocrypt にフィードする BSON 応答を参照する mongocrypt_binary_t オブジェクト。

次の値を返します。

  • ブール値

    操作の成功を示すブール値。



887
# ファイル 'lib/mongo/crypt/bining.rb' 行 887

accumulate_function :mongocrypt_ctx_mongo_feed, %i[ポインター ポインター], :bool

mongocrypt_ctx_mongo_next_ kms_ctx (ctx) = FFI::Pointer

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

mongocrypt_ kms_ctx_t オブジェクトまたは NULL へのポインターを返します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

次の値を返します。

  • FFI ::Pointer

    mongocrypt_ kms_ctx_t オブジェクトへのポインター。



919
# ファイル 'lib/mongo/crypt/bining.rb' 行 919

accumulate_function :mongocrypt_ctx_next_kms_ctx, [ :pointer ], :pointer

mongocrypt_ctx_mongo_op (ctx, op_bson) =ブール値

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

ドライバーが MongoDB コレクション、キーヴォールトデータベース、または mongocryptd に対して実行する BSON 操作を取得します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • op_bson FFI ::Pointer

    (アウト パラメーター)libmongocrypt によって書き込まれた BSON 操作への参照を持つ mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    操作の成功を示すブール値。



855
# ファイル 'lib/mongo/crypt/bining.rb' 行 855

accumulate_function :mongocrypt_ctx_mongo_op, %i[ポインター ポインター], :bool

mongocrypt_ctx_new (暗号化) → FFI::Pointer

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

新しい mongocrypt_ctx_t オブジェクト( libmongocrypt ステート マシンのラッパー)を作成します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

次の値を返します。

  • FFI ::Pointer

    新しい mongocrypt_ctx_t オブジェクト。



436
# ファイル 'lib/mongo/crypt/bining.rb' 行 436

accumulate_function :mongocrypt_ctx_new, [ :pointer ], :pointer

mongocrypt_ctx_provide_ kms_providers (ctx、 kms_providers)=オブジェクト

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



1664
1665
1666
1667
1668
# ファイル 'lib/mongo/crypt/bining.rb' 行 1664

accumulate_function(
  :mongocrypt_ctx_provide_ kms_viders,
  %i[ポインター ポインター],
  :bool
)

mongocrypt_ctx_set_algorithm (ctx、アルゴリズム、lan) =ブール値

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

注:

このメソッドを呼び出す前に、ctx を初期化しないでください。

明示的な暗号化に使用されるアルゴリズムを設定します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • アルゴリズム ( string )

    The algorithm name. 有効な値は以下のとおりです。

    • "AEAD_AES_256_CBC_HMAC_SHA_512-Demitter"
    • "AEAD_AES_256_CBC_HMAC_SHA_512-ランダム"
  • len (整数)

    アルゴリズムstringの長さ。

次の値を返します。

  • ブール値

    オプションが正常に設定されたかどうか。



553
554
555
556
557
# ファイル 'lib/mongo/crypt/bining.rb' 行 553

accumulate_function(
  :mongocrypt_ctx_setup_algorithm,
  %i[ポインター string 整数],
  :bool
)

mongocrypt_ctx_set_algorithm_range (ctx、opts) =オブジェクト

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



1770
1771
1772
1773
1774
1775
1776
1777
# ファイル 'lib/mongo/crypt/bining.rb' 行 1770

accumulate_function(
  :mongocrypt_ctx_setup_algorithm_range,
  %i[
    ポインター
    ポインター
  ],
  :bool
)

mongocrypt_ctx_set_contention_factor (ctx, MongoDB )=オブジェクト

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



1735
1736
1737
1738
1739
1740
1741
1742
# ファイル 'lib/mongo/crypt/bining.rb' 行 1735

accumulate_function(
  :mongocrypt_ctx_setup_contention_factor,
  %i[
    ポインター
    int 64
  ],
  :bool
)

mongocrypt_ctx_set_key_alt_name (ctx、バイナリ)=ブール値

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

注:

このメソッドを呼び出す前に、ctx を初期化しないでください。

データキーを作成するときは、そのキーに代替名を設定します。明示的な暗号化を実行する場合、 keyAltNameフィールドに基づいて暗号化に使用するデータキーを指定します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • バイナリ FFI ::Pointer

    { "keyAltName": }形式のBSONドキュメントを参照する mongocrypt_binary_tオブジェクトへのポインター。

次の値を返します。

  • ブール値

    別名が正常に設定されたかどうか。



485
486
487
488
489
# ファイル 'lib/mongo/crypt/bining.rb' 行 485

accumulate_function(
  :mongocrypt_ctx_setup_key_alt_name,
  %i[ポインター ポインター],
  :bool
)

mongocrypt_ctx_sett_key_encryption_key (ctx)=ブール値

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

注:

このメソッドを呼び出す前に、ctx を初期化しないでください。

データキーを作成するためのキー暗号化キー ドキュメントを設定します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • bin FFI ::Pointer

    追加の "プロバイダー"フィールドを持つキー暗号化のキードキュメントを表すBSONドキュメントを参照する mongocrypt_binary_tオブジェクトへのポインター。

次の値を返します。

  • ブール値

    オプションが正常に設定されたかどうか。



583
584
585
586
587
# ファイル 'lib/mongo/crypt/bining.rb' 行 583

accumulate_function(
  :mongocrypt_ctx_sett_key_encryption_key,
  %i[ポインター ポインター],
  :bool
)

.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean

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

注:

このメソッドを呼び出す前に、ctx を初期化しないでください。

明示的な暗号化に使用されるキー ID を設定します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • key_id FFI ::Pointer

    16バイトのキー ID を参照する mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    オプションが正常に設定されたかどうか。



457
# ファイル 'lib/mongo/crypt/bining.rb' 行 457

accumulate_function :mongocrypt_ctx_setup_key_id, %i[ポインター ポインター], :bool

mongocrypt_ctx_set_key_rate (ctx、バイナリ)=ブール値

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

注:

このメソッドを呼び出す前に、ctx を初期化しないでください。

データキーの作成時に、データの暗号化に使用するカスタム キーマテリアル を設定します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • バイナリ FFI ::Pointer

    使用するデータ暗号化キーを参照する mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    カスタム キーマテリアルが正常に設定されたかどうか。



520
521
522
523
524
# ファイル 'lib/mongo/crypt/bining.rb' 行 520

accumulate_function(
  :mongocrypt_ctx_setup_key_rate,
  %i[ポインター ポインター],
  :bool
)

mongocrypt_ctx_set_query_type (ctx、mongocrypt_query_type)=オブジェクト

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



1702
1703
1704
1705
1706
1707
1708
1709
1710
# ファイル 'lib/mongo/crypt/bining.rb' 行 1702

accumulate_function(
  :mongocrypt_ctx_set_query_type,
  %i[
    ポインター
    string
    整数
  ],
  :bool
)

mongocrypt_ctx_ State (ctx) =シンボル

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

cstring の現在の状態を取得します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

次の値を返します。

  • シンボル

    現在の状態は、 mongocrypt_ctx_rate 列挙型で定義されている値の 1 つになります。



843
# ファイル 'lib/mongo/crypt/bining.rb' 行 843

accumulate_function :mongocrypt_ctx_ State, [ :pointer ], :mongocrypt_ctx_ State

mongocrypt_ctx_status (ctx,status)=ブール値

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

mongocrypt_ctx_t オブジェクト から mongocrypt_status_t オブジェクトのステータス情報を設定します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

  • 状態 FFI ::Pointer

    mongocrypt_status_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    ステータスが正常に設定されたかどうか。



446
# ファイル 'lib/mongo/crypt/bining.rb' 行 446

accumulate_function :mongocrypt_ctx_status, %i[ポインター ポインター], :bool

mongocrypt_detroy (暗号化) = nil

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

mongocrypt_t オブジェクトの参照を破棄します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

次の値を返します。

  • (nil)

    常に nil です。



427
# ファイル 'lib/mongo/crypt/bining.rb' 行 427

accumulate_function :mongocrypt_detry, [ :pointer ], :void

mongocrypt_init (crypt) =ブール値

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

mongocrypt_t オブジェクトを初期化します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    暗号化が正常に初期化されたかどうかを返します。



398
# ファイル 'lib/mongo/crypt/bining.rb' 行 398

accumulate_function :mongocrypt_init, [ :pointer ], :bool

mongocrypt_ kms_ctx_bytes_needed ( KMS ) =整数

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

KMS コンテキストに必要なバイト数を取得します。

パラメーター:

  • KMS FFI ::Pointer

    mongocrypt_ kms_ctx_t オブジェクト。

次の値を返します。

  • (整数)

    必要なバイト数。



1054
# ファイル 'lib/mongo/crypt/bining.rb' 行 1054

accumulate_function :mongocrypt_ kms_ctx_bytes_needed, [ :pointer ], :int

.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean

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

libmongocrypt が mongocrypt_ kms_ctx_t オブジェクトからの応答をこれ以上受信しないことを示します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    操作が成功したかどうか。



1176
# ファイル 'lib/mongo/crypt/bining.rb' 行 1176

accumulate_function :mongocrypt_ctx_ kms_done, [ :pointer ], :bool

mongocrypt_ kms_ctx_endpoint ( KMS 、 エンドポイント) =ブール値

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

TLS 経由で接続し、 Amazon Web Servicesのマスターキーに関する情報を取得するホスト名を取得します。

パラメーター:

  • KMS FFI ::Pointer

    mongocrypt_ kms_ctx_t オブジェクトへのポインター。

  • エンドポイント FFI ::Pointer

    (アウト パラメーター)libmongocrypt によってエンドポイント string が書き込まれるポインター。

次の値を返します。

  • ブール値

    操作が成功したかどうか。



1027
# ファイル 'lib/mongo/crypt/bining.rb' 行 1027

accumulate_function :mongocrypt_ kms_ctx_endpoint, %i[ポインター ポインター], :bool

.mongocrypt_kms_ctx_fail(ctx) ⇒ Object

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



1140
# ファイル 'lib/mongo/crypt/bining.rb' 行 1140

accumulate_function :mongocrypt_ kms_ctx_fail, [ :pointer ], :bool

mongocrypt_ kms_ctx_feed ( KMS , バイト) =ブール値

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

フィードは KMS から libmongocrypt に戻ります。

パラメーター:

  • KMS FFI ::Pointer

    mongocrypt_ kms_ctx_t オブジェクトへのポインター。

  • バイト FFI ::Pointer

    KMS からの応答を参照する mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    操作が成功したかどうか。



1073
# ファイル 'lib/mongo/crypt/bining.rb' 行 1073

accumulate_function :mongocrypt_ kms_ctx_feed, %i[ポインター ポインター], :bool

mongocrypt_ kms_ctx_get_ kms_provider (暗号化、 kms_providers) =オブジェクト

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



953
954
955
956
957
# ファイル 'lib/mongo/crypt/bining.rb' 行 953

accumulate_function(
  :mongocrypt_ kms_ctx_get_ kms_provider,
  %i[ポインター ポインター],
  :pointer
)

mongocrypt_ kms_ctx_message ( KMS , ミリ秒) =ブール値

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

Amazon Web Services KMSマスターキーを取得するために必要なメッセージを取得します。

パラメーター:

  • KMS FFI ::Pointer

    mongocrypt_ kms_ctx_t オブジェクトへのポインター

  • msg FFI ::Pointer

    (out param) libmongocrypt によって書き込まれたメッセージの場所を持つ mongocrypt_binary_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    操作が成功したかどうか。



998
# ファイル 'lib/mongo/crypt/bining.rb' 行 998

accumulate_function :mongocrypt_ kms_ctx_message, %i[ポインター ポインター], :bool

mongocrypt_ kms_ctx_status ( KMS 、ステータス) =ブール値

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

mongocrypt_ kms_ctx_t オブジェクトのステータス情報を mongocrypt_status_t オブジェクトに書込み (write) ます。

パラメーター:

  • KMS FFI ::Pointer

    mongocrypt_ kms_ctx_t オブジェクトへのポインター。

  • 状態 FFI ::Pointer

    mongocrypt_status_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    操作が成功したかどうか。



1097
# ファイル 'lib/mongo/crypt/bining.rb' 行 1097

accumulate_function :mongocrypt_ kms_ctx_status, %i[ポインター ポインター], :bool

.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64

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

KMSリクエスト を送信する前に休止する時間を示します。

パラメーター:

  • ctx FFI ::Pointer

    mongocrypt_ctx_t オブジェクトへのポインター。

次の値を返します。

  • ( int64 )

    休止時間の 64 ビットでエンコードされたマイクロ秒数。



1121
# ファイル 'lib/mongo/crypt/bining.rb' 行 1121

accumulate_function :mongocrypt_kms_ctx_usleep, [ :pointer ], :int 64

mongocrypt_set_aas_ 256 _ctr (crypt, aes_ 256 _ctr_encrypt, aes_ 256 _ctr_decrypt, ctx) =ブール値

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

AES 256 -CTR 操作の暗号化フックを設定します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

  • aes_enc_fn Proc

    AES-CTR 暗号化方式。

  • aes_dec_fn Proc

    AES-CTR 復号化メソッド。

  • ctx FFI::Pointer | nil

    フックが有効になっているときに設定された可能性があるコンテキスト オブジェクトへの任意のポインター。

次の値を返します。

  • ブール値

    このオプションの設定が成功したかどうか。



1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
# ファイル 'lib/mongo/crypt/bining.rb' 行 1482

accumulate_function(
  :mongocrypt_setopt_aes_256_ctr,
  %i[
    ポインター
    mongocrypt_crypto_fn
    mongocrypt_crypto_fn
    ポインター
  ],
  :bool
)

mongocrypt_set_append_crypt_shared_lib_search_path (暗号化、パス) =======================================

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



1519
1520
1521
1522
1523
1524
1525
1526
# ファイル 'lib/mongo/crypt/bining.rb' 行 1519

accumulate_function(
  :mongocrypt_set_append_crypt_shared_lib_search_path,
  %i[
    ポインター
    string
  ],
  :void
)

mongocrypt_set_bypass_query_analysis (crypt) =オブジェクト

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



1458
# ファイル 'lib/mongo/crypt/bining.rb' 行 1458

accumulate_function(:mongocrypt_set_bypass_query_analysis, [ :pointer ], :void)

mongocrypt_set_crypto_hook_sign_rsas_pkcs 1 _v 1 _ 5 (crypt, Sign_rsads_pkcs 1 _v 1 _ 5 , ctx = nil) =ブール値

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

SHA- 256ハッシュを使用して、RSASA-PKCS 1 -v 1 _ 5アルゴリズムの暗号化フックを設定します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

  • sign_rsaes_pkcs1_v1_5 Proc

    RSA-PKCS 1 -v 1 _ 5署名メソッド。

  • ctx FFI::Pointer | nil (デフォルトはnil

    フックが有効になっているときに設定された可能性があるコンテキスト オブジェクトへの任意のポインター。

次の値を返します。

  • ブール値

    このオプションの設定が成功したかどうか。



1375
1376
1377
1378
1379
1380
1381
1382
1383
# ファイル 'lib/mongo/crypt/bining.rb' 行 1375

accumulate_function(
  :mongocrypt_set_crypto_hook_sign_rsas_pkcs 1 _v 1 _ 5,
  %i[
    ポインター
    mongocrypt_hmac_fn
    ポインター
  ],
  :bool
)

.mongocrypt_setopt_crypto_hooks(crypt, aes_enc_fn, aes_dec_fn, random_fn, sha_512_fn, sha_256_fn, hash_fn, ctx = nil) ⇒ Boolean

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

提供された mongocrypt オブジェクトに暗号化フックを設定します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

  • aes_enc_fn Proc

    AES 暗号化方式。

  • aes_dec_fn Proc

    AES 復号化メソッド。

  • random_fn Proc

    ランダムなメソッド。

  • sha_512_fn Proc

    HMAC SHA- 512メソッド。

  • sha_256_fn Proc

    HMAC SHA- 256メソッド。

  • hash_fn Proc

    SHA- 256ハッシュ メソッド。

  • ctx FFI::Pointer | nil (デフォルトはnil

    フックが有効になっているときに設定された可能性があるコンテキスト オブジェクトへの任意のポインター。

次の値を返します。

  • ブール値

    このオプションの設定が成功したかどうか。



1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
# ファイル 'lib/mongo/crypt/bining.rb' 行 1330

accumulate_function(
  :mongocrypt_set_crypto_hooks,
  %i[
    ポインター
    mongocrypt_crypto_fn
    mongocrypt_crypto_fn
    mongocrypt_random_fn
    mongocrypt_hmac_fn
    mongocrypt_hmac_fn
    mongocrypt_hash_fn
    ポインター
  ],
  :bool
)

mongocrypt_set_encrypted_field_config_map (暗号化、efc_map)=オブジェクト

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



1417
1418
1419
1420
1421
1422
1423
1424
# ファイル 'lib/mongo/crypt/bining.rb' 行 1417

accumulate_function(
  :mongocrypt_set_encrypted_field_config_map,
  %i[
    ポインター
    ポインター
  ],
  :bool
)

mongocrypt_set_ kms_providers (暗号化、 kms_providers) =オブジェクト

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

注:

このメソッドを呼び出す前に、ctx を初期化しないでください。

BSON ドキュメントを使用して KMS プロバイダーを構成します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

  • kms_providers FFI ::Pointer

    KMS プロバイダー名を認証情報にマッピングする BSON ドキュメントを参照する mongocrypt_binary_t オブジェクトへのポインター。



342
343
344
345
346
# ファイル 'lib/mongo/crypt/bining.rb' 行 342

accumulate_function(
  :mongocrypt_set_ kms_providers,
  %i[ポインター ポインター],
  :bool
)

mongocrypt_set_log_handler (crypt, log_fn, log_ctx = nil) =ブール値

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

libmongocrypt がメッセージをログに記録するたびに呼び出されるように mongocrypt_t オブジェクトの ハンドラーを設定します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

  • log_fn メソッド

    ログ記録コールバック メソッド。

  • log_ctx FFI::Pointer | nil (デフォルトはnil

    すべての呼び出しでログ コールバックに渡されるコンテキストへの任意のポインター。

次の値を返します。

  • ブール値

    コールバックの設定が成功したかどうか。



313
314
315
316
317
# ファイル 'lib/mongo/crypt/bining.rb' 行 313

accumulate_function(
  :mongocrypt_set_log_handler,
  %i[ポインター mongocrypt_log_fn_t ポインター],
  :bool
)

mongocrypt_set_retry_ kms(暗号化、有効化) = オブジェクト

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



1158
# ファイル 'lib/mongo/crypt/bining.rb' 行 1158

accumulate_function :mongocrypt_set_retry_ kms, %i[ポインター ブール], :bool

mongocrypt_set_schema_map (暗号化、schema_map)=ブール値

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

暗号化用のローカル スキーマ マップを設定します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

  • schema_map FFI ::Pointer

    mongocrypt_binary_t へのポインター。スキーマ マップを BSON バイナリ string として参照するオブジェクト。

次の値を返します。

  • ブール値

    オプションが正常に設定されたかどうかを返します。



373
# ファイル 'lib/mongo/crypt/bining.rb' 行 373

accumulate_function :mongocrypt_set_schema_map, %i[ポインター ポインター], :bool

mongocrypt_set_set_crypt_shared_lib_path_overwrite (暗号化、パス) ==============================

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



1548
1549
1550
1551
1552
1553
1554
1555
# ファイル 'lib/mongo/crypt/bining.rb' 行 1548

accumulate_function(
  :mongocrypt_set_set_crypt_shared_lib_path_overwrite,
  %i[
    ポインター
    string
  ],
  :void
)

mongocrypt_set_use_need_ kms_credentials_ State (暗号化) =オブジェクト

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



1627
1628
1629
1630
1631
# ファイル 'lib/mongo/crypt/bining.rb' 行 1627

accumulate_function(
  :mongocrypt_set_use_need_ kms_credentials_rate,
  [ :pointer ],
  :void
)

mongocrypt_status (暗号化、ステータス)=ブール値

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

mongocrypt_status_t オブジェクトの mongocrypt_t オブジェクトからのステータス情報を設定します。

パラメーター:

  • 暗号化 FFI ::Pointer

    mongocrypt_t オブジェクトへのポインター。

  • 状態 FFI ::Pointer

    mongocrypt_status_t オブジェクトへのポインター。

次の値を返します。

  • ブール値

    ステータスが正常に設定されたかどうか。



419
# ファイル 'lib/mongo/crypt/bining.rb' 行 419

accumulate_function :mongocrypt_status, %i[ポインター ポインター], :bool

mongocrypt_status_code (ステータス)=整数

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

ステータス エラー コードを返します。

パラメーター:

  • 状態 FFI ::Pointer

    mongocrypt_status_t へのポインター。

次の値を返します。

  • (整数)

    ステータス コード。



241
# ファイル 'lib/mongo/crypt/bining.rb' 行 241

accumulate_function :mongocrypt_status_code, [ :pointer ], :int

mongocrypt_status_detroy (ステータス) = nil

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

mongocrypt_status_t オブジェクトへの参照を破棄します。

パラメーター:

  • 状態 FFI ::Pointer

    mongocrypt_status_t へのポインター。

次の値を返します。

  • (nil)

    常に nil です。



267
# ファイル 'lib/mongo/crypt/bining.rb' 行 267

accumulate_function :mongocrypt_status_detry, [ :pointer ], :void

.mongocrypt_status_message(status, len = nil) ⇒ String

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

ステータス メッセージを返します。

パラメーター:

  • 状態 FFI ::Pointer

    mongocrypt_status_t へのポインター。

  • len FFI::Pointer | nil (デフォルトはnil

    (アウト パラメータ) uint32 への任意のポインター。返される string の長さが書き込まれます。

次の値を返します。

  • ( string )

    ステータス メッセージ。



251
# ファイル 'lib/mongo/crypt/bining.rb' 行 251

accumulate_function :mongocrypt_status_message, %i[ポインター ポインター], :string

mongocrypt_status_newFFI::Pointer

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

新しい mongocrypt_status_t オブジェクトを作成します。

次の値を返します。

  • FFI ::Pointer

    新しい mongocrypt_status_ts へのポインター。



207
# ファイル 'lib/mongo/crypt/bining.rb' 行 207

accumulate_function :mongocrypt_status_new, [], :pointer

mongocrypt_status_ok (status) =ブール値

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

ステータスが OK かエラーかを返します。

パラメーター:

  • 状態 FFI ::Pointer

    mongocrypt_status_t へのポインター。

次の値を返します。

  • ブール値

    ステータスが OK かどうか。



259
# ファイル 'lib/mongo/crypt/bining.rb' 行 259

accumulate_function :mongocrypt_status_ok, [ :pointer ], :bool

mongocrypt_status_set (status、type、コード、メッセージ、lan) = nil

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

既存のステータスにメッセージ、タイプ、コードを設定します。

パラメーター:

  • 状態 FFI ::Pointer

    mongocrypt_status_t へのポインター。

  • タイプ シンボル

    ステータスの種類。可能な値は、status_type 列挙型によって定義されます。

  • コード (整数)

    ステータス コード。

  • メッセージ ( string )

    ステータス メッセージ。

  • len (整数)

    メッセージ引数の長さ(または null で終了する string の場合は - 1 )。

次の値を返します。

  • (nil)

    常に nil です。



221
222
223
224
225
# ファイル 'lib/mongo/crypt/bining.rb' 行 221

accumulate_function(
  :mongocrypt_status_set,
  %i[ポインター status_type 整数 string 整数],
  :void
)

.mongocrypt_status_type(status) ⇒ Symbol

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

ステータスの種類を示します。

パラメーター:

  • 状態 FFI ::Pointer

    mongocrypt_status_t へのポインター。

次の値を返します。

  • シンボル

    ステータスの型(status_type 列挙型によって定義)。



233
# ファイル 'lib/mongo/crypt/bining.rb' 行 233

accumulate_function :mongocrypt_status_type, [ :pointer ], :status_type

mongocrypt_version (ven) = string

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

libmongocrypt ライブラリのバージョン string を返します。

パラメーター:

  • len FFI::Pointer | nil

    (アウト パラメータ)返される string の長さを参照する単位8への任意のポインター。

次の値を返します。

  • ( string )

    libmongocrypt のバージョン string。



93
# ファイル 'lib/mongo/crypt/bining.rb' 行 93

accumulate_function :mongocrypt_version, [ :pointer ], :string

ongocrypt_newFFI::Pointer

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

新しい mongocrypt_t オブジェクトを作成します。

次の値を返します。

  • FFI ::Pointer

    新しい mongocrypt_t オブジェクトへのポインター。



301
# ファイル 'lib/mongo/crypt/bining.rb' 行 301

accumulate_function :mongocrypt_new, [], :pointer

.parse_version(version) ⇒ Gem::Version

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

バージョン番号を表す string が指定された場合、 はそれを Gem::Version オブジェクトに解析します。 これは、いくつかのカスタム解析を実行して、string が Gem::Version でサポートされている形式にない場合を処理します。

パラメーター:

  • バージョン ( string )

    バージョン番号を表す string。

次の値を返します。

  • (Gem::Version)

    のバージョン番号

次の値が発生します。

  • (ArgumentError)

    stringを解析できない場合。



106
107
108
109
110
111
112
113
114
115
116
117
118
119
# ファイル 'lib/mongo/crypt/bining.rb' 行 106

デフォルト 自己.parse_version(バージョン)
  Gem::バージョン.新着情報(バージョン)
ヘルプ ArgumentError
  一致 = バージョン.一致(/\A(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)?(-[A-Za-z+\d]+)?\z/)
  発生 ArgumentError.新着情報("不正なバージョン番号 string #{ version } ") 場合 一致.nil?

  Gem::バージョン.新着情報(
    [
      一致[:major],
      一致[:minor],
      一致[:patch]
    ].join('.')
  )
end

setopt_aas_ 256 _ctr (handle、aes_ctr_encrypt_db、aes_ctr_decrypt_db) =オブジェクト

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

AES 256 -CTR 操作の暗号化フックを設定します。

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • aes_encrypt_cb メソッド

    AES-CTR 暗号化メソッド

  • aes_decrypt_cb メソッド

    AES-CTR 復号化メソッド

次の値が発生します。



1500
1501
1502
1503
1504
1505
# ファイル 'lib/mongo/crypt/bining.rb' 行 1500

デフォルト 自己.setopt_aes_256_ctr(ハンドル, aes_ctr_encrypt_db, aes_ctr_decrypt_cb)
  check_status(ハンドル) 行う
    mongocrypt_setopt_aes_256_ctr(ハンドル.参照,
                                  aes_ctr_encrypt_db, aes_ctr_decrypt_cb, nil)
  end
end

setopt_append_crypt_shared_lib_search_path (ハンドル、パス) ===========================================

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

crypt_shared 動的ライブラリをロードするための検索パスに追加の検索ディレクトリを追加します。

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • path ( string )

    暗号化共有ライブラリの検索パス。



1533
1534
1535
1536
1537
# ファイル 'lib/mongo/crypt/bining.rb' 行 1533

デフォルト 自己.setopt_append_crypt_shared_lib_search_path(ハンドル, path)
  check_status(ハンドル) 行う
    mongocrypt_set_append_crypt_shared_lib_search_path(ハンドル.参照, path)
  end
end

setopt_bypass_query_analysis (handle) =オブジェクト

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

クエリ分析のスキップをオプトインします。

次の場所で選択された場合:

  • csfile 共有ライブラリはロード試行しません。
  • mongocrypt_ctx_t は MONGOCRYPT_CTX_NEED_MARDINGS 状態になることはありません。

パラメーター:



1467
1468
1469
# ファイル 'lib/mongo/crypt/bining.rb' 行 1467

デフォルト 自己.setopt_bypass_query_analysis(ハンドル)
  mongocrypt_set_bypass_query_analysis(ハンドル.参照)
end

setopt_crypto_hook_sign_rsas_pkcs 1 _v 1 _ 5 (handle、r saes_pkcs_signature_db)=オブジェクト

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

RSASS-PKCS 1 -v 1 _ 5アルゴリズムの暗号化フックを SHA- 256ハッシュで設定します。

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • rlas_pkcs_signature_db メソッド

    RSA-PKCS 1 -v 1 _ 5署名メソッド。

次の値が発生します。



1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
# ファイル 'lib/mongo/crypt/bining.rb' 行 1392

デフォルト 自己.setopt_crypto_hook_sign_rsas_pkcs 1 _v 1 _ 5(
  ハンドル,
  rlas_pkcs_signature_db
)
  check_status(ハンドル) 行う
    mongocrypt_sett_crypto_hook_sign_rsas_pkcs 1 _v 1 _ 5(
      ハンドル.参照,
      rlas_pkcs_signature_db,
      nil
    )
  end
end

setopt_crypto_hooks (handle、aes_encrypt_db、aes_decrypt_db、round_db、hmac_sha_ 512 _db、hmac_sha_ 256 _db、hmac_hash_db) =オブジェクト

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

ハンドルに暗号化コールバックを設定する

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • aes_encrypt_cb メソッド

    AES 暗号化メソッド

  • aes_decrypt_cb メソッド

    AES 復号化メソッド

  • random_cb メソッド

    ランダムなバイトの string を返すメソッド

  • hmac_sha_ 512 _db メソッド

    HMAC SHA- 512メソッド

  • hmac_sha_ 256 _db メソッド

    HMAC SHA- 256メソッド

  • hmac_hash_db メソッド

    SHA- 256ハッシュ メソッド

次の値が発生します。



1356
1357
1358
1359
1360
1361
1362
1363
1364
# ファイル 'lib/mongo/crypt/bining.rb' 行 1356

デフォルト 自己.setopt_crypto_hooks(ハンドル,
                             aes_encrypt_cb, aes_decrypt_cb, random_cb,
                             hmac_sha_ 512 _db, hmac_sha_ 256 _db, hmac_hash_db)
  check_status(ハンドル) 行う
    mongocrypt_set_crypto_hooks(ハンドル.参照,
                                   aes_encrypt_cb, aes_decrypt_cb, random_cb,
                                   hmac_sha_ 512 _db, hmac_sha_ 256 _db, hmac_hash_db, nil)
  end
end

setopt_encrypted_field_config_map (handle、efc_map)=オブジェクト

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

暗号化用にローカル EncryptedFieldConfigMap を設定します。

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • efc_map BSON::Document

    ユーザーによって提供された EncryptedFieldConfigMap を表す BSON ドキュメント。 キーはコレクションの名前空間で、値は EncryptedFieldConfigMap ドキュメントです。

次の値が発生します。



1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
# ファイル 'lib/mongo/crypt/bining.rb' 行 1435

デフォルト 自己.setopt_encrypted_field_config_map(ハンドル, efc_map)
  validate_document(efc_map)
  データ = efc_map.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    check_status(ハンドル) 行う
      mongocrypt_set_encrypted_field_config_map(
        ハンドル.参照,
        data_p
      )
    end
  end
end

setopt_ kms_providers (ハンドル、 kms_providers) =オブジェクト

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

Mongo::Crypt::Handle オブジェクトでの KMS プロバイダー オプションの設定

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • kms_providers BSON::Document

    KMS プロバイダー名を認証情報にマッピングする BSON ドキュメント。

次の値が発生します。



355
356
357
358
359
360
361
362
363
# ファイル 'lib/mongo/crypt/bining.rb' 行 355

デフォルト 自己.setopt_ kms_providers(ハンドル, kms_providers)
  validate_document(kms_providers)
  データ = kms_providers.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    check_status(ハンドル) 行う
      mongocrypt_set_ kms_providers(ハンドル.参照, data_p)
    end
  end
end

setopt_log_handler (handle、log_colback)=オブジェクト

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

Mongo::Crypt::Handle オブジェクトにロガーのコールバック関数を設定する

パラメーター:

次の値が発生します。



325
326
327
328
329
# ファイル 'lib/mongo/crypt/bining.rb' 行 325

デフォルト 自己.setopt_log_handler(ハンドル, log_colback)
  check_status(ハンドル) 行う
    mongocrypt_set_log_handler(ハンドル, log_colback, nil)
  end
end

setopt_schema_map (handle、schema_map_doc)=オブジェクト

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

Mongo::Crypt::Handle オブジェクトにスキーマ マップを設定します

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • schema_map_doc BSON::Document

    BSON::Document オブジェクトとしてのスキーマ マップ

次の値が発生します。



382
383
384
385
386
387
388
389
390
# ファイル 'lib/mongo/crypt/bining.rb' 行 382

デフォルト 自己.setopt_schema_map(ハンドル, schema_map_doc)
  validate_document(schema_map_doc)
  データ = schema_map_doc.to_bson.to_s
  バイナリ.wrap_string(データ) 行う |data_p|
    check_status(ハンドル) 行う
      mongocrypt_set_schema_map(ハンドル.参照, data_p)
    end
  end
end

setopt_set_crypt_shared_lib_path_overide (handle, パス) =オブジェクト

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

暗号化共有ライブラリをロードするための単一の上書きパスを設定します。

パラメーター:

  • ハンドル Mongo::Crypt::Handle
  • path ( string )

    共有ライブラリ ファイルを暗号化するためのパス。



1561
1562
1563
1564
1565
# ファイル 'lib/mongo/crypt/bining.rb' 行 1561

デフォルト 自己.setopt_set_crypt_shared_lib_path_override(ハンドル, path)
  check_status(ハンドル) 行う
    mongocrypt_set_set_crypt_shared_lib_path_overwrite(ハンドル.参照, path)
  end
end

setopt_use_need_ kms_credentials_ State (ハンドル) =オブジェクト

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

MONGOCRYPT_CTX_NEED_KMS_CREENTILS 状態の処理をオプトインします。

これが設定されている場合、MONGOCRYPT_CTX_NEED_KMS 状態になる前に、コンテキストは MONGOCRYPT_CTX_NEED_KMS_CREDENTALS 状態になり、mongocrypt_ctx_provide_kms_providers を介して認証情報が提供されるまで待機する可能性があります。

コンテキストは、mongocrypt_setopt_kms_providers の KMS プロバイダーに空のドキュメントが設定されている場合にのみ MONGOCRYPT_CTX_Atlas を入力します。

パラメーター:



1645
1646
1647
# ファイル 'lib/mongo/crypt/bining.rb' 行 1645

デフォルト 自己.setopt_use_need_ kms_credentials_rate(ハンドル)
  mongocrypt_set_use_need_ kms_credentials_rate(ハンドル.参照)
end

.validate_document(data) ⇒ Object

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

注:

すべての BSON::Document インスタンスも ハッシュ インスタンスです

libmongocrypt からのエラーを防ぐために、指定されたデータが BSON に直列化される前に指定されたデータがハッシュであることを確認します

パラメーター:

  • データ オブジェクト

    libmongocrypt に渡すデータ

次の値が発生します。



1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
# ファイル 'lib/mongo/crypt/bining.rb' 行 1838

デフォルト 自己.validate_document(データ)
  return 場合 データ.is_a?(ハッシュ)

  メッセージ = 場合 データ.nil?
              ' nil データを libmongocrypt に渡しようとしました。 ' +
                ' データは ハッシュ である必要があります '
            else
              "無効なデータを libmongocrypt に渡しようとしました: #{データ} " +
                ' データは ハッシュ である必要があります '
            end

  発生 エラー::CryptError.新着情報(メッセージ)
end

.validate_version(lmc_version) ⇒ Object

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

libmongocrypt の提供されたバージョンが有効かどうか、つまり最小必要バージョンよりも大きいかどうかを検証します。 ロードされない場合は、LoadError が発生します。

パラメーター:

  • mc_version ( string )

    libmongocrypt のバージョンを表すstring 。

次の値が発生します。

  • LoadError

    指定されたバージョンが必要な最小バージョンより小さい場合。



129
130
131
132
133
134
# ファイル 'lib/mongo/crypt/bining.rb' 行 129

デフォルト 自己.validate_version(mc_version)
  場合 (actual_version = parse_version(mc_version)) < MIN_LIBMONGOCRYPT_VERSION
    発生 LoadError, " libmongocrypt バージョン#{ MIN_LIBMONGOCRYPT_VERSION }以上が必要です +
                     " が 見つかり まし た 。
  end
end

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

#mongocrypt_crypto_fn(ctx, key, iv, input, output, status) ⇒ Bool

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

注:

これは、 FFI コールバックのメソッド署名を定義します。は、 バインディング クラスのインスタンス メソッドではありません。

AES 暗号化または復号化を実行する関数へのコールバック。

パラメーター:

  • ctx FFI::Pointer | nil

    フックが有効になっているときに設定された可能性があるコンテキスト オブジェクトへの任意のポインター。

  • キー FFI ::Pointer

    32バイトの AES 暗号化キーを参照する mongocrypt_binary_t オブジェクトへのポインター。

  • iv FFI ::Pointer

    16バイトの AES IV を参照する mongocrypt_binary_t オブジェクトへのポインター。

  • 入力 FFI ::Pointer

    暗号化/復号化する値を参照する mongocrypt_binary_t オブジェクトへのポインター。

  • 出力 FFI ::Pointer

    (アウト パラメーター) mongocrypt_binary_t オブジェクトへのポインターは、libmongocrypt によって書き込まれた暗号化/復号化された値への参照を持ちます。

  • 状態 FFI ::Pointer

    暗号化に失敗した場合にエラー メッセージが書き込まれる mongocrypt_status_t オブジェクトへのポインター。

次の値を返します。

  • ブール

    暗号化および復号化が成功したかどうか。



1248
1249
1250
1251
1252
# ファイル 'lib/mongo/crypt/bining.rb' 行 1248

コールバック(
  :mongocrypt_crypto_fn,
  %i[ポインター ポインター ポインター ポインター ポインター ポインター ポインター],
  :bool
)

#mongocrypt_hash_fn(ctx, input, output, status) ⇒ Bool

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

注:

これは、 FFI コールバックのメソッド署名を定義します。は、 バインディング クラスのインスタンス メソッドではありません。

SHA- 256ハッシュ関数のコールバック。

パラメーター:

  • ctx FFI::Pointer | nil

    フックが有効になっているときに設定された可能性があるコンテキスト オブジェクトへの任意のポインター。

  • 入力 FFI ::Pointer

    ハッシュされる値を参照する mongocrypt_binary_t オブジェクトへのポインター。

  • 出力 FFI ::Pointer

    (アウト パラメーター) mongocrypt_binary_t オブジェクトへのポインターは、libmongocrypt によって書き込まれた出力値への参照を持ちます。

  • 状態 FFI ::Pointer

    暗号化に失敗した場合にエラー メッセージが書き込まれる mongocrypt_status_t オブジェクトへのポインター。

次の値を返します。

  • ブール

    ハッシュ化が成功したかどうか。



1296
# ファイル 'lib/mongo/crypt/bining.rb' 行 1296

コールバック :mongocrypt_hash_fn, %i[ポインター ポインター ポインター ポインター], :bool

# mongocrypt_hmac_fn (ctx 、key、入力、出力、ステータス) =ブール

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

注:

これは、 FFI コールバックのメソッド署名を定義します。は、 バインディング クラスのインスタンス メソッドではありません。

HMAC SHA- 512または SHA- 256を実行する関数へのコールバック。

パラメーター:

  • ctx FFI::Pointer | nil

    フックが有効になっているときに設定された可能性があるコンテキスト オブジェクトへの任意のポインター。

  • キー FFI ::Pointer

    32バイトの HMAC SHA 暗号化キーを参照する mongocrypt_binary_t オブジェクトへのポインター。

  • 入力 FFI ::Pointer

    入力値を参照する mongocrypt_binary_t オブジェクトへのポインター。

  • 出力 FFI ::Pointer

    (アウト パラメーター) mongocrypt_binary_t オブジェクトへのポインターは、libmongocrypt によって書き込まれた出力値への参照を持ちます。

  • 状態 FFI ::Pointer

    暗号化に失敗した場合にエラー メッセージが書き込まれる mongocrypt_status_t オブジェクトへのポインター。

次の値を返します。

  • ブール

    HMAC-SHA が成功したかどうか。



1273
1274
1275
1276
1277
# ファイル 'lib/mongo/crypt/bining.rb' 行 1273

コールバック(
  :mongocrypt_hmac_fn,
  %i[ポインター ポインター ポインター ポインター ポインター],
  :bool
)

# mongocrypt_log_fn_t (レベル、メッセージ、lan、ctx) = nil

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

注:

これは、 FFI コールバックのメソッド署名を定義します。は、 バインディング クラスのインスタンス メソッドではありません。

mongocryptログ関数のコールバック。mongocrypt_setup_log_handler メソッドでカスタムログコールバックを設定する

パラメーター:

  • レベル シンボル

    ログ レベルlog_level 列挙型によって定義される可能な値

  • メッセージ ( string )

    ログ メッセージ

  • len (整数)

    メッセージ パラメータの長さ、または string が null 終了の場合は - 1

  • ctx FFI::Pointer | nil

    このコールバックが設定されたときのコンテキスト オブジェクトへの任意のポインター

次の値を返します。

  • (nil)

    常に nil です。



294
# ファイル 'lib/mongo/crypt/bining.rb' 行 294

コールバック :mongocrypt_log_fn_t, %i[log_level string 整数 ポインター], :void

# mongocrypt_readm_fn (ctx, output, count,status) =ブール

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

注:

これは、 FFI コールバックのメソッド署名を定義します。は、 バインディング クラスのインスタンス メソッドではありません。

暗号化されたランダム関数のコールバック。

パラメーター:

  • ctx FFI::Pointer | nil

    フックが有効になっているときに設定された可能性があるコンテキスト オブジェクトへの任意のポインター。

  • 出力 FFI ::Pointer

    (アウト パラメーター) mongocrypt_binary_t オブジェクトへのポインターは、libmongocrypt によって書き込まれた出力値への参照を持ちます。

  • count (整数)

    返されるランダムなバイト数。

  • 状態 FFI ::Pointer

    暗号化に失敗した場合にエラー メッセージが書き込まれる mongocrypt_status_t オブジェクトへのポインター。

次の値を返します。

  • ブール

    ハッシュ化が成功したかどうか。



1314
# ファイル 'lib/mongo/crypt/bining.rb' 行 1314

コールバック :mongocrypt_random_fn, %i[ポインター ポインター 整数 ポインター], :bool