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

상속:
객체
  • 객체
모두 표시
확장자:
FFI::Library
다음에 정의됨:
lib/ Mongo/crypt/Binding.rb

개요

이 클래스는 비공개 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입니다.



1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1893

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

  반환 하지 않는 한 do_raise

  상태 = 상태.신규

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

.check_kms_ctx_status(kms_context) ⇒ 객체

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

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

매개변수:

다음을 발생시킵니다.



1106
1107
1108
1109
1110
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1106

def self.check_kms_ctx_status(kms_context)
  반환 만약 yield

  kms_ctx_status(kms_context).raise_crypt_error(KMS: true)
end

.check_status(처리하다) ⇒ nil

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

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

반환합니다:

  • (nil)

    항상 nil입니다.



1880
1881
1882
1883
1884
1885
1886
1887
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1880

def self.check_status(처리하다)
  반환 만약 yield

  상태 = 상태.신규

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

.crypt_shared_lib_version(처리하다) ⇒ 정수

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

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

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

  • 주요 버전
  • 마이너 버전
  • 수정본
  • 예약됨

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

매개변수:

반환합니다:

  • (정수)

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



1619
1620
1621
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1619

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

.ctx_datakey_init(context) ⇒ 객체

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

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

매개변수:

다음을 발생시킵니다.



623
624
625
626
627
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 623

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

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

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

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

매개변수:

다음을 발생시킵니다.



784
785
786
787
788
789
790
791
792
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 784

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)

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

  • 명령 (해시)

    암호화됨 할 명령

다음을 발생시킵니다.



690
691
692
693
694
695
696
697
698
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 690

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

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

매개변수:

다음을 발생시킵니다.



814
815
816
817
818
819
820
821
822
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 814

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

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

매개변수:

다음을 발생시킵니다.



758
759
760
761
762
763
764
765
766
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 758

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

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

매개변수:

다음을 발생시킵니다.



724
725
726
727
728
729
730
731
732
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 724

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)로 표현되는 상태 머신을 마무리합니다.

매개변수:

다음을 발생시킵니다.



1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1217

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

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

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

.ctx_kms_done(context) ⇒ Object

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

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

매개변수:

다음을 발생시킵니다.



1194
1195
1196
1197
1198
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1194

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

.ctx_mongo_db(context) ⇒ 문자열

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

현재 collinfo 작업에 대한 데이터베이스 이름을 가져옵니다.

매개변수:

반환합니다:

  • (string)

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



1720
1721
1722
1723
1724
1725
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1720

def self.ctx_mongo_db(컨텍스트)
  db_name = mongocrypt_ctx_mongo_db(컨텍스트.ctx_p)
  반환 db_name 만약 db_name

  check_ctx_status(컨텍스트)
end

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

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

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

매개변수:

다음을 발생시킵니다.



896
897
898
899
900
901
902
903
904
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 896

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)

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



867
868
869
870
871
872
873
874
875
876
877
878
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 867

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

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

  # TODO: 바이너리가 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



928
929
930
931
932
933
934
935
936
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 928

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 문서 입니다.

다음을 발생시킵니다.



1759
1760
1761
1762
1763
1764
1765
1766
1767
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1759

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 문서입니다.

반환합니다:

  • (부울)

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



654
655
656
657
658
659
660
661
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 654

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"

다음을 발생시킵니다.



567
568
569
570
571
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 567

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

참고:

범위 알고리즘 실험용으로만 제공됩니다. 다음 용도로는 사용되지 않습니다.

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

공개 사용.

매개변수:

다음을 발생시킵니다.



1866
1867
1868
1869
1870
1871
1872
1873
1874
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1866

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)

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

  • 요인 (정수)

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

다음을 발생시킵니다.



1829
1830
1831
1832
1833
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1829

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 (배열)

    대체 키 이름의 문자열 배열

다음을 발생시킵니다.



498
499
500
501
502
503
504
505
506
507
508
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 498

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 문서 .

다음을 발생시킵니다.



596
597
598
599
600
601
602
603
604
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 596

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 옵션을 설정합니다.

매개변수:

다음을 발생시킵니다.



465
466
467
468
469
470
471
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 465

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

데이터 암호화에 사용할 사용자 지정 키 자료를 설정합니다.

매개변수:

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

    DataKeyContext

  • key_material (BSON::Binary)

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

다음을 발생시킵니다.



