클래스: Mongo::Crypt:: 프라이빗바인딩

상속:
객체
  • 객체
모두 표시
확장자:
FFI::Library
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/crypt/Binding.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

libmongocrypt C 라이브러리를 위한 Ruby 바인딩

상수 요약 접기

MIN_LIBMONGOCRYPT_VERSION =

이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이 버전의 운전자 에 필요한 libmongocrypt의 최소 버전입니다. 이전 버전의 libmongocrypt에서 운전자 를 사용하려고 하면 'LoadError'가 발생합니다.

Gem::버전.신규("1.7.0")

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

클래스 메서드 세부 정보

.check_ctx_status(context) ⇒ nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

기본 mongocrypt_ctx_t 객체의 상태에 따라 Mongo::Error::CryptError를 발생시킵니다.

반환합니다:

  • (nil)

    항상 nil입니다.



1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1757

def self.check_ctx_status(컨텍스트)
  만약 block_given?
    do_raise = !yield
  other
    do_raise = true
  end

  만약 do_raise
    상태 = 상태.신규

    mongocrypt_ctx_status(컨텍스트.ctx_p, 상태.ref)
    상태.raise_crypt_error
  end
end

.check_kms_ctx_status(kms_context) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

제공된 차단이 false를 반환하면 제공된 KmsContext 객체의 상태 정보를 사용하여 CryptError를 발생시킵니다.

매개변수:

다음을 발생시킵니다.



1099
1100
1101
1102
1103
1104
1105
1106
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1099

def self.check_kms_ctx_status(kms_context)
  하지 않는 한 yield
    상태 = 상태.신규

    mongocrypt_kms_ctx_status(kms_context.kms_ctx_p, 상태.ref)
    상태.raise_crypt_error(KMS: true)
  end
end

.check_status(처리하다) ⇒ nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

기본 mongocrypt_t 객체 의 상태에 따라 Mongo::Error::CryptError를 발생시킵니다.

반환합니다:

  • (nil)

    항상 nil입니다.



1744
1745
1746
1747
1748
1749
1750
1751
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1744

def self.check_status(처리하다)
  하지 않는 한 yield
    상태 = 상태.신규

    mongocrypt_status(처리하다.ref, 상태.ref)
    상태.raise_crypt_error
  end
end

.crypt_shared_lib_version(처리하다) ⇒ 정수

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

사용 가능한 경우 로드된 crypt_shared 라이브러리의 버전을 인코딩하는 64비트 상수를 가져옵니다.

버전은 높은 것부터 낮은 것까지 4개의 16비트 숫자로 인코딩됩니다.

  • 주요 버전

  • 마이너 버전

  • 수정본

  • 예약됨

예를 예시 6.2.1 버전은 0x0006' 0002' 0001' 0000로 인코딩됩니다.

매개변수:

반환합니다:

  • (정수)

    64비트로 인코딩된 버전 번호로, 4개의 16비트 정수로 인코딩된 버전이거나 crypt_shared 라이브러리가 로드되지 않은 경우 0입니다.



1550
1551
1552
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1550

def self.crypt_shared_lib_version(처리하다)
  mongocrypt_crypt_shared_lib_version(처리하다.ref)
end

.ctx_datakey_init(context) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

컨텍스트를 초기화하여 데이터 키 생성

매개변수:

다음을 발생시킵니다.



617
618
619
620
621
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 617

def self.ctx_datakey_init(컨텍스트)
  check_ctx_status(컨텍스트) do
    mongocrypt_ctx_datakey_init(컨텍스트.ctx_p)
  end
end

.ctx_decrypt_init(컨텍스트, 명령) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

자동 복호화를 위한 컨텍스트 초기화

매개변수:

다음을 발생시킵니다.



778
779
780
781
782
783
784
785
786
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 778

def self.ctx_decrypt_init(컨텍스트, 명령)
  validate_document(명령)
  데이터 = 명령.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_decrypt_init(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_encrypt_init(context, db_name, 명령) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

자동 암호화를 위한 컨텍스트 초기화

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)
  • db_name (string)

    암호화됨 명령이 수행되는 데이터베이스 의 이름

  • 명령 (해시)

    암호화됨 할 명령

다음을 발생시킵니다.



684
685
686
687
688
689
690
691
692
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 684

def self.ctx_encrypt_init(컨텍스트, db_name, 명령)
  validate_document(명령)
  데이터 = 명령.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_encrypt_init(컨텍스트.ctx_p, db_name, -1, data_p)
    end
  end
end

.ctx_explicit_decrypt_init(context, doc) ⇒ Object

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

명시적 암호 해독을 위해 컨텍스트 초기화

매개변수:

다음을 발생시킵니다.



808
809
810
811
812
813
814
815
816
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 808

