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



1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1815

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

매개변수:

다음을 발생시킵니다.



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

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

.check_status(처리하다) ⇒ nil

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

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

반환합니다:

  • (nil)

    항상 nil입니다.



1802
1803
1804
1805
1806
1807
1808
1809
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1802

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



1608
1609
1610
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1608

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

매개변수:

다음을 발생시킵니다.



1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1206

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

매개변수:

다음을 발생시킵니다.



1183
1184
1185
1186
1187
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1183

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

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

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

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

매개변수:

다음을 발생시킵니다.



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

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)

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



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

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



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

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

다음을 발생시킵니다.



1681
1682
1683
1684
1685
1686
1687
1688
1689
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1681

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

참고:

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

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

공개 사용.

매개변수:

다음을 발생시킵니다.



1788
1789
1790
1791
1792
1793
1794
1795
1796
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1788

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)

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

  • 요인 (정수)

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

다음을 발생시킵니다.



1751
1752
1753
1754
1755
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1751

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

다음을 발생시킵니다.



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

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에 필요한 바이트 수를 가져옵니다.

매개변수:

반환합니다:

  • (정수)

    필요한 바이트 수



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

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

다음을 발생시킵니다.



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

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)

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



1146
1147
1148
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1146

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

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

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

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

매개변수:

다음을 발생시킵니다.



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

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



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

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

다음을 발생시킵니다.



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

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



1165
1166
1167
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1165

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비트로 인코딩된 마이크로초 수입니다.



1129
1130
1131
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1129

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



1586
1587
1588
1589
1590
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1586

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



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean

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

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

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (부울)

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



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

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

반환합니다:

  • (부울)

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



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

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



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

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

반환합니다:

  • (부울)

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



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

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



1664
1665
1666
1667
1668
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1664

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



1770
1771
1772
1773
1774
1775
1776
1777
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1770

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

.mongocrypt_ctx_setopt_contention_factor(ctx,contention_factor) ⇒ 객체

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



1735
1736
1737
1738
1739
1740
1741
1742
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1735

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



1702
1703
1704
1705
1706
1707
1708
1709
1710
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1702

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



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

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

반환합니다:

  • (정수)

    필요한 바이트 수입니다.



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

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

반환합니다:

  • (부울)

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



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_kms_ctx_fail(ctx) ⇒ Object

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



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ 객체

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



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

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

반환합니다:

  • (부울)

    작업의 성공 여부입니다.



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

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

반환합니다:

  • (부울)

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



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

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

.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64

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

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

매개변수:

  • ctx (FFI::Pointer)

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

반환합니다:

  • (int64)

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



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

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)

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

반환합니다:

  • (부울)

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



1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1482

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



1519
1520
1521
1522
1523
1524
1525
1526
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1519

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

.mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ 객체

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



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

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)

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

반환합니다:

  • (부울)

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



1375
1376
1377
1378
1379
1380
1381
1382
1383
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1375

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)

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

반환합니다:

  • (부울)

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



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

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_encrypted_field_config_map(crypt, efc_map) ⇒ 객체

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



1417
1418
1419
1420
1421
1422
1423
1424
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1417

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



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

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



1548
1549
1550
1551
1552
1553
1554
1555
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1548

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

.mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ 객체

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



1627
1628
1629
1630
1631
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1627

Attach_function(
  :mongocrypt_setopt_use_need_kms_credentials_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 암호 해독 방법

다음을 발생시킵니다.



1500
1501
1502
1503
1504
1505
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1500

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



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

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

매개변수:



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

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

다음을 발생시킵니다.



1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1392

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

다음을 발생시킵니다.



1356
1357
1358
1359
1360
1361
1362
1363
1364
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1356

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

다음을 발생시킵니다.



1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1435

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)

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



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

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

매개변수:



1645
1646
1647
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1645

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

다음을 발생시킵니다.



1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1838

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)

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



1248
1249
1250
1251
1252
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1248

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

    해싱의 성공 여부입니다.



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

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



1273
1274
1275
1276
1277
# 파일 'lib/ Mongo/crypt/Binding.rb', 줄 1273

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

    해싱의 성공 여부입니다.



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

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