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 ⇒ Crypt::KMS::Credentials
Solo lectura
privado
Credenciales para proveedores KMS.
Resumen del método de instancia colapsar
- #crypt_shared_lib_available? ⇒ Booleano privado
- #crypt_shared_lib_version ⇒ Object 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
Devuelve las 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 es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto Handle y lo inicializa con opciones
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 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 69 def inicializar(kms_providers, , = {}) # 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 = kms_providers @kms_tls_options = tal_vez_establecer_mapa_de_esquema() @encrypted_fields_map = [mapa_de_campos_cifrados] set_encrypted_fields_map 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] @disable_crypt_shared_lib_search = [:disable_crypt_shared_lib_search] 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 && !@disable_crypt_shared_lib_search 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.Azure&.¿vacío? Vinculante.setopt_use_need_kms_credentials_state(sí mismo) end initialize_mongocrypt @crypt_shared_lib_required = !![:crypt_shared_lib_requiere] return a menos que @crypt_shared_lib_required && crypt_shared_lib_version == 0 propagar mongo::Error::CryptError.Nuevo( 'Se requiere la librería compartida Crypt, pero no se puede cargar según libmongocrypt' ) end |
Detalles de atributo de instancias
#kms_providers ⇒ Crypt::KMS::Credentials (solo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve credenciales para proveedores de KMS.
29 30 31 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 29 def kms_providers @kms_providers end |
Detalles del método de instancia
#crypt_shared_lib_available? ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
139 140 141 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 139 def crypt_shared_lib_available? crypt_shared_lib_version != 0 end |
#crypt_shared_lib_version ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
135 136 137 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 135 def crypt_shared_lib_version Vinculante.crypt_shared_lib_version(sí mismo) end |
#kms_tls_options(proveedor) ⇒ Hash
Este método es parte de una API privada. Se debe evitar el uso de este método 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.
131 132 133 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 131 def (Proveedor) @kms_tls_options.obtener(Proveedor, {}) end |
#ref ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la referencia al objeto @mongocrypt subyacente
121 122 123 |
# Archivo 'lib/mongo/crypt/handle.rb', línea 121 def ref @mongocrypt end |