Classe: Mongo::Crypt::Handle Private
- Herda:
-
Objeto
- Objeto
- Mongo::Crypt::Handle
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/crypt/handle.rb
Visão geral
Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.
Um identificador para a biblioteca libmongocrypt que envolve um objeto mongocrypt_t , permitindo que os clientes definam opções nesse objeto ou executem operações como criptografia e descriptografia
Recolhimento do Resumo do atributo de instância
- #kms_providers ➤ Objeto Somente leitura privado
Recolhimento do Resumo do método de instância
- #crypt_shared_lib_available? ➤ Booleano privado
- #crypt_shared_lib_version ➤ Objeto privado
-
#initialize(kms_providers, kms_tls_options, options = {}) ⇒ Handle
construtor
privado
Cria um novo objeto Handle e o inicializa com opções.
-
#kms_tls_options(provider) ➤ Hash
privado
Retornar opções de TLS para o provedor de KMS.
-
#ref ➤ FFI::Pointer
privado
Retorne a referência ao objeto@mongocrypt subjacente.
Detalhes do construtor
#initialize(kms_providers, kms_tls_options, options = {}) ⇒ Handle
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Cria um novo objeto de manuseio e o inicializa com opções
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/handle.rb', linha 67 def inicializar(kms_providers, , ={}) # O FFI::AutoPointer usa uma estratégia de liberação personalizada para liberar automaticamente # o ponteiro quando esse objeto sair do escopo @mongocrypt = FFI::AutoPointer.Novo( Vinculação.mongocrypt_new, Vinculação.Método(:mongocrypt_destroy) ) @kms_providers = kms_providers @kms_tls_options = talvez_set_schema_map() @encrypted_fields_map = [:encrypted_fields_map] set_encrypted_fields_map se @encrypted_fields_map @bypass_query_analysis = [:bypass_query_analysis] set_bypass_query_analysis se @bypass_query_analysis @crypt_shared_lib_path = [:crypt_shared_lib_path] @explicit_encryption_only = [:explicit_encryption_only] se @crypt_shared_lib_path Vinculação.setopt_set_crypt_shared_lib_path_override(auto, @crypt_shared_lib_path) elsif !@bypass_query_analysis && !@explicit_encryption_only Vinculação.setopt_append_crypt_shared_lib_search_path(auto, "$SYSTEM") end @logger = [:logger] set_logger_callback se @logger set_crypto_hooks Vinculação.setopt_kms_providers(auto, @kms_providers.to_document) se @kms_providers.AWS&.vazio? || @kms_providers.GCP&.vazio? || @kms_providers.Azure&.vazio? Vinculação.setopt_use_need_kms_credentials_state(auto) end initialize_mongocrypt @crypt_shared_lib_required = !![:crypt_shared_lib_required] se @crypt_shared_lib_required && crypt_shared_lib_version == 0 aumentar mongo::Erro::Criptografia de erro.Novo( "A biblioteca compartilhada de criptografia é necessária, mas não pode ser carregada de acordo com libmongocrypt" ) end end |
Detalhes do atributo da instância
#kms_providers ➤ Objeto (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
32 33 34 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/handle.rb', linha 32 def kms_providers @kms_providers end |
Detalhes do método de instância
#crypt_shared_lib_available? ➤ Booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
136 137 138 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/handle.rb', linha 136 def crypt_shared_lib_available? crypt_shared_lib_version != 0 end |
#crypt_shared_lib_version ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
132 133 134 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/handle.rb', linha 132 def crypt_shared_lib_version Vinculação.crypt_shared_lib_version(auto) end |
#kms_tls_options(provider) ➤ Hash
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retornar opções de TLS para o provedor de KMS. Se não houver opções de TLS definidas, o hash vazio será retornado.
128 129 130 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/handle.rb', linha 128 def (fornecedor) @kms_tls_options.buscar(fornecedor, {}) end |
#ref ➤ FFI::Pointer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorne a referência ao objeto @mongocrypt subjacente
118 119 120 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/handle.rb', linha 118 def ref @mongocrypt end |