Clase: Mongo::Crypt::Handle Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::Handle
- Definido en:
- lib/mongo/crypt/handle.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
Un identificador para la biblioteca libmongocrypt que encapsula un objeto mongocrypt_t, permitiendo a los clientes configurar las opciones de ese objeto o realizar operaciones como cifrado y descifrado
Resumen de atributos de la instancia colapsar
- #kms_providers ⇒ objeto Solo lectura privado
Resumen del método de instancia colapsar
- #¿crypt_shared_lib_available? ⇒ Booleano privado
- #crypt_shared_lib_version ⇒ Objeto privado
-
#initialize(kms_providers, kms_tls_options, options = {}) ⇒ Handle
constructor
privado
Crea un nuevo objeto Handle y lo inicializa con las opciones.
-
#kms_tls_options(proveedor) ⇒ Hash
privado
Devolver opciones TLS para el proveedor KMS.
-
#ref ⇒ FFI::Pointer
privado
Devuelve la referencia al objeto subyacente @mongocrypt.
Detalles del constructor
#initialize(kms_providers, kms_tls_options, options = {}) ⇒ Handle
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto Handle y lo inicializa con opciones
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 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 67 def inicializar(proveedores de kms, , ={}) # FFI::AutoPointer utiliza una estrategia de liberación personalizada para liberar automáticamente # el puntero una vez que este objeto salga del alcance @mongocrypt = FFI::Apuntador automático.Nuevo( Vinculante.mongocrypt_new, Vinculante.Método(: mongocrypt_destroy) ) Vinculante.kms_ctx_setopt_retry_kms(sí mismo, true) @kms_providers = proveedores de kms @kms_tls_options = tal_vez_establecer_mapa_de_esquema() @encrypted_fields_map = [mapa_de_campos_cifrados] establecer_mapa_de_campos_encriptados si @encrypted_fields_map @bypass_query_analysis = [:omitir_análisis_de_consultas] set_bypass_query_analysis si @bypass_query_analysis @crypt_shared_lib_path = [crypt_shared_lib_path] @explicit_encryption_only = [:explicit_encryption_only] si @crypt_shared_lib_path Vinculante.setopt_set_crypt_shared_lib_path_override(sí mismo, @crypt_shared_lib_path) elsif !@bypass_query_analysis && !@explicit_encryption_only Vinculante.setopt_append_crypt_shared_lib_search_path(sí mismo, "$SYSTEM") end @logger = [:logger] set_logger_callback si @logger set_crypto_hooks Vinculante.setopt_kms_providers(sí mismo, @kms_providers.to_document) si @kms_providers.aws&.¿vacío? || @kms_providers.gcp&.¿vacío? || @kms_providers.azur&.¿vacío? Vinculante.setopt_use_need_kms_credentials_state(sí mismo) end inicializar_mongocrypt @crypt_shared_lib_required = !![:crypt_shared_lib_requiere] si @crypt_shared_lib_required && versión de biblioteca compartida de crypt == 0 propagar Mongo::Error::CryptError.Nuevo( "Serequiere la biblioteca compartida Crypt, pero no se puede cargar según libmongocrypt" ) end end |
Detalles de los atributos de instancia
#kms_providers ⇒ Objeto (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
32 33 34 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 32 def proveedores de kms @kms_providers end |
Detalles del método de instancia
#¿crypt_shared_lib_available? ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
136 137 138 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 136 def ¿Crypt_shared_lib_available? versión de biblioteca compartida de crypt != 0 end |
#crypt_shared_lib_version ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
132 133 134 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 132 def versión de biblioteca compartida de crypt Vinculante.versión de biblioteca compartida de crypt(sí mismo) end |
#kms_tls_options(proveedor) ⇒ Hash
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve opciones TLS para el proveedor de KMS. Si no se configuran opciones de TLS, se devuelve un hash vacío.
128 129 130 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 128 def (Proveedor) @kms_tls_options.obtener(Proveedor, {}) end |
#ref ⇒ FFI::Pointer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la referencia al objeto @mongocrypt subyacente
118 119 120 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 118 def ref @mongocrypt end |