533
534
535
536
537
538
539
540
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 533

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 쿼리의 유형입니다.

다음을 발생시킵니다.



1797
1798
1799
1800
1801
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1797

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

.get_binary_data_direct(mongocrypt_binary_t) ⇒ 객체

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



179
180
181
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 179

def self.get_binary_data_direct(mongocrypt_binary_t)
  mongocrypt_binary_t.get_pointer(0)
end

.get_binary_len_direct(mongocrypt_binary_t) ⇒ 객체

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



183
184
185
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 183

def self.get_binary_len_direct(mongocrypt_binary_t)
  mongocrypt_binary_t.get_uint32(FFI::NativeType::포인터.size)
end

.init(처리하다) ⇒ 객체

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

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

매개변수:

다음을 발생시킵니다.



405
406
407
408
409
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 405

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

.kms_ctx_bytes_needed(kms_context) ⇒ 정수

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

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

매개변수:

반환합니다:

  • (정수)

    필요한 바이트 수



1062
1063
1064
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1062

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

다음을 발생시킵니다.



1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1038

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_fail(kms_context) ⇒ true, false

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

KMS 컨텍스트에 대해 마지막으로 실패한 요청 다시 시도할 수 있는지 확인합니다.

매개변수:

반환합니다:

  • (true, false)

    실패한 요청 재시도할 수 있는지 여부.



1157
1158
1159
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1157

def self.kms_ctx_fail(kms_context)
  mongocrypt_kms_ctx_fail(kms_context.kms_ctx_p)
end

.kms_ctx_피드(kms_context, 바이트) ⇒ 객체

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

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

매개변수:

다음을 발생시킵니다.



1082
1083
1084
1085
1086
1087
1088
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1082

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 객체.



969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 969

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 메시지

다음을 발생시킵니다.



1009
1010
1011
1012
1013
1014
1015
1016
1017
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1009

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

.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale

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

KMS 재시도 동작을 활성화하거나 비활성화합니다.

매개변수:

반환합니다:

  • (true, fale)

    true 는 옵션이 설정하다 경우이고, 그렇지 않으면 false 입니다.



1176
1177
1178
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1176

def self.kms_ctx_setopt_retry_kms(처리하다, value)
  mongocrypt_setopt_retry_kms(처리하다.ref, value)
end

.kms_ctx_status(kms_context) ⇒ Mongo::Crypt::Status

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

지정된 KmsContext에 대한 상태 정보를 발생시키지 않고 상태 객체 로 읽습니다.

매개변수:

반환합니다:



1118
1119
1120
1121
1122
1123
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1118

def self.kms_ctx_status(kms_context)
  상태 = 상태.신규

  mongocrypt_kms_ctx_status(kms_context.kms_ctx_p, 상태.ref)
  상태
end

.kms_ctx_usleep(kms_context) ⇒ Integer

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

지정된 KMS 컨텍스트에 대해 KMS 요청 보내기 전에 절전 모드로 전환할 시간(밀리초)을 반환합니다.

매개변수:

반환합니다:

  • (정수)

    절전 모드로 전환되는 64비트로 인코딩된 마이크로초 수입니다.



1140
1141
1142
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1140

def self.kms_ctx_usleep(kms_context)
  mongocrypt_kms_ctx_usleep(kms_context.kms_ctx_p)
end

.mongocrypt_binary_data(binary) ⇒ FFI::Pointer

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

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

매개변수:

  • 바이너리 (FFI::Pointer)

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

반환합니다:

  • (FFI::Pointer)

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



169
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 169

Attach_function :mongocrypt_binary_data, [ :pointer ], :pointer

.mongocrypt_binary_destory(binary) ⇒ nil

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

mongocrypt_binary_t 객체 를 삭제합니다.

매개변수:

  • 바이너리 (FFI::Pointer)

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

반환합니다:

  • (nil)

    항상 nil입니다.



193
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 193

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

.mongocrypt_binary_len(바이너리) ⇒ 정수

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

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

매개변수:

  • 바이너리 (FFI::Pointer)

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

반환합니다:

  • (정수)

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



177
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 177

Attach_function :mongocrypt_binary_len, [ :pointer ], :int

.mongocrypt_binary_newFFI::Pointer

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

새 mongocrypt_binary_t 객체(바이트 배열의 비소유 뷰)를 만듭니다.

반환합니다:

  • (FFI::Pointer)

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



145
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 145

Attach_function :mongocrypt_binary_new, [], :pointer