def self.ctx_explicit_decrypt_init(컨텍스트, doc)
  validate_document(doc)
  데이터 = doc.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_explicit_decrypt_init(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_explicit_encrypt_expression_init(context, doc) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

명시적 표현식 암호화 를 위해 컨텍스트를 초기화합니다.

매개변수:

다음을 발생시킵니다.



752
753
754
755
756
757
758
759
760
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 752

def self.ctx_explicit_encrypt_expression_init(컨텍스트, doc)
  validate_document(doc)
  데이터 = doc.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_explicit_encrypt_expression_init(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_explicit_encrypt_init(context, doc) ⇒ Object

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

명시적 암호화 를 위한 컨텍스트 초기화

매개변수:

다음을 발생시킵니다.



718
719
720
721
722
723
724
725
726
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 718

def self.ctx_explicit_encrypt_init(컨텍스트, doc)
  validate_document(doc)
  데이터 = doc.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_explicit_encrypt_init(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_finalize(context) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

컨텍스트(Context)로 표현되는 상태 머신을 마무리합니다.

매개변수:

다음을 발생시킵니다.



1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1145

def self.ctx_finalize(컨텍스트)
  바이너리 = 바이너리.신규

  check_ctx_status(컨텍스트) do
    mongocrypt_ctx_finalize(컨텍스트.ctx_p, 바이너리.ref)
  end

  바이너리가 C 포인터를 참조하고 ByteBuffer가
  # MRI에서 C로 작성된 경우 다음을 수행하여 데이터 사본을 생략할 수 있습니다.
  # ByteBuffer는 libmongocrypt가 소유한 string 을 참조합니다.
  BSON::문서.from_bson(BSON::ByteBuffer.신규(바이너리.to_s), 모드: :bson)
end

.ctx_kms_done(context) ⇒ Object

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

더 이상 KMS 응답을 받지 않음을 libmongocrypt에 표시합니다.

매개변수:

다음을 발생시킵니다.



1122
1123
1124
1125
1126
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1122

def self.ctx_kms_done(컨텍스트)
  check_ctx_status(컨텍스트) do
    mongocrypt_ctx_kms_done(컨텍스트.ctx_p)
  end
end

.ctx_mongo_피드(context, doc) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

운전자 의 응답을 libmongocrypt에 다시 피드

매개변수:

다음을 발생시킵니다.



889
890
891
892
893
894
895
896
897
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 889

def self.ctx_mongo_피드(컨텍스트, doc)
  validate_document(doc)
  데이터 = doc.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_mongo_피드(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_mongo_op(context) ⇒ BSON::Document

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

운전자 가 암호화/복호화를 계속하기 위해 필요한 정보를 얻기 위해 libmongocrypt를 대신하여 수행해야 하는 작업( 예시 : 키 볼트 쿼리 용 필터하다 )을 나타내는 BSON ::Document를 반환합니다.

매개변수:

반환합니다:

  • (BSON::Document)

    운전자 가 수행해야 하는 작업

다음을 발생시킵니다.

  • (Mongo::Crypt)

    작업을 가져오는 동안 오류가 발생한 경우



860
861
862
863
864
865
866
867
868
869
870
871
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 860

def self.ctx_mongo_op(컨텍스트)
  바이너리 = 바이너리.신규

  check_ctx_status(컨텍스트) do
    mongocrypt_ctx_mongo_op(컨텍스트.ctx_p, 바이너리.ref)
  end

  바이너리가 C 포인터를 참조하고 ByteBuffer가
  # MRI에서 C로 작성된 경우 다음을 수행하여 데이터 사본을 생략할 수 있습니다.
  # ByteBuffer는 libmongocrypt가 소유한 string 을 참조합니다.
  BSON::문서.from_bson(BSON::ByteBuffer.신규(바이너리.to_s), 모드: :bson)
end

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

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

컨텍스트 객체 에 필요한 새 KmsContext 객체 를 반환합니다.

매개변수:

반환합니다:

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

    Amazon Web Services 마스터 키를 가져오는 데 필요한 KmsContext 또는 KmsContext가 필요하지 않은 경우 nil



921
922
923
924
925
926
927
928
929
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 921

def self.ctx_next_kms_ctx(컨텍스트)
  kms_ctx_p = mongocrypt_ctx_next_kms_ctx(컨텍스트.ctx_p)

  만약 kms_ctx_p.null?
    nil
  other
    KmsContext.신규(kms_ctx_p)
  end
end

.ctx_provide_kms_providers(context, kms_providers) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

MongOCRYPT_CTX_NEED_KMS_CREDENTIALS 상태 에 대한 응답으로 호출하여 컨텍스트별 KMS 제공자 설정하다 을 지정합니다. 이는 'mongocrypt_setopt_kms_providers'와 동일한 형식을 따릅니다. BSON 입력에 키가 없는 경우 초기화 시 mongocrypt_t에 대해 구성된 KMS 제공자 설정이 사용됩니다.

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)

    암호화 컨텍스트입니다.

  • kms_providers (BSON::Document)

    KMS 제공자 이름을 자격 증명 에 매핑하는 BSON 문서 입니다.

다음을 발생시킵니다.



1623
1624
1625
1626
1627
1628
1629
1630
1631
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1623

def self.ctx_provide_kms_providers(컨텍스트, kms_providers)
  validate_document(kms_providers)
  데이터 = kms_providers.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_provide_kms_providers(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_rerap_many_datakey_init(context, 필터하다) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

컨텍스트를 초기화하여 데이터 키를 다시 래핑합니다.

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)
  • 필터 (BSON::Document)

    다시 래핑할 데이터 키를 조회 하기 위해 키 볼트 컬렉션 의 찾기 명령에 사용할 필터하다 를 나타내는 BSON 문서입니다.

반환합니다:

  • (부울)

    초기화가 성공적인 했는지 여부입니다.



648
649
650
651
652
653
654
655
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 648

def self.ctx_rewrap_many_datakey_init(컨텍스트, 필터)
  filter_data = 필터.to_bson.to_s
  바이너리.랩 문자열(filter_data) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_rewrap_many_datakey_init(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_setopt_algorithm(컨텍스트, 이름) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

컨텍스트에 알고리즘 설정

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)
  • 이름 (string)

    알고리즘 이름입니다. 유효한 값은 다음과 같습니다.

    • "AEAD_AES_256_CBC_HMAC_SHA_512-결정론적"

    • "AEAD_AES_256_CBC_HMAC_SHA_512-Random"

다음을 발생시킵니다.



561
562
563
564
565
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 561

def self.ctx_setopt_algorithm(컨텍스트, 이름)
  check_ctx_status(컨텍스트) do
    mongocrypt_ctx_setopt_algorithm(컨텍스트.ctx_p, 이름, -1)
  end
end

.ctx_setopt_algorithm_range(context, opts) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

RangePreview 알고리즘 은 실험용으로만 제공됩니다. 다음 용도로는 사용할 수 없습니다.

'rangePreview' 알고리즘을 사용하여 명시적 암호화에 대한 옵션을 설정합니다.

공개 사용.

매개변수:

다음을 발생시킵니다.



1730
1731
1732
1733
1734
1735
1736
1737
1738
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1730

def self.ctx_setopt_algorithm_range(컨텍스트, opts)
  validate_document(opts)
  데이터 = opts.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_setopt_algorithm_range(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_setopt_contention_factor(context, factor) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

명시적 암호화 에 사용되는 경합 요인을 설정합니다. 경합 요인은 인덱싱된 FLE 2 암호화 에만 사용됩니다.

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)

    명시적 암호화 컨텍스트입니다.

  • 요인 (정수)

    명시적 암호화 에 사용되는 경합 요인입니다.

다음을 발생시킵니다.



1693
1694
1695
1696
1697
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1693

def self.ctx_setopt_contention_factor(컨텍스트, 요인)
  check_ctx_status(컨텍스트) do
    mongocrypt_ctx_setopt_contention_factor(컨텍스트.ctx_p, 요인)
  end
end

.ctx_setopt_key_alt_names(context, key_alt_names) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

데이터 키 생성 시 여러 대체 키 이름 설정

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)

    DataKeyContext

  • key_alt_names (배열)

    대체 키 이름의 문자열 배열

다음을 발생시킵니다.



492
493
494
495
496
497
498
499
500
501
502
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 492

def self.ctx_setopt_key_alt_names(컨텍스트, key_alt_names)
  key_alt_names. do |key_alt_name|
    key_alt_name_bson = { :keyAltName => key_alt_name }.to_bson.to_s

    바이너리.랩 문자열(key_alt_name_bson) do |key_alt_name_p|
      check_ctx_status(컨텍스트) do
        mongocrypt_ctx_setopt_key_alt_name(컨텍스트.ctx_p, key_alt_name_p)
      end
    end
  end
end

.ctx_setopt_key_encryption_key(context, key_document) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

데이터 키 생성을 위한 키 암호화 키 문서 를 설정합니다.

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)
  • key_document (BSON::Document)

    추가 " 제공자" 필드 가 있는 키 암호화 키 문서 를 나타내는 BSON 문서 .

다음을 발생시킵니다.



590
591
592
593
594
595
596
597
598
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 590

def self.ctx_setopt_key_encryption_key(컨텍스트, key_document)
  validate_document(key_document)
  데이터 = key_document.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_setopt_key_encryption_key(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_setopt_key_id(context, key_id) ⇒ Object

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

명시적 암호화 컨텍스트에서 키 ID 옵션을 설정합니다.

매개변수:

다음을 발생시킵니다.



459
460
461
462
463
464
465
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 459

def self.ctx_setopt_key_id(컨텍스트, key_id)
  바이너리.랩 문자열(key_id) do |key_id_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_setopt_key_id(컨텍스트.ctx_p, key_id_p)
    end
  end
end

.ctx_setopt_key_material(context, key_material) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

다음에 사용할 사용자 지정 주 자료 를 설정하다 합니다.

encrypting data.

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)

    DataKeyContext

  • key_material (BSON::Binary)

    사용자 지정 키 자료의 96 바이트

다음을 발생시킵니다.



527
528
529
530
531
532
533
534
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 527

def self.ctx_setopt_key_material(컨텍스트, key_material)
  데이터 = {'keyMaterial' => key_material}.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_ctx_status(컨텍스트) do
      mongocrypt_ctx_setopt_key_material(컨텍스트.ctx_p, data_p)
    end
  end
end

.ctx_setopt_query_type(context, query_type) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

FLE 2 명시적 암호화 에 사용할 쿼리 유형을 설정합니다. 쿼리 유형은 인덱싱된 FLE 2 암호화 에만 사용됩니다.

매개변수:

  • 컨텍스트 (Mongo::Crypt::Context)

    명시적 암호화 컨텍스트입니다.

  • :mongocrypt_query_type (string)

    query_type 쿼리의 유형입니다.

다음을 발생시킵니다.



1661
1662
1663
1664
1665
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1661

def self.ctx_setopt_query_type(컨텍스트, query_type)
  check_ctx_status(컨텍스트) do
    mongocrypt_ctx_setopt_query_type(컨텍스트.ctx_p, query_type, -1)
  end
end

.init(처리하다) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Mongo::Crypt::Handle 객체 초기화

매개변수:

다음을 발생시킵니다.



399
400
401
402
403
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 399

def self.init(처리하다)
  check_status(처리하다) do
    mongocrypt_init(처리하다.ref)
  end
end

.kms_ctx_bytes_needed(kms_context) ⇒ 정수

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KmsContext에 필요한 바이트 수를 가져옵니다.

매개변수:

반환합니다:

  • (정수)

    필요한 바이트 수



1055
1056
1057
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1055

def self.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의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Amazon Web Services 마스터 키에 대한 정보를 가져오기 위해 TLS를 통해 연결할 호스트 이름을 가져옵니다.

매개변수:

반환합니다:

  • (string | nil)

    호스트 이름 또는 호스트 이름이 없는 경우 nil

다음을 발생시킵니다.



1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1031

def self.kms_ctx_endpoint(kms_context)
  ptr = FFI::MemoryPointer.신규(:pointer, 1)

  check_kms_ctx_status(kms_context) do
    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_피드(kms_context, 바이트) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KMS 의 응답을 libmongocrypt에 다시 피드합니다.

매개변수:

다음을 발생시킵니다.



1075
1076
1077
1078
1079
1080
1081
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1075

def self.kms_ctx_피드(kms_context, 바이트)
  check_kms_ctx_status(kms_context) do
    바이너리.랩 문자열(바이트) do |bytes_p|
      mongocrypt_kms_ctx_피드(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 객체.



962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 962

def self.kms_ctx_get_kms_provider(kms_context)
  len_ptr = FFI::MemoryPointer.신규(:uint32, 1)
  provider = mongocrypt_kms_ctx_get_kms_provider(
    kms_context.kms_ctx_p,
    len_ptr
  )
  만약 len_ptr.nil?
    nil
  other
    len = 만약 BSON::환경.jruby?
      # JRuby FFI 구현 에는 `read(type)` 메서드가 없지만
      # 에는 이 `get_uint32`가 있습니다.
      len_ptr.get_uint32
    other
      # 자기공명영상(MRI)의 경우 문서화된 '읽기(read)' 메서드를 사용합니다 - https://www.rubydoc.info/github/ffi/ffi/FFI%2FPointer:read
      len_ptr.읽기(:uint32)
    end
    provider.read_string(len).to_sym
  end
end

.kms_ctx_message(kms_context) ⇒ string

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KmsContext 객체 에서 마스터 키를 가져오는 데 필요한 메시지를 가져옵니다.HTTP Amazon Web Services KMS

매개변수:

반환합니다:

  • (string)

    HTTP 메시지

다음을 발생시킵니다.



1002
1003
1004
1005
1006
1007
1008
1009
1010
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1002

def self.kms_ctx_message(kms_context)
  바이너리 = 바이너리.신규

  check_kms_ctx_status(kms_context) do
    mongocrypt_kms_ctx_message(kms_context.kms_ctx_p, 바이너리.ref)
  end

  반환 바이너리.to_s
end

.mongocrypt_binary_data(binary) ⇒ FFI::Pointer

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_binary_t의 기본 데이터에 대한 포인터를 가져옵니다.

매개변수:

  • 바이너리 (FFI::Pointer)

    mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (FFI::Pointer)

    데이터 배열 에 대한 포인터입니다.



171
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 171

Attach_function :mongocrypt_binary_data, [:pointer], :pointer

.mongocrypt_binary_destory(binary) ⇒ nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_binary_t 객체 를 삭제합니다.

매개변수:

  • 바이너리 (FFI::Pointer)

    mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (nil)

    항상 nil입니다.



187
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 187

Attach_function :mongocrypt_binary_destory, [:pointer], : 무효

.mongocrypt_binary_len(바이너리) ⇒ 정수

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

기본 데이터 배열의 길이를 가져옵니다.

매개변수:

  • 바이너리 (FFI::Pointer)

    mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (정수)

    데이터 배열의 길이입니다.



179
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 179

Attach_function :mongocrypt_binary_len, [:pointer], :int

.mongocrypt_binary_newFFI::Pointer

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

새 mongocrypt_binary_t 객체 (소유하지 않는 바이트 뷰

array).

반환합니다:

  • (FFI::Pointer)

    새로 생성된 mongocrypt_binary_t 객체 에 대한 포인터입니다.



147
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 147

Attach_function :mongocrypt_binary_new, [], :pointer

.mongocrypt_binary_new_from_data(data, len) ⇒ FFI::Pointer

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

다음에 대한 포인터를 유지하는 새 mongocrypt_binary_t 객체를 만듭니다.

the specified byte array.

매개변수:

  • 데이터 (FFI::Pointer)

    바이트 배열 에 대한 포인터입니다. 데이터는 복사되지 않으며 mongocrypt_binary_t 객체 보다 오래 지속되어야 합니다.

  • len (정수)

    배열 인수의 길이입니다.

반환합니다:

  • (FFI::Pointer)

    새로 생성된 mongocrypt_binary_t 객체 에 대한 포인터입니다.



159
160
161
162
163
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 159

Attach_function(
  :mongocrypt_binary_new_from_data,
  [:pointer, :int],
  :pointer
)

.mongocrypt_crypt_shared_lib_version(crypt) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1528
1529
1530
1531
1532
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1528

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

.mongocrypt_ctx_datakey_init(ctx, 필터) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



610
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 610

Attach_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 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    초기화가 성공적인 했는지 여부입니다.



770
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 770

Attach_function :mongocrypt_ctx_decrypt_init, [:pointer, :pointer], :bool

.mongocrypt_ctx_destory(ctx) ⇒ nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_ctx_t 객체 에 대한 참조를 삭제합니다.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

반환합니다:

  • (nil)

    항상 nil입니다.



1164
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1164

Attach_function :mongocrypt_ctx_destory, [:pointer], : 무효

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

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이 메서드는 전달된 BSON 이 { "v": 복호화할 BSON 값 } 형식일 것으로 예상합니다.

자동 암호화를 위해 ctx를 초기화합니다.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • db (string)

    데이터베이스 이름입니다.

  • db_len (정수)

    데이터베이스 이름 인수의 길이(또는 null로 끝나는 string 의 경우 -1 )입니다.

  • cmd (FFI::Pointer)

    데이터베이스 명령 을 바이너리 string 로 참조하는 mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    초기화가 성공적인 했는지 여부입니다.



670
671
672
673
674
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 670

Attach_function(
  :mongocrypt_ctx_encrypt_init,
  [:pointer, : 문자열, :int, :pointer],
  :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 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    초기화가 성공적인 했는지 여부입니다.



796
797
798
799
800
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 796

Attach_function(
  :mongocrypt_ctx_explicit_decrypt_init,
  [:pointer, :pointer],
  :bool
)

.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이 메서드를 호출하기 전에 mongocrypt_ctx_setopt_key_id, mongocrypt_ctx_setopt_key_alt_name, mongocrypt_ctx_setopt_algorithm 메서드를 설정하다 하여 key_id, key_alt_name(선택 사항) 및 암호화 알고리즘 을 설정합니다.

명시적 표현식 암호화 를 위해 ctx를 초기화합니다.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • msg (FFI::Pointer)

    암호화됨 할 메시지를 바이너리 string 로 참조하는 mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    초기화가 성공적인 했는지 여부입니다.



706
707
708
709
710
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 706

Attach_function(
  :mongocrypt_ctx_explicit_encrypt_init,
  [:pointer, :pointer],
  :bool
)

.mongocrypt_ctx_finalize(ctx, op_bson) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

최종 암호화 또는 암호 해독을 수행하고 BSON 문서 를 반환합니다.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • op_bson (FFI::Pointer)

    (out param) 최종 암호화됨 BSON 문서 에 대한 참조를 가질 mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    작업의 성공 을 나타내는 부울입니다.



1137
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1137

Attach_function :mongocrypt_ctx_finalize, [:pointer, :pointer], : 무효

.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

운전자 에 응답 제공이 완료되었음을 libmongocrypt에 표시합니다.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    작업의 성공 을 나타내는 부울입니다.



905
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 905

Attach_function :mongocrypt_ctx_mongo_done, [:pointer], :bool

.mongocrypt_ctx_mongo_피드(ctx, 회신) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

libmongocrypt에 BSON 응답을 피드.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • 회신 (FFI::Pointer)

    libmongocrypt에 대한 피드에 대한 BSON 응답을 참조하는 mongocrypt_binary_t 객체 입니다.

반환합니다:

  • (부울)

    작업의 성공 을 나타내는 부울입니다.



881
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 881

Attach_function :mongocrypt_ctx_mongo_피드, [:pointer, :pointer], :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 객체 에 대한 포인터입니다.



913
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 913

Attach_function :mongocrypt_ctx_next_kms_ctx, [:pointer], :pointer

.mongocrypt_ctx_mongo_op(ctx, op_bson) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

운전자 가 MongoDB 에 대해 실행 BSON 작업 가져오기

collection, the key vault database, or mongocryptd.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • op_bson (FFI::Pointer)

    (out param) libmongocrypt에 의해 기록된 BSON 작업에 대한 참조를 가질 mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    작업의 성공 을 나타내는 부울입니다.



849
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 849

Attach_function :mongocrypt_ctx_mongo_op, [:pointer, :pointer], :bool

.mongocrypt_ctx_new(crypt) ⇒ FFI::Pointer

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

새 mongocrypt_ctx_t 객체 (libmongocrypt의 래퍼)를

state machine).

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

반환합니다:

  • (FFI::Pointer)

    새로운 mongocrypt_ctx_t 객체입니다.



430
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 430

Attach_function :mongocrypt_ctx_new, [:pointer], :pointer

.mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1606
1607
1608
1609
1610
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1606

Attach_function(
  :mongocrypt_ctx_provide_kms_providers,
  [ :pointer, :pointer ],
  :bool
)

.mongocrypt_ctx_setopt_algorithm(ctx, 알고리즘, len) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이 메서드를 호출하기 전에 ctx를 초기화하지 마세요.

명시적 암호화에 사용되는 알고리즘을 설정합니다.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • 알고리즘 (string)

    알고리즘 이름입니다. 유효한 값은 다음과 같습니다.

    • "AEAD_AES_256_CBC_HMAC_SHA_512-결정론적"

    • "AEAD_AES_256_CBC_HMAC_SHA_512-Random"

  • len (정수)

    알고리즘 string 의 길이입니다.

반환합니다:

  • (부울)

    옵션이 성공적으로 설정하다 되었는지 여부입니다.



547
548
549
550
551
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 547

Attach_function(
  :mongocrypt_ctx_setopt_algorithm,
  [:pointer, : 문자열, :int],
  :bool
)

.mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1712
1713
1714
1715
1716
1717
1718
1719
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1712

Attach_function(
  :mongocrypt_ctx_setopt_algorithm_range,
  [
    :pointer,
    :pointer
  ],
  :bool
)

.mongocrypt_ctx_setopt_contention_factor(ctx,contention_factor) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1677
1678
1679
1680
1681
1682
1683
1684
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1677

Attach_function(
  :mongocrypt_ctx_setopt_contention_factor,
  [
    :pointer,
    :int64
  ],
  :bool
)

.mongocrypt_ctx_setopt_key_alt_name(ctx, 바이너리) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이 메서드를 호출하기 전에 ctx를 초기화하지 마세요.

데이터 키를 생성할 때 해당 키에 대체 이름을 설정하다 합니다. 언제

performing explicit encryption, specifying which data key to use for
encryption based on its keyAltName field.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • 바이너리 (FFI::Pointer)

    { "keyAltName": < BSON UTF8 값> } 형식의 BSON 문서 를 참조하는 mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    대체 이름이 성공적으로 설정하다 되었는지 여부입니다.



479
480
481
482
483
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 479

Attach_function(
  :mongocrypt_ctx_setopt_key_alt_name,
  [:pointer, :pointer],
  :bool
)

.mongocrypt_ctx_setopt_key_encryption_key(ctx) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이 메서드를 호출하기 전에 ctx를 초기화하지 마세요.

데이터 키 생성을 위한 키 암호화 키 문서 를 설정합니다.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • (FFI::Pointer)

    추가 ' 제공자' 필드 가 있는 키 암호화 키 문서 를 나타내는 BSON 문서 를 참조하는 mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    옵션이 성공적으로 설정하다 되었는지 여부입니다.



577
578
579
580
581
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 577

Attach_function(
  :mongocrypt_ctx_setopt_key_encryption_key,
  [:pointer, :pointer],
  :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 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    옵션이 성공적으로 설정하다 되었는지 여부입니다.



451
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 451

Attach_function :mongocrypt_ctx_setopt_key_id, [:pointer, :pointer], :bool

.mongocrypt_ctx_setopt_key_material(ctx, 바이너리) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이 메서드를 호출하기 전에 ctx를 초기화하지 마세요.

데이터 키를 생성할 때 다음에 사용할 사용자 지정 주 자료 를 설정하다 합니다.

encrypting data.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • 바이너리 (FFI::Pointer)

    사용할 데이터 암호화 키 를 참조하는 mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    사용자 지정 키 자료가 성공적으로 설정되었는지 여부입니다.



514
515
516
517
518
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 514

Attach_function(
  :mongocrypt_ctx_setopt_key_material,
  [:pointer, :pointer],
  :bool
)

.mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1644
1645
1646
1647
1648
1649
1650
1651
1652
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1644

Attach_function(
  :mongocrypt_ctx_setopt_query_type,
  [
    :pointer,
    : 문자열,
    :int
  ],
  :bool
)

.mongocrypt_ctx_state(ctx) ⇒ 기호

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

ctx의 현재 상태를 가져옵니다.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

반환합니다:

  • (기호)

    현재 상태는 mongocrypt_ctx_state 열거형에 정의된 값 중 하나입니다.



837
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 837

Attach_function :mongocrypt_ctx_state, [:pointer], :mongocrypt_ctx_state

.mongocrypt_ctx_status(ctx, status) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_ctx_t 객체 에서 상태 정보를 설정합니다.

mongocrypt_status_t object.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

  • 상태 (FFI::Pointer)

    mongocrypt_status_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    상태가 성공적으로 설정되었는지 여부입니다.



440
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 440

Attach_function :mongocrypt_ctx_status, [:pointer, :pointer], :bool

.mongocrypt_destory(crypt) ⇒ nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참조를 mongocrypt_t 객체를 삭제합니다.

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

반환합니다:

  • (nil)

    항상 nil입니다.



421
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 421

Attach_function :mongocrypt_destory, [:pointer], : 무효

.mongocrypt_init(crypt) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_t 객체 를 초기화합니다.

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

반환합니다:

  • (부울)

    크립트가 성공적으로 초기화되었는지 여부를 반환합니다.



392
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 392

Attach_function :mongocrypt_init, [:pointer], :bool

.mongocrypt_kms_ctx_bytes_needed(KMS) ⇒ 정수

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KMS 컨텍스트에 필요한 바이트 수를 가져옵니다.

매개변수:

  • KMS (FFI::Pointer)

    mongocrypt_kms_ctx_t 객체 입니다.

반환합니다:

  • (정수)

    필요한 바이트 수입니다.



1048
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1048

Attach_function :mongocrypt_kms_ctx_bytes_needed, [:pointer], :int

.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

더 이상 응답을 받지 않을 것임을 libmongocrypt에 표시합니다.

mongocrypt_kms_ctx_t objects.

매개변수:

  • ctx (FFI::Pointer)

    mongocrypt_ctx_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    작업의 성공적인 여부입니다.



1115
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1115

Attach_function :mongocrypt_ctx_kms_done, [:pointer], :bool

.mongocrypt_kms_ctx_endpoint(KMS, endpoint) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

다음에 대한 정보를 얻기 위해 TLS를 통해 연결할 호스트 이름을 가져옵니다.

the AWS master key.

매개변수:

  • KMS (FFI::Pointer)

    mongocrypt_kms_ctx_t 객체 에 대한 포인터입니다.

  • 엔드포인트 (FFI::Pointer)

    (out param) libmongocrypt가 엔드포인트 string 을 기록할 포인터입니다.

반환합니다:

  • (부울)

    작업의 성공적인 여부입니다.



1021
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1021

Attach_function :mongocrypt_kms_ctx_endpoint, [:pointer, :pointer], :bool

.mongocrypt_kms_ctx_피드(KMS, 바이트) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KMS 의 응답을 libmongocrypt에 다시 피드합니다.

매개변수:

  • KMS (FFI::Pointer)

    mongocrypt_kms_ctx_t 객체에 대한 포인터입니다.

  • 바이트 (FFI::Pointer)

    KMS의 응답을 참조하는 mongocrypt_binary_t 객체에 대한 포인터입니다.

반환합니다:

  • (부울)

    작업의 성공적인 여부입니다.



1067
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1067

Attach_function :mongocrypt_kms_ctx_피드, [:pointer, :pointer], :bool

.mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



947
948
949
950
951
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 947

Attach_function(
  :mongocrypt_kms_ctx_get_kms_provider,
  [:pointer, :pointer],
  :pointer
)

.mongocrypt_kms_ctx_message(KMS, msg) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Amazon Web Services KMS 마스터 키를 가져오는 데 필요한 메시지를 가져옵니다.

매개변수:

  • KMS (FFI::Pointer)

    mongocrypt_kms_ctx_t 객체에 대한 포인터

  • msg (FFI::Pointer)

    (outparam) libmongocrypt가 메시지 위치 를 기록할 mongocrypt_binary_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    작업의 성공 여부입니다.



992
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 992

Attach_function :mongocrypt_kms_ctx_message, [:pointer, :pointer], :bool

.mongocrypt_kms_ctx_status(KMS, status) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_kms_ctx_t 객체 에 대한 상태 정보 쓰기

to the mongocrypt_status_t object.

매개변수:

  • KMS (FFI::Pointer)

    mongocrypt_kms_ctx_t 객체에 대한 포인터입니다.

  • 상태 (FFI::Pointer)

    mongocrypt_status_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    작업의 성공적인 여부입니다.



1091
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1091

Attach_function :mongocrypt_kms_ctx_status, [:pointer, :pointer], :bool

.mongocrypt_setopt_aes_256_ctr(crypt, aes_256_ctr_encrypt, aes_256_ctr_decrypt, ctx) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

AES256-CTR 작업에 대한 암호화 훅을 설정합니다.

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

  • aes_enc_fn (Proc)

    AES-CTR 암호화 방법입니다.

  • aes_dec_fn (Proc)

    AES-CTR 암호 해독 메서드입니다.

  • ctx (FFI::Pointer | nil)

    후크가 활성화되었을 때 설정하다 되었을 수 있는 컨텍스트 객체 에 대한 선택적 포인터입니다.

반환합니다:

  • (부울)

    이 옵션의 설정 성공 여부입니다.



1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1423

Attach_function(
  :mongocrypt_setopt_aes_256_ctr,
  [
    :pointer,
    :mongocrypt_crypto_fn,
    :mongocrypt_crypto_fn,
    :pointer
  ],
  :bool
)

.mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt, 경로) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1461
1462
1463
1464
1465
1466
1467
1468
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1461

Attach_function(
  :mongocrypt_setopt_append_crypt_shared_lib_search_path,
  [
    :pointer,
    : 문자열,
  ],
  : 무효
)

.mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1399
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1399

Attach_function(:mongocrypt_setopt_bypass_query_analysis, [:pointer], : 무효)

.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(crypt, sign_rsaes_pkcs1_v1_5, ctx = nil) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

SHA-256 해시를 사용하여 RSASSA-PKCS1-v1_5 알고리즘 에 대한 크립토 훅을 설정합니다.

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

  • sign_rsaes_pkcs1_v1_5 (Proc)

    RSASSA-PKCS1-v1_5 서명 메서드입니다.

  • ctx (FFI::Pointer | nil) (기본값: nil)

    후크가 활성화되었을 때 설정하다 되었을 수 있는 컨텍스트 객체 에 대한 선택적 포인터입니다.

반환합니다:

  • (부울)

    이 옵션의 설정 성공 여부입니다.



1316
1317
1318
1319
1320
1321
1322
1323
1324
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1316

Attach_function(
  :mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5,
  [
    :pointer,
    :mongocrypt_hmac_fn,
    :pointer
  ],
  :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 객체 에 암호화 후크를 설정합니다.

매개변수:

  • crypt (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)

    후크가 활성화되었을 때 설정하다 되었을 수 있는 컨텍스트 객체 에 대한 선택적 포인터입니다.

반환합니다:

  • (부울)

    이 옵션의 설정 성공 여부입니다.



1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1269

Attach_function(
  :mongocrypt_setopt_crypto_hooks,
  [
    :pointer,
    :mongocrypt_crypto_fn,
    :mongocrypt_crypto_fn,
    :mongocrypt_random_fn,
    :mongocrypt_hmac_fn,
    :mongocrypt_hmac_fn,
    :mongocrypt_hash_fn,
    :pointer
  ],
  :bool
)

.mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1358
1359
1360
1361
1362
1363
1364
1365
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1358

Attach_function(
  :mongocrypt_setopt_encrypted_field_config_map,
  [
    :pointer,
    :pointer
  ],
  :bool
)

.mongocrypt_setopt_kms_providers(crypt, kms_providers) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이 메서드를 호출하기 전에 ctx를 초기화하지 마세요.

BSON 문서 로 KMS 제공자를 구성합니다.

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

  • kms_providers (FFI::Pointer)

    KMS 제공자 이름을 자격 증명에 매핑하는 BSON 문서를 참조하는 mongocrypt_binary_t 객체에 대한 포인터입니다.



336
337
338
339
340
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 336

Attach_function(
  :mongocrypt_setopt_kms_providers,
  [:pointer, :pointer],
  :bool
)

.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nil) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

매번 호출되도록 mongocrypt_t 객체 의 핸들러를 설정합니다.

libmongocrypt logs a message.

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

  • log_fn (메서드)

    로깅 콜백 메서드입니다.

  • log_ctx (FFI::Pointer | nil) (기본값: nil)

    모든 호출에서 로그 콜백 으로 전달될 컨텍스트에 대한 선택적 포인터입니다.

반환합니다:

  • (부울)

    콜백 설정이 성공했는지 여부입니다.



307
308
309
310
311
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 307

Attach_function(
  :mongocrypt_setopt_log_handler,
  [:pointer, :mongocrypt_log_fn_t, :pointer],
  :bool
)

.mongocrypt_setopt_schema_map(crypt, schema_map) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

암호화를 위한 로컬 스키마 맵을 설정합니다.

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

  • schema_map (FFI::Pointer)

    mongocrypt_binary_t에 대한 포인터입니다. 스키마 맵을 BSON 바이너리 string 로 참조하는 객체 입니다.

반환합니다:

  • (부울)

    옵션이 성공적으로 설정하다 되었는지 여부를 반환합니다.



367
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 367

Attach_function :mongocrypt_setopt_schema_map, [:pointer, :pointer], :bool

.mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, 경로) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1490
1491
1492
1493
1494
1495
1496
1497
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1490

Attach_function(
  :mongocrypt_setopt_set_crypt_shared_lib_path_override,
  [
    :pointer,
    : 문자열,
  ],
  : 무효
)

.mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



1569
1570
1571
1572
1573
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1569

Attach_function(
  :mongocrypt_setopt_use_need_kms_credentials_state,
  [ :pointer ],
  : 무효
)

.mongocrypt_status(crypt, status) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_t 객체 에서 상태 정보를 설정합니다.

mongocrypt_status_t object.

매개변수:

  • crypt (FFI::Pointer)

    mongocrypt_t 객체에 대한 포인터입니다.

  • 상태 (FFI::Pointer)

    mongocrypt_status_t 객체 에 대한 포인터입니다.

반환합니다:

  • (부울)

    상태가 성공적으로 설정되었는지 여부입니다.



413
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 413

Attach_function :mongocrypt_status, [:pointer, :pointer], :bool

.mongocrypt_status_code(status) ⇒ 정수

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태 오류 코드를 반환합니다.

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (정수)

    상태 코드입니다.



235
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 235

Attach_function :mongocrypt_status_code, [:pointer], :int

.mongocrypt_status_destory(status) ⇒ nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

mongocrypt_status_t 객체에 대한 참조를 삭제합니다.

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (nil)

    항상 nil입니다.



261
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 261

Attach_function :mongocrypt_status_destory, [:pointer], : 무효

.mongocrypt_status_message(status, len = nil) ⇒ String

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태 메시지를 반환합니다.

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

  • len (FFI::Pointer | nil) (기본값: nil)

    (출력 매개변수) 재조정 string 의 길이가 기록될 단위32에 대한 선택적 포인터입니다.

반환합니다:

  • (string)

    상태 메시지입니다.



245
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 245

Attach_function :mongocrypt_status_message, [:pointer, :pointer], : 문자열

.mongocrypt_status_newFFI::Pointer

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

새 mongocrypt_status_t 객체를 만듭니다.

반환합니다:

  • (FFI::Pointer)

    새로운 mongocrypt_status_ts에 대한 포인터입니다.



201
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 201

Attach_function :mongocrypt_status_new, [], :pointer

.mongocrypt_status_ok(status) ⇒ 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태가 정상인지 오류인지를 반환합니다.

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (부울)

    상태가 정상인지 여부입니다.



253
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 253

Attach_function :mongocrypt_status_ok, [:pointer], :bool

.mongocrypt_status_set(상태, 유형, 코드, 메시지, len) ⇒ nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

기존 상태에 대한 메시지, 유형 및 코드를 설정합니다.

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

  • 유형 (기호)

    상태 유형입니다. 가능한 값은 status_type 열거형으로 정의됩니다.

  • 코드 (정수)

    상태 코드입니다.

  • 메시지 (string)

    상태 메시지입니다.

  • len (정수)

    메시지 인수의 길이(또는 null로 끝나는 string 의 경우 -1 )입니다.

반환합니다:

  • (nil)

    항상 nil입니다.



215
216
217
218
219
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 215

Attach_function(
  :mongocrypt_status_set,
  [:pointer, :status_type, :int, : 문자열, :int],
  : 무효
)

.mongocrypt_status_type(status) ⇒ Symbol

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

상태 유형을 나타냅니다.

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (기호)

    상태 유형( status_type 열거형 에 정의됨).



227
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 227

Attach_function :mongocrypt_status_type, [:pointer], :status_type

.mongocrypt_version(len) ⇒ string

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

libmongocrypt 라이브러리의 버전 string 을 반환합니다.

매개변수:

  • len (FFI::Pointer | nil)

    (out param) 반환된 string 의 길이를 참조하는 uint8 에 대한 선택적 포인터입니다.

반환합니다:

  • (string)

    libmongocrypt의 버전 string 입니다.



95
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 95

Attach_function :mongocrypt_version, [:pointer], : 문자열

.ongocrypt_newFFI::Pointer

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

새 mongocrypt_t 객체 를 만듭니다.

반환합니다:

  • (FFI::Pointer)

    새 mongocrypt_t 객체 에 대한 포인터입니다.



295
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 295

Attach_function :mongocrypt_new, [], :pointer

.parse_version(version) ⇒ Gem::Version

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

버전 번호를 나타내는 string 이 주어지면 이를 Gem::Version 객체 로 구문 분석합니다. 이 메서드는 사용자 지정 구문 분석을 수행하여 string 이 Gem::Version에서 지원하는 형식이 아닌 경우를 처리합니다.

매개변수:

  • 버전 (string)

    버전 번호를 나타내는 string 입니다.

반환합니다:

  • (Gem::Version)

    버전 번호

다음을 발생시킵니다.

  • (ArgumentError)

    string 을 구문 분석할 수 없는 경우.



108
109
110
111
112
113
114
115
116
117
118
119
120
121
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 108

def self.parse_version(버전)
  Gem::버전.신규(버전)
구출 ArgumentError
  match = 버전.match(/\A(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)?(-[A-Za-z\+\d]+)?\z/)
  올리다 ArgumentError.신규("잘못된 버전 번호 string #{version}") 만약 match.nil?

  Gem::버전.신규(
    [
      match[:major],
      match[:minor],
      match[:patch]
    ].가입('.')
  )
end

.setopt_aes_256_ctr(처리하다, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

AES256-CTR 작업에 대한 암호화 훅을 설정합니다.

매개변수:

  • 처리하다 (Mongo::Crypt::Handle)
  • aes_encrypt_cb (메서드)

    AES-CTR 암호화 방법

  • aes_decrypt_cb (메서드)

    AES-CTR 암호 해독 방법

다음을 발생시킵니다.



1441
1442
1443
1444
1445
1446
1447
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1441

def self.setopt_aes_256_ctr(처리하다, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb)
  check_status(처리하다) do
    mongocrypt_setopt_aes_256_ctr(처리하다.ref,
      aes_ctr_encrypt_cb, aes_ctr_decrypt_cb, nil
    )
  end
end

.setopt_append_crypt_shared_lib_search_path(handle, 경로) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

로드할 Atlas Search 경로에 추가 Atlas Search 디렉토리를 추가합니다.

the crypt_shared dynamic library.

매개변수:

  • 처리하다 (Mongo::Crypt::Handle)
  • 경로 (string)

    crypt 공유 라이브러리의 Atlas Search 경로입니다.



1475
1476
1477
1478
1479
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1475

def self.setopt_append_crypt_shared_lib_search_path(처리하다, 경로)
  check_status(처리하다) do
    mongocrypt_setopt_append_crypt_shared_lib_search_path(처리하다.ref, 경로)
  end
end

.setopt_bypass_query_analysis(handle) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

쿼리 분석 건너뛰기를 선택합니다.

선택한 경우:

  • csfle 공유 라이브러리는 로드를 시도하지 않습니다.

  • mongocrypt_ctx_t는 MongOCRYPT_CTX_NEED_MARKINGS 상태로 전환되지 않습니다.

매개변수:



1408
1409
1410
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1408

def self.setopt_bypass_query_analysis(처리하다)
  mongocrypt_setopt_bypass_query_analysis(처리하다.ref)
end

.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(처리하다, rsaes_pkcs_signature_cb) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

다음을 사용하여 RSASSA-PKCS1-v1_5 알고리즘 에 대한 암호화 훅을 설정합니다.

a SHA-256 hash oh the Handle.

매개변수:

  • 처리하다 (Mongo::Crypt::Handle)
  • rsaes_pkcs_signature_cb (메서드)

    RSASSA-PKCS1-v1_5 서명 메서드입니다.

다음을 발생시킵니다.



1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1333

def self.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(
  처리하다,
  rsaes_pkcs_signature_cb
)
  check_status(처리하다) do
    mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(
      처리하다.ref,
      rsaes_pkcs_signature_cb,
      nil
    )
  end
end

.setopt_crypto_hooks(handle, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

핸들에서 암호화 콜백 설정

매개변수:

  • 처리하다 (Mongo::Crypt::Handle)
  • aes_encrypt_cb (메서드)

    AES 암호화 방법

  • aes_decrypt_cb (메서드)

    AES 암호 해독 방법

  • random_cb (메서드)

    임의의 바이트 string 을 반환하는 메서드

  • hmac_sha_512_cb (메서드)

    HMAC SHA-512 메서드

  • hmac_sha_256_cb (메서드)

    HMAC SHA-256 메서드

  • hmac_hash_cb (메서드)

    SHA-256 해시 메서드

다음을 발생시킵니다.



1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1295

def self.setopt_crypto_hooks(처리하다,
  aes_encrypt_cb, aes_decrypt_cb, random_cb,
  hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb
)
  check_status(처리하다) do
    mongocrypt_setopt_crypto_hooks(처리하다.ref,
      aes_encrypt_cb, aes_decrypt_cb, random_cb,
      hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb, nil
    )
  end
end

.setopt_encrypted_field_config_map(처리하다, efc_map) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

암호화 를 위해 로컬 EncryptedFieldConfigMap을 설정합니다.

매개변수:

  • 처리하다 (Mongo::Crypt::Handle)
  • efc_map (BSON::Document)

    사용자가 제공한 EncryptedFieldConfigMap을 나타내는 BSON 문서 입니다. 키는 컬렉션 네임스페이스이고 값은 EncryptedFieldConfigMap 문서입니다.

다음을 발생시킵니다.



1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1376

def self.setopt_encrypted_field_config_map(처리하다, efc_map)
  validate_document(efc_map)
  데이터 = efc_map.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_status(처리하다) do
      mongocrypt_setopt_encrypted_field_config_map(
        처리하다.ref,
        data_p
      )
    end
  end
end

.setopt_kms_providers(처리하다, kms_providers) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Mongo::Crypt::Handle 객체 에 KMS 제공자 옵션 설정

매개변수:

  • 처리하다 (Mongo::Crypt::Handle)
  • kms_providers (BSON::Document)

    KMS 제공자 이름을 자격 증명 에 매핑하는 BSON 문서 입니다.

다음을 발생시킵니다.



349
350
351
352
353
354
355
356
357
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 349

def self.setopt_kms_providers(처리하다, kms_providers)
  validate_document(kms_providers)
  데이터 = kms_providers.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_status(처리하다) do
      mongocrypt_setopt_kms_providers(처리하다.ref, data_p)
    end
  end
end

.setopt_log_handler(처리하다, log_callback) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Mongo::Crypt::Handle 객체 에 로거 콜백 함수를 설정합니다.

매개변수:

다음을 발생시킵니다.



319
320
321
322
323
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 319

def self.setopt_log_handler(처리하다, log_callback)
  check_status(처리하다) do
    mongocrypt_setopt_log_handler(처리하다, log_callback, nil)
  end
end

.setopt_schema_map(처리하다, schema_map_doc) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Mongo::Crypt::Handle 객체 에 스키마 맵 설정

매개변수:

  • 처리하다 (Mongo::Crypt::Handle)
  • schema_map_doc (BSON::Document)

    BSON::Document 객체로서의 스키마 맵

다음을 발생시킵니다.



376
377
378
379
380
381
382
383
384
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 376

def self.setopt_schema_map(처리하다, schema_map_doc)
  validate_document(schema_map_doc)
  데이터 = schema_map_doc.to_bson.to_s
  바이너리.랩 문자열(데이터) do |data_p|
    check_status(처리하다) do
      mongocrypt_setopt_schema_map(처리하다.ref, data_p)
    end
  end
end

.setopt_set_crypt_shared_lib_path_override(handle, 경로) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

crypt 공유 라이브러리를 로드하기 위한 단일 재정의 경로를 설정합니다.

매개변수:

  • 처리하다 (Mongo::Crypt::Handle)
  • 경로 (string)

    공유 라이브러리 파일을 암호화하는 경로입니다.



1503
1504
1505
1506
1507
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1503

def self.setopt_set_crypt_shared_lib_path_override(처리하다, 경로)
  check_status(처리하다) do
    mongocrypt_setopt_set_crypt_shared_lib_path_override(처리하다.ref, 경로)
  end
end

.setopt_use_need_kms_credentials_state(처리하다) ⇒ 객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS 상태 를 처리하도록 옵트인합니다.

설정된 경우 컨텍스트는 MongOCRYPT_CTX_NEED_KMS 상태로 전환되기 전에 Mongocrypt_CTX_NEED_KMS_CREDENTIALS 상태에 들어간 다음 'mongocrypt_ctx_provide_kms_providers'를 통해 자격 증명이 제공될 때까지 기다릴 수 있습니다.

컨텍스트는 'mongocrypt_setopt_kms_providers'에서 KMS 제공자에 대해 빈 문서가 설정된 경우에만 MongOCRYPT_CTX_NEED_KMS_CREDENTIALS로 들어갑니다.

매개변수:



1587
1588
1589
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1587

def self.setopt_use_need_kms_credentials_state(처리하다)
  mongocrypt_setopt_use_need_kms_credentials_state(처리하다.ref)
end

.validate_document(data) ⇒ Object

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

모든 BSON::Document 인스턴스는 해시 인스턴스이기도 합니다.

libmongocrypt의 오류를 방지하기 위해 BSON 으로 직렬화하기 전에 지정된 데이터가 해시인지 확인합니다.

매개변수:

  • 데이터 (객체)

    libmongocrypt로 전달할 데이터

다음을 발생시킵니다.



1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1780

def self.validate_document(데이터)
  반환 만약 데이터.is_a?(해시)

  만약 데이터.nil?
    메시지 = "nil 데이터를 libmongocrypt에 전달하려고 시도했습니다. " +
      "데이터는 해시여야 합니다"
  other
    메시지 = "libmongocrypt에 잘못된 데이터를 전달하려고 시도했습니다: #{데이터} " +
      "데이터는 해시여야 합니다"
  end

  올리다 오류::CRYPTError.신규(메시지)
end

.validate_version(lmc_version) ⇒ Object

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

제공된 libmongocrypt 버전이 유효한지, 즉 최소 필수 버전보다 크거나 같은지 확인합니다. 그렇지 않은 경우 LoadError를 발생시킵니다.

매개변수:

  • lmc_version (string)

    libmongocrypt 버전을 나타내는 string 입니다.

다음을 발생시킵니다.

  • (LoadError)

    지정된 버전이 최소 필수 버전보다 낮은 경우.



131
132
133
134
135
136
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 131

def self.validate_version(lmc_version)
  만약 (real_version = parse_version(lmc_version)) < MIN_LIBMONOCRYPT_VERSION
    올리다 LoadError, "libmongocrypt 버전 #{MIN_LIBMOCRYPT_VERSION} 이상이 필요합니다, " +
      "하지만 버전 #{real_version} 이(가) 발견되었습니다."
  end
end

인스턴스 메서드 세부 정보

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

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이는 FFI 콜백 에 대한 메서드 서명을 정의합니다. 즉, Binding 클래스의 인스턴스 메서드가 아닙니다.

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)

    (out param) mongocrypt_binary_t 객체 에 대한 포인터에는 libmongocrypt에 의해 기록 암호화됨/복호화된 값에 대한 참조가 있습니다.

  • 상태 (FFI::Pointer)

    암호화가 실패할 경우 오류 메시지가 기록될 mongocrypt_status_t 객체에 대한 포인터입니다.

반환합니다:

  • (Bool)

    암호화/복호화의 성공적인 여부입니다.



1187
1188
1189
1190
1191
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1187

콜백(
  :mongocrypt_crypto_fn,
  [:pointer, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer],
  :bool
)

#mongocrypt_hash_fn(ctx, 입력, 출력, 상태) ⇒ Bool

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이는 FFI 콜백 에 대한 메서드 서명을 정의합니다. 즉, Binding 클래스의 인스턴스 메서드가 아닙니다.

SHA-256 해시 함수에 대한 콜백 입니다.

매개변수:

  • ctx (FFI::Pointer | nil)

    후크가 활성화되었을 때 설정하다 되었을 수 있는 컨텍스트 객체 에 대한 선택적 포인터입니다.

  • 입력 (FFI::Pointer)

    해시 할 값을 참조하는 mongocrypt_binary_t 객체 에 대한 포인터입니다.

  • 출력 (FFI::Pointer)

    (출력 매개변수) mongocrypt_binary_t 객체 에 대한 포인터에는 libmongocrypt에 의해 기록된 출력 값에 대한 참조가 있습니다.

  • 상태 (FFI::Pointer)

    암호화가 실패할 경우 오류 메시지가 기록될 mongocrypt_status_t 객체에 대한 포인터입니다.

반환합니다:

  • (Bool)

    해싱의 성공 여부입니다.



1235
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1235

콜백 :mongocrypt_hash_fn, [:pointer, :pointer, :pointer, :pointer], :bool

#mongocrypt_hmac_fn(ctx, 키, 입력, 출력, 상태) ⇒ Bool

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이는 FFI 콜백 에 대한 메서드 서명을 정의합니다. 즉, Binding 클래스의 인스턴스 메서드가 아닙니다.

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 객체에 대한 포인터입니다.

반환합니다:

  • (Bool)

    HMAC-SHA의 성공적인 여부입니다.



1212
1213
1214
1215
1216
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1212

콜백(
  :mongocrypt_hmac_fn,
  [:pointer, :pointer, :pointer, :pointer, :pointer],
  :bool
)

#mongocrypt_log_fn_t(레벨, 메시지, len, ctx) ⇒ nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이는 FFI 콜백 에 대한 메서드 서명을 정의합니다. 즉, Binding 클래스의 인스턴스 메서드가 아닙니다.

mongocrypt 로그 함수에 대한 콜백 입니다. 사용자 지정 로그 콜백 설정

with the mongocrypt_setopt_log_handler method

매개변수:

  • 레벨 (기호)

    로그 수준입니다. log_level 열거형 으로 정의된 가능한 값

  • 메시지 (string)

    로그 메시지

  • len (정수)

    메시지 매개변수의 길이 또는 -1( string 이 null로 종료되는 경우)

  • ctx (FFI::Pointer | nil)

    이 콜백 이 설정하다 경우 컨텍스트 객체 에 대한 선택적 포인터입니다.

반환합니다:

  • (nil)

    항상 nil입니다.



288
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 288

콜백 :mongocrypt_log_fn_t, [:log_level, : 문자열, :int, :pointer], : 무효

#mongocrypt_random_fn(ctx, 출력, 카운트, 상태) ⇒ Bool

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

이는 FFI 콜백 에 대한 메서드 서명을 정의합니다. 즉, Binding 클래스의 인스턴스 메서드가 아닙니다.

암호화된 보안 임의 함수에 대한 콜백 입니다.

매개변수:

  • ctx (FFI::Pointer | nil)

    후크가 활성화되었을 때 설정하다 되었을 수 있는 컨텍스트 객체 에 대한 선택적 포인터입니다.

  • 출력 (FFI::Pointer)

    (출력 매개변수) mongocrypt_binary_t 객체 에 대한 포인터에는 libmongocrypt에 의해 기록된 출력 값에 대한 참조가 있습니다.

  • 카운트 (정수)

    반환할 임의의 바이트 수입니다.

  • 상태 (FFI::Pointer)

    암호화가 실패할 경우 오류 메시지가 기록될 mongocrypt_status_t 객체에 대한 포인터입니다.

반환합니다:

  • (Bool)

    해싱의 성공 여부입니다.



1253
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/Binding.rb', 줄 1253

콜백 :mongocrypt_random_fn, [:pointer, :pointer, :int, :pointer], :bool