클래스: 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입니다.



1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1821

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를 발생시킵니다.

매개변수:

다음을 발생시킵니다.



1107
1108
1109
1110
1111
1112
1113
1114
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1107

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



1808
1809
1810
1811
1812
1813
1814
1815
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1808

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



1614
1615
1616
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1614

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

.ctx_datakey_init(context) ⇒ 객체

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

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

매개변수:

다음을 발생시킵니다.



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

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

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

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

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

매개변수:

다음을 발생시킵니다.



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

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)

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

  • 명령 (해시)

    암호화됨 할 명령

다음을 발생시킵니다.



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

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

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

매개변수:

다음을 발생시킵니다.



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

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

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

매개변수:

다음을 발생시킵니다.



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

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

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

매개변수:

다음을 발생시킵니다.



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

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

매개변수:

다음을 발생시킵니다.



1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1209

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에 표시합니다.

매개변수:

다음을 발생시킵니다.



1186
1187
1188
1189
1190
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1186

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

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

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

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

매개변수:

다음을 발생시킵니다.



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

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)

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



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

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



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

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

다음을 발생시킵니다.



1687
1688
1689
1690
1691
1692
1693
1694
1695
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1687

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

반환합니다:

  • (부울)

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



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

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"

다음을 발생시킵니다.



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

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

참고:

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

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

공개 사용.

매개변수:

다음을 발생시킵니다.



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

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)

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

  • 요인 (정수)

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

다음을 발생시킵니다.



1757
1758
1759
1760
1761
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1757

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

    대체 키 이름의 문자열 배열

다음을 발생시킵니다.



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

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

다음을 발생시킵니다.



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

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

매개변수:

다음을 발생시킵니다.



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

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 바이트

다음을 발생시킵니다.



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

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

다음을 발생시킵니다.



1725
1726
1727
1728
1729
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1725

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



181
182
183
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 181

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

.get_binary_len_direct(mongocrypt_binary_t) ⇒ 객체

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



185
186
187
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 185

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

.init(처리하다) ⇒ 객체

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

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

매개변수:

다음을 발생시킵니다.



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

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

.kms_ctx_bytes_needed(kms_context) ⇒ 정수

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

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

매개변수:

반환합니다:

  • (정수)

    필요한 바이트 수



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

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

다음을 발생시킵니다.



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

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)

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



1148
1149
1150
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1148

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

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

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

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

매개변수:

다음을 발생시킵니다.



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

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



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

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

다음을 발생시킵니다.



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

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



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

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

.kms_ctx_usleep(kms_context) ⇒ Integer

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

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

매개변수:

반환합니다:

  • (정수)

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



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

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)

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



171
# 파일 '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입니다.



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

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

.mongocrypt_binary_len(바이너리) ⇒ 정수

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

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

매개변수:

  • 바이너리 (FFI::Pointer)

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

반환합니다:

  • (정수)

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



179
# 파일 '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
# 파일 '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
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 159

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

.mongocrypt_crypt_shared_lib_version(crypt) ⇒ 객체

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



1592
1593
1594
1595
1596
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1592

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

.mongocrypt_ctx_datakey_init(ctx, 필터) ⇒ 객체

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



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

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

반환합니다:

  • (부울)

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



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

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



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

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

반환합니다:

  • (부울)

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



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

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

반환합니다:

  • (부울)

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



804
805
806
807
808
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 804

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

반환합니다:

  • (부울)

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



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean

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

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

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (부울)

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



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

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

반환합니다:

  • (부울)

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



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

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



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

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

반환합니다:

  • (부울)

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



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

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



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

Attach_function :mongocrypt_ctx_new, [:pointer], :pointer

.mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ 객체

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



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ⇒ 객체

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



1776
1777
1778
1779
1780
1781
1782
1783
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1776

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

.mongocrypt_ctx_setopt_contention_factor(ctx,contention_factor) ⇒ 객체

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



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

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

반환합니다:

  • (부울)

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



487
488
489
490
491
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 487

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

반환합니다:

  • (부울)

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



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

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

반환합니다:

  • (부울)

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



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ 객체

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



1708
1709
1710
1711
1712
1713
1714
1715
1716
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1708

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 열거형에 정의된 값 중 하나입니다.



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_destory(crypt) ⇒ nil

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

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

매개변수:

  • crypt (FFI::Pointer)

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

