Classe: Mongo::Crypt::Handle Private
- Herda:
-
Objeto
- Objeto
- Mongo::Crypt::Handle
- Definido em:
- 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 ➤ Criptografar::KMS::Credentials
Somente leitura
privado
Credenciais para provedores de KMS.
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
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 114 115 116 |
# Arquivo 'lib/mongo/crypt/handle.rb', linha 69 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) ) Vinculação.kms_ctx_setopt_retry_kms(auto, true) @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] @disable_crypt_shared_lib_search = [:disable_crypt_shared_lib_search] 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 && !@disable_crypt_shared_lib_search 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] Método a menos que @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 |
Detalhes do atributo da instância
#kms_providers ⇒ Crypt::KMS::Credentials (readonly)
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.
Retorna credenciais para provedores de KMS.
29 30 31 |
# Arquivo 'lib/mongo/crypt/handle.rb', linha 29 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.
139 140 141 |
# Arquivo 'lib/mongo/crypt/handle.rb', linha 139 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.
135 136 137 |
# Arquivo 'lib/mongo/crypt/handle.rb', linha 135 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.
131 132 133 |
# Arquivo 'lib/mongo/crypt/handle.rb', linha 131 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
121 122 123 |
# Arquivo 'lib/mongo/crypt/handle.rb', linha 121 def ref @mongocrypt end |