Class: Mongo::Crypt::Binding Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::Binding
- Ampliado por:
- FFI::librería
- Definido en:
- lib/mongo/crypt/binding.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 enlace de Ruby para la librería C libmongocrypt
Resumen de constantes colapsar
- MIN_LIBMONGOCRYPT_VERSION =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.
Versión mínima de libmongocrypt requerida por esta versión del controlador. Un intento de usar el controlador con cualquier versión anterior de libmongocrypt provocará un
LoadError. Gem::Versión.Nuevo('1.12.0')
Resumen del método de clase colapsar
-
.check_ctx_status(context) ⇒ nil
privado
Levanta un Mongo::Error::CryptError según el estado del objeto mongocrypt_ctx_t subyacente.
-
.check_kms_ctx_status(kms_context) ⇒ Objeto
privado
Si el bloque proporcionado devuelve falso, genera un error CryptError con la información de estado del objeto KmsContext proporcionado.
-
.check_status(handle) ⇒ nil
privado
Genera una excepción Mongo::Error::CryptError en función del estado del objeto subyacente mongocrypt_t.
-
.crypt_shared_lib_version(gestionar) ⇒ Entero
privado
Obtenga una constante de 64bits que codifique la versión de la librería crypt_shared cargada, si está disponible.
-
.ctx_datakey_init(context) ⇒ Objeto
privado
Inicializa el Contexto para crear una clave de datos.
-
.ctx_decrypt_init(contexto, comando) ⇒ Objeto
privado
Inicializar el contexto para la descifrado automática.
-
ctx_encrypt_init(context, db_name, command) ⇒ Object
privado
Inicializar el Contexto para el cifrado automático.
-
.ctx_explicit_decrypt_init(context, doc) ⇒ Object
privado
Iniciar el Contexto para la descifrado explícito.
-
.ctx_explicit_encrypt_expression_init(context, doc) ⇒ Object
privado
Inicializa el Contexto para el cifrado explícito de expresiones.
-
.ctx_explicit_encrypt_init(context, doc) ⇒ Object
privado
Inicializa el contexto para el cifrado explícito.
-
.ctx_finalize(contexto) ⇒ objeto
privado
Finaliza la máquina de estados representada por el Context.
-
.ctx_kms_done(context) ⇒ Object
privado
Indique a libmongocrypt que no recibirá más respuestas de KMS.
-
.ctx_mongo_feed(contexto, doc) ⇒ Objeto
privado
Envia una respuesta del driver de vuelta a libmongocrypt.
-
.ctx_mongo_op(context) ⇒ BSON::Document
privado
Devuelve un BSON::Document que representa una operación que el driver debe realizar en nombre de libmongocrypt para obtener la información que necesita para continuar con el cifrado/descifrado (por ejemplo, un filtro para una query en el key vault).
-
.ctx_next_kms_ctx(context) ⇒ Mongo::Crypt::KmsContext | nil
privado
Devuelve un nuevo objeto KmsContext necesario para un objeto Context.
-
.ctx_provide_kms_providers(contexto, proveedores_kms) ⇒ Objeto
privado
Llame en respuesta al estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS para establecer la configuración del proveedor de KMS por contexto.
-
.ctx_rewrap_many_datakey_init(contexto, filtro) ⇒ Booleano
privado
Inicialice un contexto para volver a aplicar claves de datos.
-
.ctx_setopt_algorithm(contexto, nombre) ⇒ Objeto
privado
Configura el algoritmo en el contexto.
-
.ctx_setopt_algorithm_range(context, opts) ⇒ objeto
privado
Configuración de opciones para el cifrado explícito con el algoritmo "rango".
-
.ctx_setopt_contention_factor(contexto, factor) ⇒ Objeto
privado
Establece el factor de contención utilizado para el cifrado explícito.
-
.ctx_setopt_key_alt_names(contexto, key_alt_names) ⇒ Objeto
privado
Establezca varios nombres alternativos de clave al crear la clave de datos.
-
.ctx_setopt_key_encryption_key(context, key_document) ⇒ objeto
privado
Establece el documento de clave de cifrado de clave para crear una clave de datos.
-
.ctx_setopt_key_id(context, key_id) ⇒ Object
privado
Establece la opción ID de clave en un contexto de cifrado explícito.
-
.ctx_setopt_key_material(contexto, key_material) ⇒ Objeto
privado
Establece un material clave personalizado para usar en el cifrado de datos.
-
.ctx_setopt_query_type(context, query_type) ⇒ Object
privado
Establece el tipo de query a utilizar para el cifrado explícito FLE 2.
- .get_binary_data_direct(mongocrypt_binary_t) ⇒ Objeto privado
- .get_binary_len_direct(mongocrypt_binary_t) ⇒ objeto privado
-
.init(handle) ⇒ Object
privado
Inicializa el objeto Mongo::Crypt::Handle.
-
.kms_ctx_bytes_needed(kms_context) ⇒ Entero
privado
Obtener el número de bytes necesarios para el KmsContext.
-
.kms_ctx_endpoint(kms_context) ⇒ String | nil
privado
Obtén el nombre del host con el cual conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
-
.kms_ctx_fail(kms_context) ⇒ true, false
privado
Compruebe si la última solicitud fallida para el contexto KMS puede volver a intentarse.
-
.kms_ctx_feed(kms_contexto, bytes) ⇒ Objeto
privado
Devuelve las respuestas del KMS a libmongocrypt.
-
.kms_ctx_get_kms_provider(kms_context) ⇒ objeto
privado
Obtén el identificador del proveedor de KMS asociado con esta solicitud de KMS.
-
.kms_ctx_message(kms_context) ⇒ String
privado
Obtenga el mensaje HTTP necesario para obtener la clave maestra de AWS KMS de un objeto KmsContext.
-
.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale
privado
Habilitar o deshabilitar el comportamiento de reintento de KMS.
-
.kms_ctx_usleep(kms_context) ⇒ Integer
privado
Devuelve el número de milisegundos que se deben esperar antes de enviar la solicitud de KMS para el contexto de KMS dado.
-
.mongocrypt_binary_data(binary) ⇒ FFI::Pointer
privado
Obtén el puntero a los datos subyacentes para el mongocrypt_binary_t.
-
.mongocrypt_binary_destroy(binario) ⇒ nulo
privado
Destruye el objeto mongocrypt_binary_t.
-
.mongocrypt_binary_len(binario) ⇒ Integer
privado
Obtén la longitud del arreglo de datos subyacente.
-
.mongocrypt_binary_new ⇒ FFI::Pointer
privado
Crea un nuevo objeto mongocrypt_binary_t (una vista no propietaria de un arreglo de bytes).
-
.mongocrypt_binary_new_from_data(data, len) ⇒ FFI::Pointer
privado
Crea un nuevo objeto mongocrypt_binary_t que mantenga un puntero al arreglo de bytes especificado.
- .mongocrypt_crypt_shared_lib_version(crypt) ⇒ Object privado
- .mongocrypt_ctx_datakey_init(ctx, filtro) ⇒ objeto privado
-
.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean
privado
Inicializa el ctx para la descifrado automático.
-
.mongocrypt_ctx_destroy(ctx) ⇒ nil
privado
Destruye la referencia al objeto mongocrypt_ctx_t.
-
.mongocrypt_ctx_encrypt_init(ctx, db, db_len, cmd) ⇒ Boolean
privado
Inicializa el ctx para el cifrado automático.
-
.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean
privado
Inicializa el ctx para una descifrado explícito.
-
.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean
privado
Inicializa el ctx para el cifrado explícito de expresiones.
-
.mongocrypt_ctx_finalize(ctx, op_bson) ⇒ Booleano
privado
Realice el cifrado o descifrado final y devuelva un documento BSON.
-
.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean
privado
Indique a libmongocrypt que el driver terminó de enviar respuestas.
-
.mongocrypt_ctx_mongo_feed(ctx, reply) ⇒ Boolean
privado
Inyecta una respuesta BSON a libmongocrypt.
-
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ⇒ FFI::Pointer
privado
Devuelve un puntero a un objeto mongocrypt_kms_ctx_t o NULL.
-
.mongocrypt_ctx_mongo_op(ctx, op_bson) ⇒ Booleano
privado
Obtén una operación BSON para que el controlador la ejecute en la colección de MongoDB, en la base de datos Key Vault o en mongocryptd.
-
.mongocrypt_ctx_new(crypt) ⇒ FFI::Pointer
privado
Crea un nuevo objeto mongocrypt_ctx_t (un contenedor para la máquina de estados libmongocrypt).
- .mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ Objeto privado
-
.mongocrypt_ctx_setopt_algorithm(ctx, algoritmo, len) ⇒ Booleano
privado
Establezca el algoritmo utilizado para el cifrado explícito.
- .mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ⇒ Objeto privado
- .mongocrypt_ctx_setopt_contention_factor(ctx, contention_factor) ⇒ Objeto privado
-
.mongocrypt_ctx_setopt_key_alt_name(ctx, binary) ⇒ Booleano
privado
Al crear una clave de datos, configure un nombre alternativo en esa clave.
-
.mongocrypt_ctx_setopt_key_encryption_key(ctx) ⇒ booleano
privado
Establece el documento de clave de cifrado de clave para crear una clave de datos.
-
.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean
privado
Configurá el id de clave que se usará para el cifrado explícito.
-
.mongocrypt_ctx_setopt_key_material(ctx, binary) ⇒ Booleano
privado
Al crear una clave de datos, establezca un material clave personalizado para cifrar datos.
- .mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ Object privado
-
.mongocrypt_ctx_state(ctx) ⇒ Símbolo
privado
Obtenga el estado actual del ctx.
-
.mongocrypt_ctx_status(ctx, status) ⇒ Booleano
privado
Establezca la información de estado desde el objeto mongocrypt_ctx_t en el objeto mongocrypt_status_t.
-
.mongocrypt_destroy(crypt) ⇒ nil
privado
Destruye la referencia del objeto mongocrypt_t.
-
.mongocrypt_init(crypt) ⇒ Booleano
privado
Inicializa el objeto mongocrypt_t.
-
.mongocrypt_kms_ctx_bytes_needed(kms) ⇒ Entero
privado
Obtenga el número de bytes necesarios para el contexto KMS.
-
.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean
privado
Indique a libmongocrypt que no recibirá más respuestas de los objetos mongocrypt_kms_ctx_t.
-
.mongocrypt_kms_ctx_endpoint(kms, endpoint) ⇒ booleano
privado
Obtén el nombre del host con el cual conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
- .mongocrypt_kms_ctx_fail(ctx) ⇒ Object privado
-
.mongocrypt_kms_ctx_feed(kms, bytes) ⇒ booleano
privado
Devuelve las respuestas del KMS a libmongocrypt.
- .mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ Objeto privado
-
.mongocrypt_kms_ctx_message(kms, msg) ⇒ Booleano
privado
Obtenga el mensaje necesario para obtener la clave maestra de AWS KMS.
-
.mongocrypt_kms_ctx_status(kms, status) ⇒ Booleano
privado
Escribe información de estado sobre el objeto mongocrypt_kms_ctx_t en el objeto mongocrypt_status_t.
-
.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64
privado
Indica cuánto tiempo debe esperar antes de enviar la solicitud de KMS.
-
.mongocrypt_setopt_aes_256_ctr(crypt, aes_256_ctr_encrypt, aes_256_ctr_decrypt, ctx) ⇒ Booleano
privado
Configura un hash criptográfico para las operaciones AES256-CTR.
- .mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt, path) ⇒ objeto privado
- .mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ Objeto privado
-
.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(crypt, sign_rsaes_pkcs1_v1_5, ctx = nil) ⇒ booleano
privado
Establezca un enlace criptográfico para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256.
-
.mongocrypt_setopt_crypto_hooks(crypt, aes_enc_fn, aes_dec_fn, random_fn, sha_512_fn, sha_256_fn, hash_fn, ctx = nil) ⇒ Boolean
privado
Establecer hooks criptográficos en el objeto mongocrypt proporcionado.
- .mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ⇒ objeto privado
-
.mongocrypt_setopt_kms_providers(crypt, kms_providers) ⇒ Object
privado
Configure los proveedores de KMS con un documento BSON.
-
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nil) ⇒ Booleano
privado
Establece el gestor en el objeto mongocrypt_t para que se llame cada vez que libmongocrypt registre un mensaje.
- .mongocrypt_setopt_retry_kms(crypt, enable) ⇒ Object privado
-
mongocrypt_setopt_schema_map(crypt, schema_map) ⇒ Booleano
privado
Establece un mapa de esquema local para el cifrado.
- .mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, path) ⇒ objeto privado
- .mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ Object privado
-
.mongocrypt_status(crypt, status) ⇒ Booleano
privado
Establecer la información de estado del objeto mongocrypt_t en el objeto mongocrypt_status_t.
-
.mongocrypt_status_code(status) ⇒ Integer
privado
Devuelve el código de error de estado.
-
.mongocrypt_status_destroy(status) ⇒ nil
privado
Destruye la referencia al objeto mongocrypt_status_t.
-
.mongocrypt_status_message(status, len = nil) ⇒ String
privado
Devuelve el mensaje de estado.
-
.mongocrypt_status_new ⇒ FFI::Pointer
privado
Cree un nuevo objeto mongocrypt_status_t.
-
.mongocrypt_status_ok(estado) ⇒ Booleano
privado
Devuelve si el estado es correcto o un error.
-
.mongocrypt_status_set(estado, tipo, código, mensaje, longitud) ⇒ nil
privado
Establezca un mensaje, tipo y código en un estado existente.
-
.mongocrypt_status_type(status) ⇒ Symbol
privado
Indica el tipo de estatus.
-
.mongocrypt_version(len) ⇒ String
privado
Devuelve la string de versión de la librería libmongocrypt.
-
.ongocrypt_new ⇒ FFI::Pointer
privado
Crea un nuevo objeto mongocrypt_t.
-
.parse_version(version) ⇒ Gem::Version
privado
Dada una string que representa un número de versión, la convierte en un objeto Gem::Version.
-
.setopt_aes_256_ctr(handle, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ⇒ Objeto
privado
Configura un hash criptográfico para las operaciones AES256-CTR.
-
.setopt_append_crypt_shared_lib_search_path(handle, path) ⇒ Objeto
privado
Agrega un directorio de búsqueda adicional a la ruta de búsqueda para cargar la librería dinámica crypt_shared.
-
.setopt_bypass_query_analysis(handle) ⇒ Objecto
privado
Opta por omitir el análisis de query.
-
.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(gestionar, rsaes_pkcs_signature_cb) ⇒ Objeto
privado
Establece un hook de cifrado para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256 en el gestionar.
-
.setopt_crypto_hooks(handle, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) ⇒ Objeto
privado
Configura funciones de retorno criptográficas en el gestionar.
-
.setopt_encrypted_field_config_map(handle, efc_map) ⇒ Object
privado
Configura un EncryptedFieldConfigMap local para el cifrado.
-
.setopt_kms_providers(handle, kms_providers) ⇒ objeto
privado
Establece opciones de proveedores KMS en el objeto Mongo::Crypt::Handle.
-
.setopt_log_handler(handle, log_callback) ⇒ objeto
privado
Establece la función de retorno del registrador en el objeto Mongo::Crypt::Handle.
-
.setopt_schema_map(handle, schema_map_doc) ⇒ Object
privado
Configura el esquema map en el objeto Mongo::Crypt::Handle.
-
.setopt_set_crypt_shared_lib_path_override(handle, path) ⇒ Object
privado
Configura una sola ruta de anulación para cargar la librería compartida criptográfica.
-
.setopt_use_need_kms_credentials_state(handle) ⇒ Objeto
privado
Optar por manejar el estado de MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
-
.validate_document(data) ⇒ Object
privado
Verifica que los datos especificados sean un Hash antes de serializarlos a BSON para evitar errores de libmongocrypt.
-
.validate_version(lmc_version) ⇒ Object
privado
Valida si la versión proporcionada de libmongocrypt es válida, es decir,
Resumen del método de instancia colapsar
-
#mongocrypt_crypto_fn(ctx, key, iv, input, output, status) ⇒ Bool
privado
Una función de retorno a una función que realiza cifrado o descifrado AES.
-
#mongocrypt_hash_fn(ctx, input, output, status) ⇒ Bool
privado
Una función de retorno a una función hash SHA-256.
-
#mongocrypt_hmac_fn(ctx, key, input, output, status) ⇒ Bool
privado
Una función de retorno a una función que realiza HMAC SHA-512 o SHA-256.
-
#mongocrypt_log_fn_t(nivel, mensaje, longitud, ctx) ⇒ nil
privado
Una función de retorno a la función de registro mongocrypt.
-
#mongocrypt_random_fn(ctx, output, count, status) ⇒ Bool
privado
Una función de retorno a una función aleatoria segura desde el punto de vista criptográfico.
Detalles del método de clase
.check_ctx_status(context) ⇒ nil
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.
Levanta un Mongo::Error::CryptError según el estado del objeto mongocrypt_ctx_t subyacente.
1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1815 def sí mismo.check_ctx_status(context) do_raise = si ¿block_given? !rendimiento else true end return a menos que do_raise Estado = Estado.Nuevo mongocrypt_ctx_status(context.ctx_p, Estado.ref) Estado.raise_crypt_error end |
.check_kms_ctx_status(kms_context) ⇒ Object
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.
Si el bloque proporcionado devuelve falso, genera un error CryptError con la información de estado del objeto KmsContext proporcionado.
1105 1106 1107 1108 1109 1110 1111 1112 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1105 def sí mismo.check_kms_ctx_status(kms_context) return si rendimiento Estado = Estado.Nuevo mongocrypt_kms_ctx_status(kms_context.kms_ctx_p, Estado.ref) Estado.raise_crypt_error(KMS: true) end |
.check_status(gestionar) ⇒ nil
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.
Genera una excepción Mongo::Error::CryptError en función del estado del objeto subyacente mongocrypt_t.
1802 1803 1804 1805 1806 1807 1808 1809 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1802 def sí mismo.check_status(gestionar) return si rendimiento Estado = Estado.Nuevo mongocrypt_status(gestionar.ref, Estado.ref) Estado.raise_crypt_error end |
.crypt_shared_lib_version(handle) ⇒ Integer
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.
Obtenga una constante de 64bits que codifique la versión de la librería crypt_shared cargada, si está disponible.
La versión se codifica como cuatro números de 16bits, de mayor a menor:
- Versión principal
- Versión menor
- Revisión
- reservado
Por ejemplo, la versión 6.2.1 se codificaría como: 0x0006'0002'0001'0000
1608 1609 1610 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1608 def sí mismo.crypt_shared_lib_version(gestionar) mongocrypt_crypt_shared_lib_version(gestionar.ref) end |
.ctx_datakey_init(contexto) ⇒ 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.
Inicializa el Contexto para crear una clave de datos
623 624 625 626 627 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 623 def sí mismo.ctx_datakey_init(context) check_ctx_status(context) hacer mongocrypt_ctx_datakey_init(context.ctx_p) end end |
.ctx_decrypt_init(contexto, comando) ⇒ 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.
Inicializar el contexto para la autodecifrado
784 785 786 787 788 789 790 791 792 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 784 def sí mismo.ctx_decrypt_init(context, Comando) validate_document(Comando) Datos = Comando.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_decrypt_init(context.ctx_p, data_p) end end end |
.ctx_encrypt_init(contexto, db_name, command) ⟹ 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.
Inicializar el contexto para el auto-cifrado
690 691 692 693 694 695 696 697 698 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 690 def sí mismo.ctx_encrypt_init(context, db_name, Comando) validate_document(Comando) Datos = Comando.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_encrypt_init(context.ctx_p, db_name, -1, data_p) end end end |
.ctx_explicit_decrypt_init(context, doc) ⇒ Object
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.
Inicializar el contexto para el descifrado explícito
814 815 816 817 818 819 820 821 822 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 814 def sí mismo.ctx_explicit_decrypt_init(context, doc) validate_document(doc) Datos = doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_explicit_decrypt_init(context.ctx_p, data_p) end end end |
.ctx_explicit_encrypt_expression_init(context, doc) ⇒ Object
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.
Inicializa el Contexto para el cifrado explícito de expresiones.
758 759 760 761 762 763 764 765 766 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 758 def sí mismo.ctx_explicit_encrypt_expression_init(context, doc) validate_document(doc) Datos = doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_explicit_encrypt_expression_init(context.ctx_p, data_p) end end end |
.ctx_explicit_encrypt_init(context, doc) ⇒ Object
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.
Inicializar el Contexto para cifrado explícito
724 725 726 727 728 729 730 731 732 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 724 def sí mismo.ctx_explicit_encrypt_init(context, doc) validate_document(doc) Datos = doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_explicit_encrypt_init(context.ctx_p, data_p) end end end |
.ctx_finalize(contexto) ⇒ 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.
Finaliza la máquina de estados representada por el Contexto
1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1206 def sí mismo.ctx_finalize(context) Binario = Binario.Nuevo check_ctx_status(context) hacer mongocrypt_ctx_finalize(context.ctx_p, Binario.ref) end # TODO: dado que el binario hace referencia a un puntero C, y ByteBuffer es # escrito en C en MRI, podríamos omitir una copia de los datos al hacer # ByteBuffer hace referencia a la string que es propiedad de libmongocrypt. BSON::Documento.from_bson(BSON::ByteBuffer.Nuevo(Binario.to_s), moda: context.bson_mode) end |
.ctx_kms_done(context) ⇒ Object
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.
Indique a libmongocrypt que no recibirá más respuestas de KMS.
1183 1184 1185 1186 1187 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1183 def sí mismo.ctx_kms_done(context) check_ctx_status(context) hacer mongocrypt_ctx_kms_done(context.ctx_p) end end |
.ctx_mongo_feed(contexto, doc) ⇒ 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.
Alimenta una respuesta del driver de regreso a libmongocrypt
895 896 897 898 899 900 901 902 903 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 895 def sí mismo.ctx_mongo_feed(context, doc) validate_document(doc) Datos = doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_mongo_feed(context.ctx_p, data_p) end end end |
.ctx_mongo_op(context) ⇒ BSON::Document
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 un BSON::Document que representa una operación que el driver debe realizar en nombre de libmongocrypt para obtener la información que necesita para continuar con el cifrado/descifrado (por ejemplo, un filtro para una query en el key vault).
866 867 868 869 870 871 872 873 874 875 876 877 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 866 def sí mismo.ctx_mongo_op(context) Binario = Binario.Nuevo check_ctx_status(context) hacer mongocrypt_ctx_mongo_op(context.ctx_p, Binario.ref) end # TODO: dado que el binario hace referencia a un puntero C, y ByteBuffer es # escrito en C en MRI, podríamos omitir una copia de los datos al hacer # ByteBuffer hace referencia a la string que es propiedad de libmongocrypt. BSON::Documento.from_bson(BSON::ByteBuffer.Nuevo(Binario.to_s), moda: bson) end |
.ctx_next_kms_ctx(context) ⇒ Mongo::Crypt::KmsContext | nil
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 un nuevo objeto KmsContext necesario para un objeto Context.
927 928 929 930 931 932 933 934 935 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 927 def sí mismo.ctx_next_kms_ctx(context) kms_ctx_p = mongocrypt_ctx_next_kms_ctx(context.ctx_p) si kms_ctx_p.nulo? nulo else KmsContext.Nuevo(kms_ctx_p) end end |
.ctx_provide_kms_providers(context, kms_providers) ⇒ 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.
Llame en respuesta al estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS para establecer la configuración del proveedor KMS por contexto. Estos siguen el mismo formato que `mongocrypt_setopt_kms_providers``. Si no hay claves presentes en la entrada BSON, se usan la configuración del proveedor KMS configuradas para el mongocrypt_t durante la inicialización.
1681 1682 1683 1684 1685 1686 1687 1688 1689 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1681 def sí mismo.ctx_provide_kms_providers(context, kms_providers) validate_document(kms_providers) Datos = kms_providers.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_provide_kms_providers(context.ctx_p, data_p) end end end |
.ctx_rewrap_many_datakey_init(contexto, filtro) ⇒ 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.
Inicialice un contexto para volver a aplicar claves de datos.
654 655 656 657 658 659 660 661 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 654 def sí mismo.ctx_rewrap_many_datakey_init(context, filtro) filter_data = filtro.to_bson.to_s Binario.wrap_string(filter_data) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_rewrap_many_datakey_init(context.ctx_p, data_p) end end end |
.ctx_setopt_algorithm(context, name) ⇒ Object
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.
Configurar el algoritmo en el contexto
567 568 569 570 571 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 567 def sí mismo.ctx_setopt_algorithm(context, Nombre) check_ctx_status(context) hacer mongocrypt_ctx_setopt_algorithm(context.ctx_p, Nombre, -1) end end |
.ctx_setopt_algorithm_range(contexto, opciones) ⇒ 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.
El algoritmo de rango es únicamente experimental. No está destinado para
Configuración de opciones para el cifrado explícito con el algoritmo "rango".
uso público.
1788 1789 1790 1791 1792 1793 1794 1795 1796 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1788 def sí mismo.ctx_setopt_algorithm_range(context, opciones) validate_document(opciones) Datos = opciones.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_algorithm_range(context.ctx_p, data_p) end end end |
.ctx_setopt_contention_factor(contexto, factor) ⇒ 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.
Establece el factor de contención utilizado para el cifrado explícito. El factor de contención solo se utiliza para el cifrado FLE indexado 2.
1751 1752 1753 1754 1755 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1751 def sí mismo.ctx_setopt_contention_factor(context, factor) check_ctx_status(context) hacer mongocrypt_ctx_setopt_contention_factor(context.ctx_p, factor) end end |
.ctx_setopt_key_alt_names(context, key_alt_names) ⇒ 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.
Establecer varios nombres de clave alternativos en la creación de clave de datos
498 499 500 501 502 503 504 505 506 507 508 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 498 def sí mismo.ctx_setopt_key_alt_names(context, clave_nombres_alternativos) clave_nombres_alternativos.cada hacer |key_alt_name| BSON = { keyAltName: key_alt_name }.to_bson.to_s Binario.wrap_string(BSON) hacer |key_alt_name_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_key_alt_name(context.ctx_p, key_alt_name_p) end end end end |
.ctx_setopt_key_encryption_key(contexto, documento_clave) ⇒ 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.
Establece el documento de clave de cifrado de clave para crear una clave de datos.
596 597 598 599 600 601 602 603 604 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 596 def sí mismo.ctx_setopt_key_encryption_key(context, Documento clave) validate_document(Documento clave) Datos = Documento clave.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_key_encryption_key(context.ctx_p, data_p) end end end |
.ctx_setopt_key_id(context, key_id) ⇒ Object
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.
Establece la opción ID de clave en un contexto de cifrado explícito.
465 466 467 468 469 470 471 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 465 def sí mismo.ctx_setopt_key_id(context, key_id) Binario.wrap_string(key_id) hacer |key_id_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_key_id(context.ctx_p, key_id_p) end end end |
.ctx_setopt_key_material(contexto, key_material) ⇒ 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.
Establece un material clave personalizado para usar en el cifrado de datos.
533 534 535 536 537 538 539 540 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 533 def sí mismo.ctx_setopt_key_material(context, material de clave) Datos = { 'keyMaterial' => material de clave }.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_key_material(context.ctx_p, data_p) end end end |
.ctx_setopt_query_type(context, query_type) ⇒ Object
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.
Establece el tipo de query que se utilizará para el cifrado explícito de FLE 2. El tipo de query solo se utiliza para el cifrado FLE indexado 2.
1719 1720 1721 1722 1723 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1719 def sí mismo.ctx_setopt_query_type(context, query_type) check_ctx_status(context) hacer mongocrypt_ctx_setopt_query_type(context.ctx_p, query_type, -1) end end |
get_binary_data_direct(mongocrypt_binary_t) ⇒ 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.
179 180 181 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 179 def sí mismo.get_binary_data_direct(mongocrypt_binary_t) mongocrypt_binary_t.get_pointer(0) end |
.get_binary_len_direct(mongocrypt_binary_t) ⇒ 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.
183 184 185 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 183 def sí mismo.get_binary_len_direct(mongocrypt_binary_t) mongocrypt_binary_t.get_uint32(FFI::NativeType::APUNTADOR.Tamaño) end |
.init(handle) ⇒ 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.
Inicializar el objeto Mongo::Crypt::Handle
405 406 407 408 409 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 405 def sí mismo.init(gestionar) check_status(gestionar) hacer mongocrypt_init(gestionar.ref) end end |
.kms_ctx_bytes_needed(kms_context) ⇒ Integer
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.
Obtener el número de bytes necesarios para el KmsContext.
1061 1062 1063 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1061 def sí mismo.kms_ctx_bytes_needed(kms_context) mongocrypt_kms_ctx_bytes_needed(kms_context.kms_ctx_p) end |
.kms_ctx_endpoint(kms_context) ⇒ String | nil
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.
Obtén el nombre del host con el cual conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1037 def sí mismo.kms_ctx_endpoint(kms_context) ptr = FFI::MemoryPointer.Nuevo(puntero, 1) check_kms_ctx_status(kms_context) hacer mongocrypt_kms_ctx_endpoint(kms_context.kms_ctx_p, ptr) end str_ptr = ptr.read_pointer str_ptr.nulo? ? nulo : str_ptr.read_string.force_encoding('UTF-8') end |
.kms_ctx_fail(kms_context) ⇒ true, false
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.
Compruebe si la última solicitud fallida para el contexto KMS puede volver a intentarse.
1146 1147 1148 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1146 def sí mismo.kms_ctx_fail(kms_context) mongocrypt_kms_ctx_fail(kms_context.kms_ctx_p) end |
.kms_ctx_feed(kms_context, bytes) ⇒ Object
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 las respuestas del KMS a libmongocrypt.
1081 1082 1083 1084 1085 1086 1087 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1081 def sí mismo.kms_ctx_feed(kms_context, bytes) check_kms_ctx_status(kms_context) hacer Binario.wrap_string(bytes) hacer |bytes_p| mongocrypt_kms_ctx_feed(kms_context.kms_ctx_p, bytes_p) end end end |
.kms_ctx_get_kms_provider(kms_context) ⇒ 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.
Obtén el identificador del proveedor de KMS asociado con esta solicitud de KMS.
Esto se utiliza para configurar de forma condicional las conexiones TLS en función de la solicitud de KMS. Es útil para KMIP, que se autentica con un certificado de cliente.
968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 968 def sí mismo.kms_ctx_get_kms_provider(kms_context) len_ptr = FFI::MemoryPointer.Nuevo(:uint32, 1) Proveedor = mongocrypt_kms_ctx_get_kms_provider( kms_context.kms_ctx_p, len_ptr ) si len_ptr.nil? nulo else len = si BSON::Entorno.jruby? # La implementación de FFI de JRuby no tiene el método `read(type)`, pero sí # tiene este `get_uint32`. len_ptr.get_uint32 else # Para MRI usamos un método documentado `read` - https://www.rubydoc.info/github/ffi/ffi/FFI%2FPointer:read len_ptr.Lea(:uint32) end Proveedor.read_string(len).to_sym end end |
.kms_ctx_message(kms_context) ⇒ String
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.
Obtenga el mensaje HTTP necesario para obtener la clave maestra de AWS KMS de un objeto KmsContext.
1008 1009 1010 1011 1012 1013 1014 1015 1016 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1008 def sí mismo.(kms_context) Binario = Binario.Nuevo check_kms_ctx_status(kms_context) hacer (kms_context.kms_ctx_p, Binario.ref) end Binario.to_s end |
.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale
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.
Habilitar o deshabilitar el comportamiento de reintento de KMS.
1165 1166 1167 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1165 def sí mismo.kms_ctx_setopt_retry_kms(gestionar, Valor) mongocrypt_setopt_retry_kms(gestionar.ref, Valor) end |
.kms_ctx_usleep(kms_context) ⇒ Integer
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 el número de milisegundos que se deben esperar antes de enviar la solicitud de KMS para el contexto de KMS dado.
1129 1130 1131 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1129 def sí mismo.kms_ctx_usleep(kms_context) mongocrypt_kms_ctx_usleep(kms_context.kms_ctx_p) end |
.mongocrypt_binary_data(binary) ⇒ 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.
Obtén el puntero a los datos subyacentes para el mongocrypt_binary_t.
169 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 169 attach_function :mongocrypt_binary_data, [ puntero ], puntero |
.mongocrypt_binary_destroy(binario) ⇒ nil
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.
Destruye el objeto mongocrypt_binary_t.
193 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 193 attach_function destroy_binary_mongocrypt, [ puntero ], :void |
.mongocrypt_binary_len(binario) ⇒ Entero
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.
Obtén la longitud del arreglo de datos subyacente.
177 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 177 attach_function mongocrypt_binary_len, [ puntero ], :int |
.mongocrypt_binary_new ⇒ 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.
Crea un nuevo objeto mongocrypt_binary_t (una vista no propietaria de un arreglo de bytes).
145 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 145 attach_function mongocrypt_binary_new, [], puntero |
.mongocrypt_binary_new_from_data(data, len) ⇒ 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.
Crea un nuevo objeto mongocrypt_binary_t que mantenga un puntero al arreglo de bytes especificado.
157 158 159 160 161 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 157 attach_function( mongocrypt_binary_new_from_data, %i[puntero Int], puntero ) |
.mongocrypt_crypt_shared_lib_version(crypt) ⇒ 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.
1586 1587 1588 1589 1590 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1586 attach_function( :mongocrypt_crypt_shared_lib_version, [ puntero ], :uint64 ) |
.mongocrypt_ctx_datakey_init(ctx, filter) ⇒ 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.
616 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 616 attach_function :mongocrypt_ctx_datakey_init, [ puntero ], :bool |
.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean
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.
Inicializa el ctx para la descifrado automático.
776 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 776 attach_function mongocrypt_ctx_decrypt_init, %i[puntero puntero], :bool |
.mongocrypt_ctx_destroy(ctx) ⇒ nil
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.
Destruye la referencia al objeto mongocrypt_ctx_t.
1225 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1225 attach_function :mongocrypt_ctx_destroy, [ puntero ], :void |
.mongocrypt_ctx_encrypt_init(ctx, db, db_len, cmd) ⇒ Boolean
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.
Este método espera que el BSON pasado esté en el formato: { "v": BSON valor a descifrar }.
Inicializa el ctx para el cifrado automático.
676 677 678 679 680 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 676 attach_function( :mongocrypt_ctx_encrypt_init, %i[puntero string Int puntero], :bool ) |
.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean
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.
Inicializa el ctx para una descifrado explícito.
802 803 804 805 806 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 802 attach_function( mongocrypt_ctx_explicit_decrypt_init, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean
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.
Antes de llamar a este método, debe ser configurar un key_id, key_alt_name (opcional) y un algoritmo de cifrado utilizando los siguientes métodos: mongocrypt_ctx_setopt_key_id, mongocrypt_ctx_setopt_key_alt_name y mongocrypt_ctx_setopt_algorithm.
Inicializa el ctx para el cifrado explícito de expresiones.
712 713 714 715 716 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 712 attach_function( :mongocrypt_ctx_explicit_encrypt_init, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_finalize(ctx, op_bson) ⇒ 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.
Realice el cifrado o descifrado final y devuelva un documento BSON.
1198 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1198 attach_function :mongocrypt_ctx_finalize, %i[puntero puntero], :void |
.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean
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.
Indique a libmongocrypt que el driver terminó de enviar respuestas.
911 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 911 attach_function :mongocrypt_ctx_mongo_done, [ puntero ], :bool |
.mongocrypt_ctx_mongo_feed(ctx, reply) ⇒ 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.
Inyecta una respuesta BSON a libmongocrypt.
887 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 887 attach_function mongo_feed_ctx_mongocrypt, %i[puntero puntero], :bool |
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ⇒ 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 un puntero a un objeto mongocrypt_kms_ctx_t o NULL.
919 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 919 attach_function :mongocrypt_ctx_next_kms_ctx, [ puntero ], puntero |
.mongocrypt_ctx_mongo_op(ctx, op_bson) ⇒ 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.
Obtén una operación BSON para que el controlador la ejecute en la colección de MongoDB, en la base de datos Key Vault o en mongocryptd.
855 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 855 attach_function :mongocrypt_ctx_mongo_op, %i[puntero puntero], :bool |
.mongocrypt_ctx_new(crypt) ⇒ 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.
Crea un nuevo objeto mongocrypt_ctx_t (un contenedor para la máquina de estados libmongocrypt).
436 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 436 attach_function :mongocrypt_ctx_new, [ puntero ], puntero |
.mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ Object
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.
1664 1665 1666 1667 1668 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1664 attach_function( mongocrypt_ctx_provide_kms_providers, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_setopt_algorithm(ctx, algoritmo, len) ⇒ 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.
No inicialices ctx antes de llamar a este método.
Establezca el algoritmo utilizado para el cifrado explícito.
553 554 555 556 557 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 553 attach_function( :mongocrypt_ctx_setopt_algorithm, %i[puntero string Int], :bool ) |
.mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ⇒ Object
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.
1770 1771 1772 1773 1774 1775 1776 1777 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1770 attach_function( Contexto: :mongocrypt_ctx_setopt_algorithm_range, %i[ puntero puntero ], :bool ) |
.mongocrypt_ctx_setopt_contention_factor(ctx, contention_factor) ⇒ 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.
1735 1736 1737 1738 1739 1740 1741 1742 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1735 attach_function( mongocrypt_ctx_setopt_contention_factor, %i[ puntero int64 ], :bool ) |
.mongocrypt_ctx_setopt_key_alt_name(ctx, binario) ⇒ 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.
No inicialices ctx antes de llamar a este método.
Al crear una clave de datos, establezca un nombre alternativo para esa clave. Cuando se realice cifrado explícito, especificar qué clave de datos se debe utilizar para el cifrado según su campo keyAltName.
485 486 487 488 489 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 485 attach_function( set_key(nombre_alternativo), %i[puntero puntero], :bool ) |
.mongocrypt_ctx_setopt_key_encryption_key(ctx) ⇒ 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.
No inicialices ctx antes de llamar a este método.
Establece el documento de clave de cifrado de clave para crear una clave de datos.
583 584 585 586 587 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 583 attach_function( :mongocrypt_ctx_setopt_key_encryption_key, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean
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.
No inicialices ctx antes de llamar a este método.
Configurá el id de clave que se usará para el cifrado explícito.
457 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 457 attach_function :mongocrypt_ctx_setopt_key_id, %i[puntero puntero], :bool |
.mongocrypt_ctx_setopt_key_material(ctx, binary) ⇒ 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.
No inicialices ctx antes de llamar a este método.
Al crear una clave de datos, establezca un material clave personalizado para cifrar datos.
520 521 522 523 524 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 520 attach_function( :mongocrypt_ctx_setopt_key_material, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ 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.
1702 1703 1704 1705 1706 1707 1708 1709 1710 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1702 attach_function( mongocrypt_ctx_setopt_query_type, %i[ puntero string Int ], :bool ) |
.mongocrypt_ctx_state(ctx) ⇒ Símbolo
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.
Obtenga el estado actual del ctx.
843 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 843 attach_function mongocrypt_ctx_state, [ puntero ], mongocrypt_ctx_state |
.mongocrypt_ctx_status(ctx, status) ⇒ 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.
Establezca la información de estado desde el objeto mongocrypt_ctx_t en el objeto mongocrypt_status_t.
446 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 446 attach_function :mongocrypt_ctx_status, %i[puntero puntero], :bool |
.mongocrypt_destroy(crypt) ⇒ nil
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.
Destruye la referencia del objeto mongocrypt_t.
427 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 427 attach_function : mongocrypt_destroy, [ puntero ], :void |
.mongocrypt_init(crypt) ⇒ 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.
Inicializa el objeto mongocrypt_t.
398 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 398 attach_function mongocrypt_init, [ puntero ], :bool |
.mongocrypt_kms_ctx_bytes_needed(kms) ⇒ Integer
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.
Obtenga el número de bytes necesarios para el contexto KMS.
1054 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1054 attach_function :mongocrypt_kms_ctx_bytes_needed, [ puntero ], :int |
.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean
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.
Indique a libmongocrypt que no recibirá más respuestas de los objetos mongocrypt_kms_ctx_t.
1176 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1176 attach_function :mongocrypt_ctx_kms_done, [ puntero ], :bool |
.mongocrypt_kms_ctx_endpoint(kms, endpoint) ⇒ 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.
Obtén el nombre del host con el cual conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
1027 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1027 attach_function Punto final de :mongocrypt_kms_ctx, %i[puntero puntero], :bool |
.mongocrypt_kms_ctx_fail(ctx) ⇒ Object
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.
1140 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1140 attach_function Falló el contexto KMS de mongocrypt (:mongocrypt_kms_ctx_fail), [ puntero ], :bool |
.mongocrypt_kms_ctx_feed(kms, bytes) ⇒ 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.
Devuelve las respuestas del KMS a libmongocrypt.
1073 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1073 attach_function :mongocrypt_kms_ctx_feed, %i[puntero puntero], :bool |
.mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ 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.
953 954 955 956 957 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 953 attach_function( mongocrypt_kms_ctx_get_kms_provider, %i[puntero puntero], puntero ) |
.mongocrypt_kms_ctx_message(kms, msg) ⇒ 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.
Obtenga el mensaje necesario para obtener la clave maestra de AWS KMS.
998 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 998 attach_function mensaje_kms_ctx, %i[puntero puntero], :bool |
.mongocrypt_kms_ctx_status(kms, status) ⇒ 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.
Escribe información de estado sobre el objeto mongocrypt_kms_ctx_t en el objeto mongocrypt_status_t.
1097 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1097 attach_function estado_ctx_kms, %i[puntero puntero], :bool |
.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64
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.
Indica cuánto tiempo debe esperar antes de enviar la solicitud de KMS.
1121 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1121 attach_function :mongocrypt_kms_ctx_usleep, [ puntero ], {:int64 |
.mongocrypt_setopt_aes_256_ctr(crypt, aes_256_ctr_encrypt, aes_256_ctr_decrypt, ctx) ⇒ 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.
Configura un hash criptográfico para las operaciones AES256-CTR.
1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1482 attach_function( :mongocrypt_setopt_aes_256_ctr, %i[ puntero mongocrypt_crypto_fn mongocrypt_crypto_fn puntero ], :bool ) |
.mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt, path) ⇒ 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.
1519 1520 1521 1522 1523 1524 1525 1526 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1519 attach_function( mongocrypt_setopt_append_crypt_shared_lib_search_path, %i[ puntero string ], :void ) |
.mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ 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.
1458 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1458 attach_function(mongocrypt_setopt_bypass_query_analysis, [ puntero ], :void) |
.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(crypt, sign_rsaes_pkcs1_v1_5, ctx = nil) ⇒ 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.
Establezca un enlace criptográfico para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256.
1375 1376 1377 1378 1379 1380 1381 1382 1383 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1375 attach_function( mongo cript: set opt crypto hook sign rsaes pkcs1_v1_5, %i[ puntero mongocrypt_hmac_fn puntero ], :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
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.
Establecer hooks criptográficos en el objeto mongocrypt proporcionado.
1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1330 attach_function( mongocrypt_setopt_crypto_hooks, %i[ puntero mongocrypt_crypto_fn mongocrypt_crypto_fn mongocrypt_random_fn mongocrypt_hmac_fn mongocrypt_hmac_fn mongocrypt_hash_fn puntero ], :bool ) |
.mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ⇒ Object
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.
1417 1418 1419 1420 1421 1422 1423 1424 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1417 attach_function( mongocrypt_setopt_encrypted_field_config_map, %i[ puntero puntero ], :bool ) |
.mongocrypt_setopt_kms_providers(crypt, kms_providers) ⇒ Object
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.
No inicialices ctx antes de llamar a este método.
Configure los proveedores de KMS con un documento BSON.
342 343 344 345 346 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 342 attach_function( :mongocrypt_setopt_kms_providers, %i[puntero puntero], :bool ) |
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nil) ⇒ 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.
Establece el gestor en el objeto mongocrypt_t para que se llame cada vez que libmongocrypt registre un mensaje.
313 314 315 316 317 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 313 attach_function( :mongocrypt_setopt_log_handler, %i[puntero mongocrypt_log_fn_t puntero], :bool ) |
.mongocrypt_setopt_retry_kms(crypt, enable) ⇒ 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.
1158 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1158 attach_function mongocrypt_setopt_retry_kms, %i[puntero bool], :bool |
.mongocrypt_setopt_schema_map(crypt, schema_map) ⇒ 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.
Establece un mapa de esquema local para el cifrado.
373 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 373 attach_function :mongocrypt_setopt_schema_map, %i[puntero puntero], :bool |
.mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, path) ⇒ Object
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.
1548 1549 1550 1551 1552 1553 1554 1555 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1548 attach_function( ~:mongocrypt_setopt_set_crypt_shared_lib_path_override, %i[ puntero string ], :void ) |
.mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ 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.
1627 1628 1629 1630 1631 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1627 attach_function( :mongocrypt_setopt_use_need_kms_credentials_state, [ puntero ], :void ) |
.mongocrypt_status(crypt, status) ⇒ 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.
Establecer la información de estado del objeto mongocrypt_t en el objeto mongocrypt_status_t.
419 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 419 attach_function :mongocrypt_status, %i[puntero puntero], :bool |
.mongocrypt_status_code(status) ⇒ Integer
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 el código de error de estado.
241 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 241 attach_function :mongocrypt_status_code, [ puntero ], :int |
.mongocrypt_status_destroy(status) ⇒ nil
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.
Destruye la referencia al objeto mongocrypt_status_t.
267 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 267 attach_function :mongocrypt_status_destroy, [ puntero ], :void |
.mongocrypt_status_message(status, len = nil) ⇒ String
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 el mensaje de estado.
251 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 251 attach_function mensaje_estado_mongocrypt, %i[puntero puntero], cadena |
.mongocrypt_status_new ⇒ 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.
Cree un nuevo objeto mongocrypt_status_t.
207 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 207 attach_function :mongocrypt_status_new, [], puntero |
.mongocrypt_status_ok(status) ⇒ 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.
Devuelve si el estado es correcto o un error.
259 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 259 attach_function :mongocrypt_status_ok, [ puntero ], :bool |
.mongocrypt_status_set(estado, tipo, código, mensaje, longitud) ⇒ nil
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.
Establezca un mensaje, tipo y código en un estado existente.
221 222 223 224 225 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 221 attach_function( :mongocrypt_status_set, %i[puntero status_type Int string Int], :void ) |
.mongocrypt_status_type(status) ⇒ Symbol
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.
Indica el tipo de estatus.
233 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 233 attach_function :mongocrypt_status_type, [ puntero ], :status_type |
.mongocrypt_version(len) ⇒ String
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 string de versión de la librería libmongocrypt.
93
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 93 attach_function :mongocrypt_version, [ puntero ], cadena |
.ongocrypt_new ⇒ 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.
Crea un nuevo objeto mongocrypt_t.
301 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 301 attach_function mongocrypt_new(), [], puntero |
.parse_version(version) ⇒ Gem::Version
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.
Dada una string que representa un número de versión, la analiza en un objeto Gem::Version. Esto gestiona el caso en el que el string no esté en un formato compatible con Gem::Version mediante el uso de la interpretación personalizada.
106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 106 def sí mismo.parse_version(Versión) Gem::Versión.Nuevo(Versión) rescate ArgumentError coincidencia = Versión.coincidencia(/\A(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)?(-[A-Za-z+\d]+)?\z/) propagar ArgumentError.Nuevo("Malformed version number string #{version}") si coincidencia.nil? Gem::Versión.Nuevo( [ coincidencia[mayor], coincidencia[Menor], coincidencia[Parche] ].unirse('.') ) end |
.setopt_aes_256_ctr(handle, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ⇒ 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.
Configura un hash criptográfico para las operaciones AES256-CTR.
1500 1501 1502 1503 1504 1505 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1500 def sí mismo.setopt_aes_256_ctr(gestionar, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) check_status(gestionar) hacer mongocrypt_setopt_aes_256_ctr(gestionar.ref, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb, nulo) end end |
.setopt_append_crypt_shared_lib_search_path(handle, path) ⇒ 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.
Agrega un directorio de búsqueda adicional a la ruta de búsqueda para cargar la librería dinámica crypt_shared.
1533 1534 1535 1536 1537 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1533 def sí mismo.setopt_append_crypt_shared_lib_search_path(gestionar, ruta) check_status(gestionar) hacer mongocrypt_setopt_append_crypt_shared_lib_search_path(gestionar.ref, ruta) end end |
.setopt_bypass_query_analysis(handle) ⇒ 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.
Opta por omitir el análisis de query.
Si eliges participar:
- La librería compartida csfle no intentará cargarse.
- Un mongocrypt_ctx_t nunca ingresará al estado MONGOCRYPT_CTX_NEED_MARKINGS.
1467 1468 1469 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1467 def sí mismo.setopt_bypass_query_analysis(gestionar) mongocrypt_setopt_bypass_query_analysis(gestionar.ref) end |
.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(gestionar, rsaes_pkcs_signature_cb) ⇒ 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.
Establece un hook de cifrado para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256 en el gestionar.
1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1392 def sí mismo.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5( gestionar, rsaes_pkcs_firma_cb ) check_status(gestionar) hacer mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5( gestionar.ref, rsaes_pkcs_firma_cb, nulo ) 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) ⇒ 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.
Configura las devoluciones de llamada criptográficas en el Handle
1356 1357 1358 1359 1360 1361 1362 1363 1364 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1356 def sí mismo.setopt_crypto_hooks(gestionar, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) check_status(gestionar) hacer mongocrypt_setopt_crypto_hooks(gestionar.ref, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb, nulo) end end |
.setopt_encrypted_field_config_map(handle, efc_map) ⇒ 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.
Configura un EncryptedFieldConfigMap local para el cifrado.
1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1435 def sí mismo.setopt_encrypted_field_config_map(gestionar, efc_map) validate_document(efc_map) Datos = efc_map.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(gestionar) hacer mongocrypt_setopt_encrypted_field_config_map( gestionar.ref, data_p ) end end end |
.setopt_kms_providers(handle, kms_providers) ⇒ Object
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.
Establezca las opciones de proveedores de KMS en el objeto Mongo::Crypt::Handle
355 356 357 358 359 360 361 362 363 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 355 def sí mismo.setopt_kms_providers(gestionar, kms_providers) validate_document(kms_providers) Datos = kms_providers.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(gestionar) hacer mongocrypt_setopt_kms_providers(gestionar.ref, data_p) end end end |
.setopt_log_handler(handle, log_callback) ⇒ 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.
Establezca la función de retorno del registrador en el objeto Mongo::Crypt::gestionar
325 326 327 328 329 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 325 def sí mismo.setopt_log_handler(gestionar, log_callback) check_status(gestionar) hacer mongocrypt_setopt_log_handler(gestionar, log_callback, nulo) end end |
.setopt_schema_map(handle, schema_map_doc) ⇒ Object
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.
Establezca el mapa del esquema en el objeto Mongo::Crypt::Handle
382 383 384 385 386 387 388 389 390 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 382 def sí mismo.setopt_schema_map(gestionar, schema_map_doc) validate_document(schema_map_doc) Datos = schema_map_doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(gestionar) hacer mongocrypt_setopt_schema_map(gestionar.ref, data_p) end end end |
.setopt_set_crypt_shared_lib_path_override(handle, path) ⇒ 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.
Configura una sola ruta de anulación para cargar la librería compartida criptográfica.
1561 1562 1563 1564 1565 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1561 def sí mismo.setopt_set_crypt_shared_lib_path_override(gestionar, ruta) check_status(gestionar) hacer mongocrypt_setopt_set_crypt_shared_lib_path_override(gestionar.ref, ruta) end end |
.setopt_use_need_kms_credentials_state(handle) ⇒ 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.
Optar por manejar el estado de MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
Si se configura, antes de ingresar al estado MONGOCRYPT_CTX_NEED_KMS, los contextos pueden ingresar al estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS y luego esperar a que se proporcionen las credenciales a través de mongocrypt_ctx_provide_kms_providers.
Un contexto solo ingresará a MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS si se ha establecido un documento vacío para un proveedor de KMS en mongocrypt_setopt_kms_providers.
1645 1646 1647 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1645 def sí mismo.setopt_use_need_kms_credentials_state(gestionar) mongocrypt_setopt_use_need_kms_credentials_state(gestionar.ref) end |
.validate_document(data) ⇒ Object
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.
Todas las instancias de BSON::Document también son instancias de Hash
Verifica que los datos especificados sean un Hash antes de serializarlos a BSON para evitar errores de libmongocrypt
1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1838 def sí mismo.validate_document(Datos) return si Datos.is_a?(encriptada) = si Datos.nil? 'Se intentó pasar datos nulos a libmongocrypt. ' + 'Los datos deben ser un hash' else "Se intentó pasar datos no válidos a libmongocrypt: #{data} " + 'Los datos deben ser un hash' end propagar Error::CryptError.Nuevo() end |
.validate_version(lmc_version) ⇒ Object
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.
Valida si la versión proporcionada de libmongocrypt es válida, es decir, igual o mayor que la versión mínima requerida. Lanza un LoadError si no.
129 130 131 132 133 134 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 129 def sí mismo.validate_version(lmc_version) si (actual_version = parse_version(lmc_version)) < MIN_LIBMONGOCRYPT_VERSION propagar LoadError, "libmongocrypt versión #{MIN_LIBMONGOCRYPT_VERSION} o superior es requerido, " + "pero se encontró la versión #{actual_version}." end end |
Detalles del método de instancia
#mongocrypt_crypto_fn(ctx, key, iv, input, output, status) ⇒ Bool
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.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función que realiza cifrado o descifrado AES.
1248 1249 1250 1251 1252 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1248 función de retorno( :mongocrypt_crypto_fn, %i[puntero puntero puntero puntero puntero puntero puntero], :bool ) |
#mongocrypt_hash_fn(ctx, input, output, status) ⇒ Bool
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.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función hash SHA-256.
1296 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1296 función de retorno función de hash :mongocrypt_hash_fn, %i[puntero puntero puntero puntero], :bool |
#mongocrypt_hmac_fn(ctx, key, input, output, status) ⇒ Bool
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.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función que realiza HMAC SHA-512 o SHA-256.
1273 1274 1275 1276 1277 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1273 función de retorno( :mongocrypt_hmac_fn, %i[puntero puntero puntero puntero puntero], :bool ) |
#mongocrypt_log_fn_t(level, message, len, ctx) ⇒ nil
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.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a la función de registro mongocrypt. Configura una función de retorno de registro personalizada con el método mongocrypt_setopt_log_handler
294 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 294 función de retorno :mongocrypt_log_fn_t, %i[nivel_de_log string Int puntero], :void |
#mongocrypt_random_fn(ctx, output, count, status) ⇒ Bool
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.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función aleatoria segura desde el punto de vista criptográfico.
1314 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1314 función de retorno :mongocrypt_random_fn, %i[puntero puntero Int puntero], :bool |