.mongocrypt_binary_new_from_data(data, len) ⇒ 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/Binding.rb', 줄 157

Attach_function(
  :mongocrypt_binary_new_from_data,
  %i[포인터 int],
  :pointer
)

.mongocrypt_crypt_shared_lib_version(crypt) ⇒ 객체

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



1597
1598
1599
1600
1601
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1597

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

.mongocrypt_ctx_datakey_init(ctx, 필터) ⇒ 객체

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



616
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 616

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

반환합니다:

  • (부울)

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



776
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 776

Attach_function :mongocrypt_ctx_decrypt_init, %i[포인터 포인터], :bool

.mongocrypt_ctx_destory(ctx) ⇒ nil

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

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

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (nil)

    항상 nil입니다.



1236
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1236

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

반환합니다:

  • (부울)

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



676
677
678
679
680
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 676

Attach_function(
  :mongocrypt_ctx_encrypt_init,
  %i[포인터 문자열 int 포인터],
  :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/Binding.rb', 줄 802

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

반환합니다:

  • (부울)

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



712
713
714
715
716
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 712

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

반환합니다:

  • (부울)

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



1209
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1209

Attach_function :mongocrypt_ctx_finalize, %i[포인터 포인터], : 무효

.mongocrypt_ctx_mongo_db(ctx) ⇒ Object

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



1714
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1714

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

.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean

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

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

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (부울)

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



912
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 912

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 객체 입니다.

반환합니다:

  • (부울)

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



888
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 888

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



920
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 920

Attach_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)

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

반환합니다:

  • (부울)

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



856
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 856

Attach_function :mongocrypt_ctx_mongo_op, %i[포인터 포인터], :bool

.mongocrypt_ctx_new(crypt) ⇒ FFI::Pointer

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

새 mongocrypt_ctx_t 객체 (libmongocrypt 상태 시스템용 래퍼)를 만듭니다.

매개변수:

  • crypt (FFI::Pointer)

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

반환합니다:

  • (FFI::Pointer)

    새로운 mongocrypt_ctx_t 객체입니다.



436
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 436

Attach_function :mongocrypt_ctx_new, [ :pointer ], :pointer

.mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ 객체

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



1742
1743
1744
1745
1746
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1742