반환합니다:

  • (nil)

    항상 nil입니다.



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

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

.mongocrypt_init(crypt) ⇒ 부울

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

mongocrypt_t 객체 를 초기화합니다.

매개변수:

  • crypt (FFI::Pointer)

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

반환합니다:

  • (부울)

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



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

Attach_function :mongocrypt_init, [:pointer], :bool

.mongocrypt_kms_ctx_bytes_needed(KMS) ⇒ 정수

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

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

매개변수:

  • KMS (FFI::Pointer)

    mongocrypt_kms_ctx_t 객체 입니다.

반환합니다:

  • (정수)

    필요한 바이트 수입니다.



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

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

반환합니다:

  • (부울)

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



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

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 을 기록할 포인터입니다.

반환합니다:

  • (부울)

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



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

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

.mongocrypt_kms_ctx_fail(ctx) ⇒ Object

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



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ 객체

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



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

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

반환합니다:

  • (부울)

    작업의 성공 여부입니다.



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64

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

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

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (int64)

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



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

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)

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

반환합니다:

  • (부울)

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



1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1487

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



1525
1526
1527
1528
1529
1530
1531
1532
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1525

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

.mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ 객체

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



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

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)

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

반환합니다:

  • (부울)

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



1380
1381
1382
1383
1384
1385
1386
1387
1388
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1380

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)

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

반환합니다:

  • (부울)

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



1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1333

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



1422
1423
1424
1425
1426
1427
1428
1429
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1422

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



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

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)

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

반환합니다:

  • (부울)

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



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

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

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

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



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

Attach_function :mongocrypt_setopt_retry_kms, [:pointer, :bool], :bool

.mongocrypt_setopt_schema_map(crypt, schema_map) ⇒ 부울

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

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

매개변수:

  • crypt (FFI::Pointer)

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

  • schema_map (FFI::Pointer)

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, 경로) ⇒ 객체

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



1554
1555
1556
1557
1558
1559
1560
1561
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1554

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

.mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ 객체

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



1633
1634
1635
1636
1637
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1633

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_status_code(status) ⇒ 정수

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

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

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (정수)

    상태 코드입니다.



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

Attach_function :mongocrypt_status_code, [:pointer], :int

.mongocrypt_status_destory(status) ⇒ nil

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

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

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (nil)

    항상 nil입니다.



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

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)

    상태 메시지입니다.



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

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

.mongocrypt_status_newFFI::Pointer

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

새 mongocrypt_status_t 객체를 만듭니다.

반환합니다:

  • (FFI::Pointer)

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



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

Attach_function :mongocrypt_status_new, [], :pointer

.mongocrypt_status_ok(status) ⇒ 부울

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

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

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (부울)

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



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

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



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

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

.mongocrypt_status_type(status) ⇒ Symbol

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

상태 유형을 나타냅니다.

매개변수:

  • 상태 (FFI::Pointer)

    mongocrypt_status_t에 대한 포인터입니다.

반환합니다:

  • (기호)

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



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

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
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 95

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

.ongocrypt_newFFI::Pointer

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

새 mongocrypt_t 객체 를 만듭니다.

반환합니다:

  • (FFI::Pointer)

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



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

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
# 파일 '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 암호 해독 방법

다음을 발생시킵니다.



1505
1506
1507
1508
1509
1510
1511
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1505

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



1539
1540
1541
1542
1543
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1539

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

매개변수:



1472
1473
1474
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1472

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 서명 메서드입니다.

다음을 발생시킵니다.



1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1397

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

다음을 발생시킵니다.



1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1359

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

다음을 발생시킵니다.



1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1440

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

다음을 발생시킵니다.



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

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

매개변수:

다음을 발생시킵니다.



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

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

다음을 발생시킵니다.



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

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)

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



1567
1568
1569
1570
1571
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1567

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로 들어갑니다.

매개변수:



1651
1652
1653
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1651

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로 전달할 데이터

다음을 발생시킵니다.



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

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
# 파일 '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)

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



1251
1252
1253
1254
1255
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1251

콜백(
  :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)

    해싱의 성공 여부입니다.



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

콜백 :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의 성공적인 여부입니다.



1276
1277
1278
1279
1280
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1276

콜백(
  :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입니다.



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

콜백 :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)

    해싱의 성공 여부입니다.



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

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