Attach_function(
  :mongocrypt_ctx_provide_kms_providers,
  %i[포인터 포인터],
  :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 의 길이입니다.

반환합니다:

  • (부울)

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



553
554
555
556
557
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 553

Attach_function(
  :mongocrypt_ctx_setopt_algorithm,
  %i[포인터 문자열 int],
  :bool
)

.mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ⇒ 객체

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



1848
1849
1850
1851
1852
1853
1854
1855
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1848

Attach_function(
  :mongocrypt_ctx_setopt_algorithm_range,
  %i[
    포인터
    포인터
  ],
  :bool
)

.mongocrypt_ctx_setopt_contention_factor(ctx,contention_factor) ⇒ 객체

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



1813
1814
1815
1816
1817
1818
1819
1820
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1813

Attach_function(
  :mongocrypt_ctx_setopt_contention_factor,
  %i[
    포인터
    int64
  ],
  :bool
)

.mongocrypt_ctx_setopt_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/Binding.rb', 줄 485

Attach_function(
  :mongocrypt_ctx_setopt_key_alt_name,
  %i[포인터 포인터],
  :bool
)

.mongocrypt_ctx_setopt_key_encryption_key(ctx) ⇒ 부울

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

참고:

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

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

매개변수:

  • ctx (FFI::Pointer)

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

  • (FFI::Pointer)

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

반환합니다:

  • (부울)

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



583
584
585
586
587
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 583

Attach_function(
  :mongocrypt_ctx_setopt_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/Binding.rb', 줄 457

Attach_function :mongocrypt_ctx_setopt_key_id, %i[포인터 포인터], :bool

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

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

참고:

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

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

매개변수:

  • ctx (FFI::Pointer)

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

  • 바이너리 (FFI::Pointer)

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

반환합니다:

  • (부울)

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



520
521
522
523
524
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 520

Attach_function(
  :mongocrypt_ctx_setopt_key_material,
  %i[포인터 포인터],
  :bool
)

.mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ 객체

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



1780
1781
1782
1783
1784
1785
1786
1787
1788
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1780

Attach_function(
  :mongocrypt_ctx_setopt_query_type,
  %i[
    포인터
    문자열
    int
  ],
  :bool
)

.mongocrypt_ctx_state(ctx) ⇒ 기호

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

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

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (기호)

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



844
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 844

Attach_function :mongocrypt_ctx_state, [ :pointer ], :mongocrypt_ctx_state

.mongocrypt_ctx_status(ctx, status) ⇒ 부울

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

mongocrypt_status_t 객체의 mongocrypt_ctx_t 객체 에서 상태 정보를 설정 객체.

매개변수:

  • ctx (FFI::Pointer)

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

  • 상태 (FFI::Pointer)

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

반환합니다:

  • (부울)

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



446
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 446

Attach_function :mongocrypt_ctx_status, %i[포인터 포인터], :bool

.mongocrypt_destory(crypt) ⇒ nil

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

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

매개변수:

  • crypt (FFI::Pointer)

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

반환합니다:

  • (nil)

    항상 nil입니다.



427
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 427

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

.mongocrypt_init(crypt) ⇒ 부울

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

mongocrypt_t 객체 를 초기화합니다.

매개변수:

  • crypt (FFI::Pointer)

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

반환합니다:

  • (부울)

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



398
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 398

Attach_function :mongocrypt_init, [ :pointer ], :bool

.mongocrypt_kms_ctx_bytes_needed(KMS) ⇒ 정수

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

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

매개변수:

  • KMS (FFI::Pointer)

    mongocrypt_kms_ctx_t 객체 입니다.

반환합니다:

  • (정수)

    필요한 바이트 수입니다.



1055
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1055

Attach_function :mongocrypt_kms_ctx_bytes_needed, [ :pointer ], :int

.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean

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

mongocrypt_kms_ctx_t 객체로부터 더 이상 응답을 받지 않음을 libmongocrypt에 표시합니다.

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (부울)

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



1187
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1187

Attach_function :mongocrypt_ctx_kms_done, [ :pointer ], :bool

.mongocrypt_kms_ctx_endpoint(KMS, endpoint) ⇒ 부울

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

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

매개변수:

  • KMS (FFI::Pointer)

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

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

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

반환합니다:

  • (부울)

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



1028
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1028

Attach_function :mongocrypt_kms_ctx_endpoint, %i[포인터 포인터], :bool

.mongocrypt_kms_ctx_fail(ctx) ⇒ Object

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



1151
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1151

Attach_function :mongocrypt_kms_ctx_fail, [ :pointer ], :bool

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

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

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

매개변수:

  • KMS (FFI::Pointer)

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

  • 바이트 (FFI::Pointer)

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

반환합니다:

  • (부울)

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



1074
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1074

Attach_function :mongocrypt_kms_ctx_피드, %i[포인터 포인터], :bool

.mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ 객체

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



954
955
956
957
958
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 954

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

반환합니다:

  • (부울)

    작업의 성공 여부입니다.



999
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 999

Attach_function :mongocrypt_kms_ctx_message, %i[포인터 포인터], :bool

.mongocrypt_kms_ctx_status(KMS, status) ⇒ 부울

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

mongocrypt_kms_ctx_t 객체에 대한 상태 정보를 mongocrypt_status_t 객체에 씁니다.

매개변수:

  • KMS (FFI::Pointer)

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

  • 상태 (FFI::Pointer)

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

반환합니다:

  • (부울)

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



1098
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1098

Attach_function :mongocrypt_kms_ctx_status, %i[포인터 포인터], :bool

.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64

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

KMS 요청 보내기 전에 휴면 상태로 유지되는 시간을 나타냅니다.

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (int64)

    수면 시간을 64비트로 인코딩한 마이크로초 단위의 숫자입니다.



1132
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1132

Attach_function :mongocrypt_kms_ctx_usleep, [ :pointer ], :int64

.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)

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

반환합니다:

  • (부울)

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



1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1493

Attach_function(
  :mongocrypt_setopt_aes_256_ctr,
  %i[
    포인터
    mongocrypt_crypto_fn
    mongocrypt_crypto_fn
    포인터
  ],
  :bool
)

.mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt, 경로) ⇒ 객체

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



1530
1531
1532
1533
1534
1535
1536
1537
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1530

Attach_function(
  :mongocrypt_setopt_append_crypt_shared_lib_search_path,
  %i[
    포인터
    문자열
  ],
  : 무효
)

.mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ 객체

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



1469
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1469

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)

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

반환합니다:

  • (부울)

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



1386
1387
1388
1389
1390
1391
1392
1393
1394
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1386

Attach_function(
  :mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_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 객체 에 암호화 후크를 설정합니다.

매개변수:

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

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

반환합니다:

  • (부울)

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



1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1341

Attach_function(
  :mongocrypt_setopt_crypto_hooks,
  %i[
    포인터
    mongocrypt_crypto_fn
    mongocrypt_crypto_fn
    mongocrypt_random_fn
    mongocrypt_hmac_fn
    mongocrypt_hmac_fn
    mongocrypt_hash_fn
    포인터
  ],
  :bool
)

.mongocrypt_setopt_enable_multiple_collinfo(crypt) ⇒ 객체

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



1668
1669
1670
1671
1672
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1668

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

.mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ⇒ 객체

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



1428
1429
1430
1431
1432
1433
1434
1435
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1428

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



342
343
344
345
346
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 342

Attach_function(
  :mongocrypt_setopt_kms_providers,
  %i[포인터 포인터],
  :bool
)

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

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

libmongocrypt가 메시지를 기록할 때마다 호출되도록 mongocrypt_t 객체의 핸들러를 설정합니다.

매개변수:

  • crypt (FFI::Pointer)

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

  • log_fn (메서드)

    로깅 콜백 메서드입니다.

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

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

반환합니다:

  • (부울)

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



313
314
315
316
317
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 313

Attach_function(
  :mongocrypt_setopt_log_handler,
  %i[포인터 mongocrypt_log_fn_t 포인터],
  :bool
)

.mongocrypt_setopt_retry_kms(crypt, 활성화) ⇒ 객체

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



1169
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1169

Attach_function :mongocrypt_setopt_retry_kms, %i[포인터 부울], :bool

.mongocrypt_setopt_schema_map(crypt, schema_map) ⇒ 부울

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

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

매개변수:

  • crypt (FFI::Pointer)

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

  • schema_map (FFI::Pointer)

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

반환합니다:

  • (부울)

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



373
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 373

Attach_function :mongocrypt_setopt_schema_map, %i[포인터 포인터], :bool

.mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, 경로) ⇒ 객체

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



1559
1560
1561
1562
1563
1564
1565
1566
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1559

Attach_function(
  :mongocrypt_setopt_set_crypt_shared_lib_path_override,
  %i[
    포인터
    문자열
  ],
  : 무효
)

.mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ 객체

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



1638
1639
1640
1641
1642
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1638

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

.mongocrypt_setopt_use_need_mongo_collinfo_with_db_state(crypt) ⇒ 객체

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



1692
1693
1694
1695
1696
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1692

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

.mongocrypt_status(crypt, status) ⇒ 부울

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

mongocrypt_status_t 객체의 mongocrypt_t 객체 에서 상태 정보를 설정 객체.

매개변수:

  • crypt (FFI::Pointer)

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

  • 상태 (FFI::Pointer)

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

반환합니다:

  • (부울)

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



419
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 419

Attach_function :mongocrypt_status, %i[포인터 포인터], :bool

.mongocrypt_status_code(status) ⇒ 정수

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

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

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (정수)

    상태 코드입니다.



241
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 241

Attach_function :mongocrypt_status_code, [ :pointer ], :int

.mongocrypt_status_destory(status) ⇒ nil

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

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

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (nil)

    항상 nil입니다.



267
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 267

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)

    상태 메시지입니다.



251
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 251

Attach_function :mongocrypt_status_message, %i[포인터 포인터], : 문자열

.mongocrypt_status_newFFI::Pointer

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

새 mongocrypt_status_t 객체를 만듭니다.

반환합니다:

  • (FFI::Pointer)

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



207
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 207

Attach_function :mongocrypt_status_new, [], :pointer

.mongocrypt_status_ok(status) ⇒ 부울

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

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

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (부울)

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



259
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 259

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입니다.



221
222
223
224
225
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 221

Attach_function(
  :mongocrypt_status_set,
  %i[포인터 status_type int 문자열 int],
  : 무효
)

.mongocrypt_status_type(status) ⇒ Symbol

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

상태 유형을 나타냅니다.

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (기호)

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



233
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 233

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 입니다.



93
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 93

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

.ongocrypt_newFFI::Pointer

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

새 mongocrypt_t 객체 를 만듭니다.

반환합니다:

  • (FFI::Pointer)

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



301
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 301

Attach_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/Binding.rb', 줄 106

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 암호 해독 방법

다음을 발생시킵니다.



1511
1512
1513
1514
1515
1516
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1511

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

crypt_shared 동적 라이브러리를 로드하기 위해 검색 경로에 추가 검색 디렉토리 를 추가합니다.

매개변수:

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

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



1544
1545
1546
1547
1548
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1544

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 상태로 전환되지 않습니다.

매개변수:



1478
1479
1480
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1478

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

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

매개변수:

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

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

다음을 발생시킵니다.



1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1403

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 해시 메서드

다음을 발생시킵니다.



1367
1368
1369
1370
1371
1372
1373
1374
1375
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1367

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_enable_multiple_collinfo(처리하다) ⇒ 부울

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

여러 컬렉션 스키마에 대한 지원 활성화합니다. $lookup을 지원 데 필요합니다.

매개변수:

반환합니다:

  • (부울)

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



1678
1679
1680
1681
1682
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1678

def self.setopt_enable_multiple_collinfo(처리하다)
  check_status(처리하다) do
    mongocrypt_setopt_enable_multiple_collinfo(처리하다.ref)
  end
end

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

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

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

매개변수:

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

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

다음을 발생시킵니다.



1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1446

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 문서 입니다.

다음을 발생시킵니다.



355
356
357
358
359
360
361
362
363
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 355

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 객체 에 로거 콜백 함수를 설정합니다.

매개변수:

다음을 발생시킵니다.



325
326
327
328
329
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 325

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 객체로서의 스키마 맵

다음을 발생시킵니다.



382
383
384
385
386
387
388
389
390
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 382

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)

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



1572
1573
1574
1575
1576
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1572

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_provide_kms_providers 설정하다( 를 ) 통해 자격 증명 상태 제공될 때까지 을(를) 통해 자격 증명 제공될 때까지 대기할 수 있습니다.

mongocrypt_setopt_kms_providers의 KMS 제공자 에 대해 빈 문서 설정하다 경우에만 컨텍스트가 MongOCRYPT_CTX_NEED_KMS_CREDENTIALS에 진입합니다.

매개변수:



1656
1657
1658
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1656

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

.setopt_use_need_mongo_collinfo_with_db_state(처리하다) ⇒ 객체

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

MongOCRYPT_CTX_NEED_MONGO_COLLINFO_WITH_DB 상태 처리하도록 선택합니다.

매개변수:



1701
1702
1703
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1701

def self.setopt_use_need_mongo_collinfo_with_db_state(처리하다)
  mongocrypt_setopt_use_need_mongo_collinfo_with_db_state(처리하다.ref)
end

.validate_document(data) ⇒ Object

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

참고:

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

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

매개변수:

  • 데이터 (객체)

    libmongocrypt로 전달할 데이터

다음을 발생시킵니다.



1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1916

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)

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



129
130
131
132
133
134
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 129

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)

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



1259
1260
1261
1262
1263
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1259

콜백(
  :mongocrypt_crypto_fn,
  %i[포인터 포인터 포인터 포인터 포인터 포인터 포인터],
  :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)

    해싱의 성공 여부입니다.



1307
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1307

콜백 :mongocrypt_hash_fn, %i[포인터 포인터 포인터 포인터], :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의 성공적인 여부입니다.



1284
1285
1286
1287
1288
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1284

콜백(
  :mongocrypt_hmac_fn,
  %i[포인터 포인터 포인터 포인터 포인터],
  :bool
)

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

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

참고:

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

mongocrypt 로그 함수에 대한 콜백 . mongocrypt_setopt_log_handler 메서드를 사용하여 사용자 지정 로그 콜백 설정

매개변수:

  • 레벨 (기호)

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

  • 메시지 (string)

    로그 메시지

  • len (정수)

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

  • ctx (FFI::Pointer | nil)

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

반환합니다:

  • (nil)

    항상 nil입니다.



294
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 294

콜백 :mongocrypt_log_fn_t, %i[log_level 문자열 int 포인터], : 무효

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

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

참고:

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

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

매개변수:

  • ctx (FFI::Pointer | nil)

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

  • 출력 (FFI::Pointer)

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

  • 카운트 (정수)

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

  • 상태 (FFI::Pointer)

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

반환합니다:

  • (Bool)

    해싱의 성공 여부입니다.



1325
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1325

콜백 :mongocrypt_random_fn, %i[포인터 포인터 int 포인터], :bool